如何使用robots.txt阻止搜索引擎爬(抓取)你的网站?
为了你的网站可以被别人搜索到,搜索引擎爬虫,有时也称为搜索机器人(bots)或是搜索蜘蛛(spiders),会爬取你的网站,搜索有变动的内容并且重新更新搜索引擎的搜索检索。
如何用robts.txt 这个档案去控制搜索蜘蛛
网站站长可以使用robots.txt这个文件,来指导搜索蜘蛛应该如何爬取这个网站,当搜索引擎爬取网站时,会先读取robots.tx 文件,并且依照规则爬取网站。
※ robots.txt 规则虽然是重要的,但是搜索机器人不一定会遵守 robot.txt 规则,它只是一个执行方针。
※ 以Google而言,要设定Crawl-delay,是必须在Google管理工具裡设定。
※ 对于浮滥爬取你的网站的劣质搜索蜘蛛,应该研究如何凭藉.htaccess裡的User-agent去阻挡不好的搜索蜘蛛。
编辑与创建robots.txt 文件
Robots.txt 文件是必须放在网站根目录裡,如果你的网址是example.com 是可以读取到的。
网址位置:
http://example.com/robots.txt
服务器位置:
/home/userna5/public_html/robots.txt
如果没有这个档案的话,你可以使用纯文件档案建立一个新的robots.txt文件。
搜索引擎的使用者代理
以搜索引擎蜘蛛的User-agent来说,使用robots.txt文件来控制,是最普通的规范方式。
当搜索蜘蛛爬取网站时,他们会以使用者代理User-agent来识别、以下提供些参考范例
前三名美国最常发现的搜索引擎使用者代理:
Googlebot
Yahoo! Slurp
bingbot
最常被阻挡的搜索引擎使用者代理:
AhrefsBot
Baiduspider
Ezooms
MJ12bot
YandexBot
搜索引擎蜘蛛是会以robots.txt文件规则来抓取网站
robots.txt 文件有许多的规则,可以控制搜索蜘蛛如何爬取你得网站。
User-agent:可以具体指定哪一个User-agent是适用的,如*是万用搭配于全部的User-agent。
Disallow:设定档案或是资料夹,不允许被搜索蜘蛛爬取。
设定全部搜索引擎延迟爬取
如果你的网站有1000页,搜索蜘蛛可能在几分钟内检索全部的网站,然而这有可能导致系统资源使用过度,在短时间内让全部的网页超过负荷,导致网页无法浏览。
延迟30秒的时间,将允许搜索蜘蛛在8.3小时内检索1000张网页。
延迟500秒的时间,将允许搜索蜘蛛在5.8天内检索1000张网页。
你也可以设定Crawl-delay:所有的搜索蜘蛛立即搜索。
User-agent: *
Crawl-delay: 30
允许搜索蜘蛛爬取全部网站
在预设空白情况下,搜索引擎蜘蛛还是会爬取你的网站,不过你还是可以指定它是允许的。
User-agent: *
Disallow:
不允许搜索蜘蛛爬取全部网站
User-agent: *
Disallow: /
不允许搜索蜘蛛爬取特定一个网站
你可以运用这些规则,不允许特定的搜索引擎蜘蛛爬取你的网站。
User-agent: Baiduspider
Disallow: /
不允许全部搜索蜘蛛爬取特定的档案
如果有些档案如contactus.htm, index.htm, 或是store.htm我们不想要搜索蜘蛛爬取,我可以使用:
User-agent: *
Disallow: /contactus.htm
Disallow: /index.htm
Disallow: /store.htm
除了指定的以外,不允许全部搜索蜘蛛爬取
如果我们只想让Googlebot爬取我们的/private/目录,但是不允许其他搜索蜘蛛爬取,我们可以这样使用:
User-agent: *
Disallow: /
User-agent: Googlebot
Disallow: /private/
当Googlebot读取我的robots.txt文件时,会去理解文件内容,不会禁止全部目录的爬取。
如果想只想要一网页部被抓取检索请参考(使用标籤来阻挡搜索蜘蛛检索网页)