当梦想照进现实

【翻】rel=canonical的5个常见错误

2013.04.18

谷歌已经将原文翻译为中文,地址为:http://blog.sina.com.cn/s/blog_a7dcd0140101moti.html

网页中包含rel=canonical链接对搜索引擎来说是个强烈的信号,暗示在众多重复网页中你最喜欢哪个版本。这个标签被多个搜索引擎支持,包括Yahoo!,Bing和Google。rel=canonical标签确定了某个网页在众多相似版本中纳入索引的属性,效果如入站链接一样,就像指定了你期望哪个网页显示在搜索结果中。但是,rel=canonical标签有一点棘手,因为当他被错误配置的时候并不容易发现。


当站长在浏览器中看到左侧的"red velvet"页面时,搜索引擎注意到了右边的,站长不留意的"blue velvet"rel=canonical标签。

我们推荐在使用rel=canonical标签时使用以下几种操作:

  • 重复网页的大多数内容应该在标准网页上出现。

我们的测试是,假如你不认识网页内容的语言,如果你将重复版本和标准版本并列放一起,重复版本网页上的大多数文字会出现在标准网页上吗?如果你需要表达出来那就是这些网页是很相似的。例如,如果这些网页仅仅是话题上及其相似,而不是具体用词上及其相似,那canonical标记将被搜索引擎忽略。

  • 再次检查rel=canonical的目标是否存在(确保网页不是404或者软404)。
  • 确保rel=canonical的目标网页并不包含noindex的robots meta标记。
  • 确保你期望rel=canonical的目标网页出现在搜索结果中,而不是其他重复网页。
  • 确保rel=canonical出现在网页的中,或者HTTP头部中。
  • 不要指定不止一个rel=canonical目标。当指定多个不同目标时,所有的rel=canonical标记将被忽略。

错误1:rel=canonical指向分页的第一页

假如你有一篇文章分为几页:

  • example.com/article?story=cupcake-news&page=1
  • example.com/article?story=cupcake-news&page=2
  • 等等

使用rel=canonical将第二页或其他分页指向第一页,这个做法是不正确的,因为那些并不是重复页面。在这个例子中,使用rel=canonical会导致第二页及后面分页都不会出现在索引中。


rel=canonical标签从其他页面指向第一页的时候,好的内容页面将会丢失(例如上图中“cookies are superior nutrition”和“to vegetables”页面)。

对于分页内容,我们推荐您要么使用rel=canonical标签从分页指向文章的单页面版本,要么使用rel="prev"rel="next"分页标记。

rel=canonical从分页指向“查看全部”页面
如果没有设计“查看全部”页面,分页内容可以使用rel="prev"rel="next"标记。

错误2:绝对路径误写为相对路径

<link>标签,就像很多HTML标签一样,接受相对路径和绝对路径。相对路径是相对于当前路径的URL。例如,'images/cupcake.png'意味着从当前目录到'images'这个刺激目录,然后到cupcake.png文件。绝对路径是完整的URL路径,包括像http://这样的格式。
指定<link rel=canonical href=“example.com/cupcake.html” />(属于相对路径,因为前面没有'http://')意味着期望的标准URL地址是http://example.com/example.com/cupcake.html,尽管基本可以确定这不是所需要的。但在这类情况下,我们的算法会忽略rel=canonical。最终,这意味着无论你希望rel=canonical指向哪个页面,都将没有效果。

错误3:rel=canonical的无意义声明或多种声明

偶尔,我们会看到一些无意义的rel=canonical声明。在极少数情况下,我们会看到简单的拼写错误,但我们更常见这样的情况:站长匆忙的从模板里复制过来,却没有修改页面中rel=canonical的目标。下面就是一则例子,页面使用rel=canonical指向了模板作者的网站。

如果你使用了模板,请检查你是否连同rel=canonical一块复制。

另一个问题是一个页面中包含多个指向不同URL的rel=canonical标记。这种情况经常发生在一些SEO插件上,这些插件通常插入一个默认的rel=canonical链接,但可能并没有通知安装这个插件的站长。对于多个声明的rel=canonical标签,Google可能忽略所有的rel=canonical建议。rel=canonical标记带来的的效果也将消失。
对于这两种情况,复查网页的源代码将帮你改正这些问题。请检查全部的<head>部分,因为rel=canonical可能不在一起。

检查页面的源代码以检查插件的各种行为

错误4:目录或着陆页指定rel=canonical向一个特色文章

让我们假设你正运营一个甜品网站。你的甜品网站有许多有价值的目录,如糕点和冰淇淋。每天目录页面都会推出一个特色的文章。例如,你的糕点着陆页可能推出“红色天鹅绒纸杯蛋糕”这个糕点。因为糕点目录跟“红色天鹅绒纸杯蛋糕”有很多相同内容,你在糕点目录上添加了rel=canonical标记,并指向单独的产品页面。
如果你这样使用rel=canonical,你的糕点目录可能在搜索结果中小时。因为rel=canonical表示你希望搜索引擎显示这个标准URL,而不是其他的复制版本。但是,如果你希望用户可以找到目录页和特色文章页面,最好的方法是目录也上有个指向自己的rel=canonical标记,或者什么都没有。


请记住,rel=canonical意味着你期望显示的URL。请避免在目录或着陆页上添加rel=canonical,并指向特色文章页面。

错误5:rel=canonical<body>区域

rel=canonical标签应出现在HTML文档的<head>区域。另外,避免HTML解析问题,rel=canonical标记在<head>中越早出现越好。当我们遇到rel=canonical出现在<body>区域,我们将直接忽略。
这是个很容易纠正的错误。请重复检查,确保rel=canonical总是在<head>区域,并且越早越好。

rel=canonical只有在区域才有效,而不是在区域。

总结

为创建有价值的rel=canonical设计,需要做到以下几点:

  • 确保复制网页的大部分内容都出现在标准页面上。
  • 检查rel=canonical仅指定一次,并且在<head>区域。
  • 检查rel=canonical指向一个存在的有良好内容的URL(不是404页面,不是低质量页面,也不是软404页面)
  • 避免在目录或着陆页面上使用rel=canonical指向特色文章页面,因为这将使特色文章页面作为搜索结果中的最佳URL。

另外,对于更多问题,请在站长帮助论坛里提问。
最后附上原文地址:http://googlewebmastercentral.blogspot.com/2013/04/5-common-mistakes-with-relcanonical.html


谷歌已经将原文翻译为中文,地址为:http://blog.sina.com.cn/s/blog_a7dcd0140101moti.html
最后推荐下谷歌在渣浪新开的博客:http://blog.sina.com.cn/googlezz

Comments
Write a Comment