之前写过wordpress伪静态的一篇文章,但是最近发现还是经常会有动态的地址被收录,检查了很多次依然无法解决,今天特意做了一下wordpress上robots.txt优化配置,希望能够解决这个问题。

在贴出我改进后的robots.txt配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
User-agent: *
Disallow: /wp-
Allow: /wp-content/uploads/
Disallow: /?
Disallow: /*?*
Disallow: /feed
Disallow: /*/feed
Disallow: /trackback
Disallow: /*/trackback
Disallow: /index.php?
Disallow: /index.php/
Disallow: /*.php$
Disallow: /date/
Disallow: /author
 
sitemap: http://www.h517.com/sitemap.html
Sitemap: http://www.h517.com/Sitemap.xml
Sitemap: http://www.h517.com/Sitemap.xml.gz

下面来讲解一下配置文件的作用

User-agent: * 表示对所有的搜索引擎都采用下面的规则;

Disallow: /wp- 不允许Google/百度spider抓取和索引wp-开头的文件及目录,如wp-login.php,wp-admin目录等均被阻止;

Allow: /wp-content/uploads/ 因为在上一条将wp-content目录屏蔽了,这样Google图片搜索和百度就无法访问放在/wp-content/uploads/目录下的图片,为了能使Google图片搜索收录图片等附件,将这个目录设置为Allow;

Disallow: /? 禁止搜索引擎spider索引以?开头的网址,如单独文章页面的动态网址http://farlee.info/?p=1。这一条比较厉害,包括了WordPress博客的大部分动态网址,相当于:
Disallow: /?p= 单独文章页面
Disallow: /?cat= 文章分类页面
Disallow: /?tag= 文章标签页面
Disallow: /?m= 文章按月归档
Disallow: /?r= 文章评论链接跳转地址
Disallow: /?s= 文章站内搜索结果页面
Disallow: /?paged= 固定页面
Disallow: /?feed= 博客订阅feed
Disallow: /?*
其他动态页面当然你也可以按照上面这样一条一条来写,如果用Disallow: /? ,又想不禁止其中的某个的时候,可以再加个Allow,如Allow: /?m=

Disallow: /*?* 这个是从第一份规则里面拿过来的,但感觉好像没发挥什么作用

Disallow: /feed 禁止Google,百度搜索引擎索引feed博客页面。博客都有一个订阅整站的feed,每个文章分类,每篇文章也分别有一个feed,feed页面和网站页面内容基本相同,如果feed页面没有被禁止访问,可想而知,这将会产生大量的重复页面。有博友反映将feed Disallow以后,从百度搜索引擎来的流量上升非常明显。这里请注意Disallow: /feed和最后加了反斜杠的Disallow: /feed/ 是完全不一样的。Disallow: /feed可以禁止的url包括:abc.com/feed,abc.com/feed.html,abc.com/feed/abc这三种形式,而Disallow: /feed/只能禁止搜索引擎访问abc.com/feed/abc这种目录形式,所以我们应该用Disallow: /feed。

Disallow: /*/feed 这条规则禁止Google/baidu等搜索引擎访问文章分类和单独文章文章页面的feed。如本文的http://www.doudou1217.com/103.html/feed。注意这项根据每个博客固定链接结构的不同要采取不同的设置,如abc.com/1.html/feed,规则要改成Disallow: /*/feed
后面两条trackback和feed一样。

Disallow: /index.php? 这条规则是为了防止搜索引擎收录abc.com/index.php这种url产生的动态网址

Disallow: /index.php/ 这条规则是为了防止搜索引擎收录abc.com/index.php这种url下的所有目录

Disallow: /*.php$ 这条规则是为了禁止搜索引擎访问和收录.php后缀结尾的url,包括abc.com/index.php,有效防止了首页权重被分散。

Disallow: /date/ 禁止搜索引擎访问日期存档页面

Disallow: /author 禁止搜索引擎访问作者页面

最好加上网站地图的地址

其实还有一条规则没有写,就是

Disallow: /page/ 禁止搜索引擎访问博客文章翻页页面,这里设置后好处是减少了重复页面,坏处是Google和baidu的spider无法检索到老文章,因此这里要和网站地图Sitemap.xml配合使用。