相同一篇文章内容出现在不同的网址上,就产生了内容重复,这就给搜索引擎网页排名算法造成了麻烦。
网页内容重复常见原因
- 同一网站下因为url请求参数不一样,却显示了相同内容。
- 由于CMS系统内容分发导致不同网址输出了相同的一篇文章。
- 相同的一个数据源,在不同的hosts/protocols中显示了同一份内容。
- 互联网转载。
搜索引擎为了优化网页排名,在link标签的属性rel中加入了一个canonical值,为当前网页内容指定了canonical版本,更多可参考官方文档。
搜索引擎如何处理rel=canonical
自2009年2月起,Google、Yahoo和Microsoft三个搜索引擎公司开始支持此标签属性。
搜索引擎会利用此属性来对抓取的结果进行过滤,并根据此属性值来确定内容的原始来源页面,对于搜索结果的排名算法有一定影响。
实现rel=canonical的二种方法
- 在html的head元素中添加:
<link ref="canonical" src="http://example.com/page.html" />。 - 在http响应头里添加:
Link: <http://example.com/page.html>; rel="canonical"。
错误用法
rel=canonical指向的url不存在。rel=cononical指向网站的robots.txt禁止了搜索引擎爬虫。- 在网页里出现多次
rel=cononical。 rel=cononical出现在body标签中。- 分页时,多个页面指向了一个相同的
rel=cononical。 - 使用CMS或者博客插件,导致
rel=cononical指向了插件作者的网站。 rel=cononical使用了相对地址,最好是使用url绝对地址。