如何创建符合谷歌新标准的robots.txt 文件

近日,谷歌宣布更新了robots.txt 文件格式,并提醒站长们有些旧规则已不再适用。因此RANKtoo整理了这篇文章供大家参考。

谷歌针对以下几方面有了新的界定:

1. Robots.txt文件存放地址

此文件必须存放于该网站的根目录下。如http://example.com/folder/robots.txt 就不是个有效的文件,谷歌爬虫不会查看在子目录下的robots.txt 文件。除了HTTP谷歌同样接受和遵循 FTP 网站的 robots.txt 文件。

2. 文件格式与文件大小

谷歌要求的文件格式是 UTF-8 编码的纯文本,文件大小不超过500 Kib

3. 处理HTTP结果代码的方式

当robots.txt 文件的链接返回不同结果代码时(如3xx, 4xx, 5xx等),谷歌会有不同的处理方式。

4. 如何匹配URL以及有效范围

如:User-agent: *

Disallow: /calendar/

Disallow: /junk/

表示禁止抓取某一目录及其内容。

又如:User-agent: Googlebot

Disallow: /*.gif$

表示禁止抓取某一特定类型的文件。(例如.gif)

为什么要给网站建立一个robots.txt文件?

1. 充分利用网站的抓取预算。禁止抓取那些低SEO价值的网页能很好地优化爬取预算。

2. 防止在搜索结果中出现重复的内容。(注意:使用meta robots方式能更好地禁止搜索引擎索引某页面。)

3. 告诉搜索引擎sitemap的地址。

4. 防止搜索引擎索引某些不对外开放的文件。(如图片和pdf文件等。)

5. 可以通过指明爬取延迟时间,避免在爬虫同时加载多个内容时服务器超量加载。

如何创建符合谷歌新规则的robots.txt文件?

首先要明白当robots.txt文件被爬虫读取后会产生三种情况:

全部允许(full allow):所有内容都允许抓取。

全部禁止(full disallow):不允许爬取任何内容。

部份允许(conditional allow):通过robots.txt文件里面的指令限定哪些内容允许爬取。

例如,假设除了禁止爬取404.html页面外,其他内容允许被所有代理(search engine bots)爬取 。那么你可以这些编写robots.txt 文件:

user-agent: *

allow: /

disallow: /404.html

当然最后还需要指明sitemap绝对路径:
sitemap: https://www.example.com/sitemap.xml

robots.txt 语法如何匹配URL

* 表示任何有效字符的 0 个或多个个案。

$ 表示网址结束。

如果allow或disallow里面的值不包含通配符*或$,则表示匹配所有以该值开始的所有URL,例如disallow: /fish, 将匹配以下URL:

/fish

/fish.html

/fish/salmon.html

/fishheads

/fishheads/yummy.html

/fish.php?id=anything

如果disallow:/*.php$,则匹配以下URL:

/filename.php

/folder/filename.php

不匹配以下URL($符号表示必须以php结尾的URL):

/filename.php?parameters

/filename.php/

/filename.php5

/windows.PHP

访问谷歌官网文档查看更多有关robotx.txt 语法规则 的说明。