如何使用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文件时,会去理解文件内容,不会禁止全部目录的爬取。

 

如果想只想要一网页部被抓取检索请参考(使用标籤来阻挡搜索蜘蛛检索网页)

发表回复

后才能评论