WordPress 目前全球有数千万用户,包括独立博客和博客平台,且很多人把 WordPress 开发成 CMS 来使用。 WordPress 程序的优越性就不用多说了。

讲 WordPress 的 robots.txt 优化之前,先对 robots.txt 的相关知识普及一下。

robots.txt 是一个存放在网站根目录下的纯文本文件 (ASCII 编码),这个文件用于指定 spider 在您网站上的抓取范围,一定程度上保护站点的安全和隐私。同时也是网站优化利器,例如屏蔽捉取站点的重复内容页面。

robots.txt 目前并不是一种标准,只是一种协议!所以现在很多搜索引擎对 robots.txt 里的指令参数都有不同的看待。

使用 robots.txt 需要注意的几点地方:

1 、指令区分大小写,忽略未知指令,下图是本博客的 robots.txt 文件在 Google 管理员工具里的测试结果;

好像还是不支持中文等非英文字符,如需添加中文地址指令,请先转码 (UTF-8 和 GBK 会有不同的转码结果) 。

如果想第一时间知道自己写的 robots.txt 是否规范,可以用 Google 管理员工具的 「像 Googlebot 一样抓取」 功能。捉取后,点击 「成功」 那个链接进去,就可以看到 Google 眼中的 robots.txt 了。

2 、每一行代表一个指令,空白和隔行会被忽略;

3 、 「#」 号后的字符参数会被忽略;

4 、有独立 User-agent 的规则,会排除在通配 「*」User agent 的规则之外;

5 、可以写入 sitemap 文件的链接,方便搜索引擎蜘蛛爬行整站内容。

6 、尽量少用 Allow 指令,因为不同的搜索引擎对不同位置的 Allow 指令会有不同看待。

想了解更多关于 robots.txt 的 「标准化」 说明,可以查看 robots.txt 官网和 Google 关于 robots.txt 的说明页。

转入正题。因为 WordPress 建站设置不同的固定链接 (或者安装不同的插件),在写指令的时候,相应的地址会不同。本博客固定链接设置为:/a/%post_id%.html,供参考。

下面开始 WordPress 的 robots.txt 优化之旅,同时请下载本博客的 robots.txt 边看边学优化。

一般博客的 robots.txt 指令设置都是面对所有 spider 程序,用通配符 「*」 即可。如果有独立 User-agent 的指令规则,尽量放在通配 「*」User agent 规则的上方。

Disallow: /wp-admin/

Disallow: /wp-content/

Disallow: /wp-includes/

屏蔽 spider 捉取程序文件,同时也节约了搜索引擎蜘蛛资源。

每个默认的文章页面代码里,都有一段 trackback 的链接,如果不屏蔽让蜘蛛去捉取,网站会出现重复页面内容问题。

Disallow: /feed

Disallow: /*/feed

Disallow: /comments/feed

头部代码里的 feed 链接主要是提示浏览器用户可以订阅本站,而一般的站点都有 RSS 输出和网站地图,故屏蔽搜索引擎捉取这些链接,节约蜘蛛资源。

Disallow: /?s=*

Disallow: /*/?s=*

这个就不用解释了,屏蔽捉取站内搜索结果。站内没出现这些链接不代表站外没有,如果收录了会造成和 TAG 等页面的内容相近。

屏蔽留言链接插件留下的变形留言链接。 (没安装相关插件当然不用这条指令)

Disallow: /*.jpg$

Disallow: /*.jpeg$

Disallow: /*.gif$

Disallow: /*.png$

Disallow: /*.bmp$

屏蔽捉取任何图片文件,在这里主要是想节约点宽带,不同的网站管理员可以按照喜好和需要设置这几条指令。

屏蔽捉取短链接。默认头部里的短链接,百度等搜索引擎蜘蛛会试图捉取,虽然最终短链接会 301 重定向到固定链接,但这样依然造成蜘蛛资源的浪费。

Disallow: /*/comment-page-*

Disallow: /*?replytocom*

屏蔽捉取留言信息链接。一般不会收录到这样的链接,但为了节约蜘蛛资源,也屏蔽之。

Disallow: /a/date/

Disallow: /a/author/

Disallow: /a/category/

Disallow: /?p=*&preview=true

Disallow: /?page_id=*&preview=true

Disallow: /wp-login.php

屏蔽其他的一些形形色色的链接,避免造成重复内容和隐私问题。

Sitemap:http://***.com/sitemap.txt

网站地图地址指令,主流是 txt 和 xml 格式。告诉搜索引擎网站地图地址,方便搜索引擎捉取全站内容,当然你可以设置多个地图地址。要注意的就是 Sitemap 的 S 要用大写,地图地址也要用绝对地址。

上面的这些 Disallow 指令都不是强制要求的,可以按需写入。也建议站点开通谷歌管理员工具,检查站点的 robots.txt 是否规范。