我们知道WordPress博客系统是一个全球流行的独立博客程序,Google也是一个国际搜索引擎巨人,所以WordPress博客程序虽然有着很好的搜索引擎优化(SEO)基础,但是它是针对谷歌或者Google.com来优化的,WP不会对中国本地化的百度搜索引擎作针对性的SEO工作,比如WordPress评论链接优化。这里要提到的WordPress 中的robots.txt文件,Google和百度给它的权重也完全不同。
首先以我的远方博客为例,列一些WordPress 博客针对Google 的SEO优化,百度是不支持的地方:
1.首选域:Google 在网站管理员中允许你设置网站的首选域,允许你从www.farlee.info和farlee.info这两个带www和不带www的两个主域名中选择一个作为首选域,Google等搜索引擎认为这两个顶级域名是不一样的,通过设置首选域就不会将PR权重分散到两个域名中,同时也避免了网站重复页面问题。而百度没有这方面的设置。
2.rel="canonical"属性:Google在官方博客文章指定您的URL范式中指出了可以使用rel="canonical"属性指定让Google索引的网址。避免网站出现网址规范化问题。WordPress博客(2.9.1版本)在文章页面的动态网址中默认加入了rel="canonical"属性指定Google搜索引擎去索引永久固定链接,但是百度不支持这个rel="canonical"属性。
3.rel='nofollow'属性:Google 支持rel='nofollow' (或rel='external nofollow') 属性,这个属性告诉Google等搜索引擎不索引哪些链接。WordPress 博客默认在评论中也对评论人的网址链接和回复链接加入了rel='external nofollow'和rel='nofollow'。但是百度又不支持。
另外在WordPress博客肯定还有很多属性是百度所不支持的,远方博客前断时间做过的优化工作都是针对Google的,这也可能是为什么百度只收录首页,不收录内页的原因之一。
那么我们不仅要问,百度支持哪些WordPress的seo优化?其实url重写,301永久重定向,设置401页面这些都是能对Google及百度优化起作用的。另外就是robots.txt文件,Google因为有了rel='external nofollow',也强力推荐rel="canonical"属性,因此对robots.txt文件的依赖程度有所降低,但是百度给予robots.txt的关注是很高的。下面是我的robots.txt文件的设置:
- User-agent: *
- Disallow: /wp-
- Allow: /wp-content/uploads/
- Disallow: /?
- Disallow: /feed
- Disallow: /*/*/feed
- Disallow: /trackback
- Disallow: /*/*/trackback
- Disallow: /index.php?
- Disallow: /index.php/
- Disallow: /*.php$
- Disallow: /*.css$
- Disallow: /date/
- Disallow: /page/
- Sitemap: http://farlee.info/sitemap.xml
因为每个人的博客永久固定链接结构都不一致,所以上面的设置只供大家参考,切忌完全COPY,否则将导致某些正常文章页面不被Goolge和百度搜索引擎收录。为便于大家根据自己的情况作更改,下面对robots.txt文件的每条设置逐一说明,如果对什么是robots.txt文件还不熟悉,建议先看看这篇文章:robots.txt用法和seo作用。
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: /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://farlee.info/archives/wordpress-robots-txt-seo-google-baidu-difference.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: /*.css$ 禁止搜索引擎访问css文件。
Disallow: /date/ 禁止搜索引擎访问日期存档页面
Disallow: /page/ 禁止搜索引擎访问博客文章翻页页面,这里设置后好处是减少了重复页面,坏处是Google和baidu的spider无法检索到老文章,因此这里要和网站地图Sitemap.xml配合使用。
转载:远方博客
2010年04月21日 8:28 上午沙发
关于nofollow属性,百度的t贴吧中已经确认是支持的。