Published on

What is canonical url(什么是权威链接?权威链接有什么作用?)

Authors
  • avatar
    Name
    Pony Ma
    Twitter

权威链接标签

实际上就是一段固定的HTML代码,主要是去重,在相似页面中写入,将其指向主要的版本,

搜索引擎抓取的是网址而不是网页,所有他们认为某些页面是不同的页面 例如 https://example.com/sample-page?hello=world和https://example.com/sample-page 他们几乎是一样的页面,只是URL略有差别

那我们就可以把权威链接指向 https://example.com/sample-page,来避免重复爬取

google 文档

<link rel="canonical" href="https://example.com/sample-page/" />

过多的重复内容可能会影响你的爬取配额,一个网站的爬取配额其实是有限的,当然,少于几千个页面的就不用担心了

如果没有指明权威链接,那么爬虫会自己来决定最佳的版本,具体规则未知

某些特殊情况下,即使你指定了你的权威链接,谷歌也有可能出于各种原因(效果或内容元素等等)选择了另一个页面

小tips

  1. 使用绝对的网址
  2. 使用小写的网址(大小写会被视为两个不同的地址
  3. 使用正确的域名版本(https
  4. 使用自引用权威链接(即当前页面的权威链接指向自身)
  5. 每页只使用一个权威链接标签(如果设置了多个,那么多个都会被忽略

常见的设置方法

  1. 使用HTML标签设置权威内容页面 即将下面代码加到网页的head中
<link rel="canonical" href="https://example.com/canonical-page/" />
  1. 在HTTP标头中设置权威页面(像一些PDF文件
HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <http://ahrefs.com/blog/canonical-tags/>; rel="canonical"
  1. 在sitemap中设置权威页面 谷歌默认会将站点地图中列出的界面当做你建议的权威界面,但并不保证一定会将其视为权威,这样做最简单有效

  2. 用301重定向到权威页面

常见的错误

  1. 权威网址被robots.txt拒绝(这种页面不会被爬取,设置也无效
  2. 将权威网址设置为noindex(这种权威页面仍然有效,canonical优先级高于noindex,但两者设置是相关矛盾的,不建议这样设置
  3. 权威网址返回4xx
  4. 将所有分页页面的权威页面都执行第一页
  5. 权威页面带有hreflang标签(不太清楚为什么会有影响,hreflang标签的作用是指定网页和地理定位 参考文档

可以借助第三方工具来审查诊断

例如 Site Audit tool Google 站长工具

一些常见问题及解决方案

  1. 权威内容页面指向 4XX 当一个或多个页面被权威化为 4XX 网址时,此警告会被触发。 问题原由:因为 4XX 页面是无用的,所以搜索引擎不会索引它们,这样将会导致它们忽略指向这些页面的任何权威内容页面标签,最终常常索引成错误的(非权威)版本页面。 解决方法:查看受影响的页面,并将无用的(4XX)权威内容页面链接替换为应编制索引的能正常工作的(200)页面链接。

  2. 权威内容页面指向 5XX 当一个或多个页面被权威化为 5XX 网址时,此警告会被触发。 问题原由:5XX HTTP 状态代码表示服务器有问题,因此导致Google无法访问权威内容页面,而它也不太可能索引无法访问的网页,所以权威内容页面有可能就这样被忽视掉了。 解决方法:用有效网址替换所有存在错误的权威内容网址。如果指定的权威页面看起来似乎是正确的,那么请检查服务器配置是否错误。请注意,如果你的网站因维护或网站服务器超载而导致网页崩溃,则可能会临时引发此类问题。

  3. 权威内容页面指向重定向 当一个或多个页面被权威化为重定向的网址时,此警告会被触发。 问题原由:权威内容页面始终指向的是最具权威版本的页面。但是对于重定向网址来说却不是这种情况。因此,搜索引擎可能会误解或忽略此权威页面。 解决方法:将出现问题的链接替换为指向页面最权威版本的直链(即,回到 200 HTTP 状态代码且非重定向的版本)。

  4. 没有权威内容的重复页面 当存在一个或多个未指定权威版本的页面重复或非常相似时,此警告会被触发。 问题原由:由于未指定权威内容页面,Google将会试图在显示的搜索结果中选择最合适的版本,但这可能并不是你想要索引的版本。 解决方法:查看那些重复页面,并选择一个作为应在搜索结果中被索引到的权威版本。然后将其指定为所有重复项的权威页面版本(并将自引用权威页面标签添加到此版本)。

  5. hreflang 到非权威内容页面 当一个或多个页面在其 hreflang 注释中指定为非权威内容网址时,此警告会被触发。 问题原由:hreflang 标签中的链接应始终指向权威内容页面。从hreflang注释链接到页面的非权威版本可能会引起搜索引擎的混淆和误解。 解决方法:将受影响页面的 hreflang 注释中的链接替换为权威内容页面。

  6. 权威内容网址没有内部传入链接 当存在一个或多个页面没有内部传入链接时,此警告会被触发。 问题原由:游客们无法访问没有内部链接的权威内容网址。而在网站的某地,它们被定向到为非权威版本页面。 解决方法:将所有内部链接替换为权威化页面,并使用指向权威内容页面的直链。

  7. 站点地图中存在非权威内容页面 当存在一个或多个非权威内容页面位列于站点地图上时,此警告会被触发。 问题原由:Google声明站点地图中不应该包含非权威内容网址。因为它们将站点地图中的页面视为你向其建议的权威页面。在站点地图中,你应该只列出你想要编入索引的页面。 解决方法:从站点地图中移除非权威页面。

  8. 非权威内容页面被误指定为权威页面 当一个或多个页面指定一个权威内容网址时,该网址也被权威化为不同的页面,这将创生出一个”权威链”,其中页面 A 被权威化为页面 B,然后其又将权威化为页面 C ,此时警告会被触发。

权威链接页面识别 问题原由:搜索引擎可能会被权威链混淆和误导。这样的结果是它们可能会误解或忽略你原本指定的权威内容页面。 解决方法:将带直链的受影响的权威页面标签中的非权威页面链接替换为权威内容页面。如果页面 A 被权威化为页面 B,页面 B 又权威化为页面 C ,则将页面 A 上的权威页面链接替换为指向页面 C 的链接。

  1. 开放内容网址与权威内容页面不匹配 当一个或多个页面上指定的权威内容页面与开放内容网址不匹配时,此警告会被触发。 问题原由:如果开放内容网址与权威内容页面不匹配,那么非权威内容页面版本将会被共享到社交网站上。 解决方法:用权威内容页面网址替换受影响的开放内容网址,记得确保两者网址是一致的。

小提示. 开放内容标签的网址必须是绝对的,并且使用的是http:// 或 https:// 协议,这与权威内容页面情况相同。 10. 从 HTTPS 变为 HTTP 的权威内容页面 当一个或多个安全(HTTPS)页面将非安全(HTTP)版本指定为权威内容页面时,此警告会被触发。 问题原由:因为 HTTPS 是一个排名因素,所以尽可能将安全版本页面指定为权威内容页面是很有必要的。

小提示.Google还提出了实施 HSTS 作为可能解决方案 解决方法:将 HTTP 页面等效重定向为 HTTPS。如果无法做到的话,请在 HTTP 版本页面中添加 rel =”canonical” 链接到 HTTPS。

  1. 从 HTTP 变为 HTTPS 的权威内容页面 当一个或多个非安全(HTTPS)页面将安全(HTTP)版本指定为权威内容页面时,此警告会被触发。 问题原由:因为 HTTPS 优先于 HTTP,所有当拥有的 HTTP 版本的页面时将 HTTPS 版本指定为权威内容页面是不合逻辑的。

小提示.这种情况可能问题不大,但仍值得修复。 解决方法:实现从 HTTP 到 HTTPS 的 301 重定向。除此之外你还应该用直接链接到 HTTPS 的页面版本来替换所有内部链接到 HTTP 的版本。

  1. 非权威内容页面接收自然流量(organic traffic) 当一个或多个非权威内容页面出现在搜索结果中并获得自然搜索流量(Organic Search Traffic)(本不应该发生!)时,此警告会被触发。 问题原由:要么是权威内容页面标签设置错误要么是Google选择了忽略你想指定的权威页面。 解决方法:检查是否在所有报告的页面上正确设置了 rel = canonical 标签。如果不是这个问题,请使用 Google 站长工具(Google Search Console)中的网址检查工具查看它们是否将正确指定了你设置的权威页面网址。如果仍然不是这个问题,请探究下为什么会出现这种情况。