如何使用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 文件是必须放在网站根目录里,如果你的网址是******.com 是可以读取到的。
网址位置:
http://******.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文件时,会去理解文件内容,不会禁止全部目录的爬取。