欢迎光临
桂林SEO博客

canonical是什么意思?该标签具体规范设置技巧及注意事项

什么是canonical标签?

canonical标签也可以称之为一种正规性的网址规范标签。其在存在的意义就在于告诉搜索引擎那一个页面为主页面,别的相同内容的页面为副本。从网址优化的角度看,使用canonical标签就是为了明确告诉搜索引擎,我们希望那一个版本的URL为正规的。

canonical标签作用

canonical标签主要放置在页面的<head>部分中,非常简单的一种表达语法方式,如下:

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

以下是该代码的每个部分的含义,用通俗的来说。

link rel=”canonical”。这个标签中的链接是这个页面的主版本(canonical)。

a href=”https://example.com/sample-page/”:这个标签中的链接是这个页面的主版本。canonical版本可以在这个URL中找到。

为什么我们需要在网页中使用canonical标签?

从搜索引擎角度来看,搜索蜘蛛在具体抓取互联网页面时是非常讨厌各种重复内容页面的,这会浪费其抓取和索引资源来判断那一个页面为值得推荐给用户的版本。从SEO角度来看,过多的重复页面会影响到网站本身的收录情况,甚至还有可能被惩罚。

canonical标签对于SEO优化来说,其主要是能够让搜索引擎更加快速的确定主要页面版本,同时把”链接权益”集中在一个页面上,继而使其获得更好的排名。再者,如果没有使用canonical标签,可能会导致搜索引擎认为的最好版本与网站优化人员确定的版本有着一定的差别。

当然,可能有一些人认为自己的网站没有过多的重复页面出现,是否就不需要使用canonical标签呢?事实上,很多网站都会把网站网址进行静态化或者伪静态化处理,那么这就非常有可能导致一个页面出现多个URL形式,比如example.com/product和example.com/product?color=red。这种情况最多的出现在一些电子商务网站上。

canonical标签

以下是其他一些常见的重复内容的原因,适用于所有类型的网站。

具有参数化的URL搜索参数(例如,例如: example.com?q=search-term)。

为Session ID设置了参数化的URL(例如:https://example.com?sessionid=3)。

拥有单独的可打印的页面版本(例如,example.com/page和example.com/print/page)。

为不同类别下的职位设置独特的URL(例如,example.com/services/SEO/和example.com/specials/SEO/)。

为不同的设备类型设置页面(例如, example.com和m.example.com)

具有AMP和非AMP版本的页面(例如,example.com/page和amp.example/page)。

在非www和www变体上提供相同的内容(例如:http://example.com和http://www.example.com)。

在非https和HTTPS变体上提供相同的内容(如:http://www.example.com和https://www.example.com)。

提供相同的内容,带和不带斜线(例如:https://example.com/page/和http://www.example.com/page)。

在默认版本的页面中提供相同的内容,如索引页(如:https://www.example.com/、https://www.example.com/index.htm、https://www.example.com/index.html、https://www.example.com/index.php、https://www.example.com/index.php、https://www.example.com/default.htm 等)。

提供相同的内容,有大写字母和无大写字母(例如:https://example.com/page/ 和 http://www.example.com/Page/)。

在这种情况下,正确使用规范标签是关键。

此外,跨域重复内容问题也是一个问题。如果你要发布内容,最好的做法是在你的文章上使用一个自引用的canonical标签,并且让被发布的内容指定你为跨域canonical标签的canonical版本。

这并不总是能阻止被联合的内容出现在搜索结果中,但它确实有助于降低其超过原版的风险。

如果人们刻意选择了共享内容,那么就很难辨别出原创内容的来源。这也是为什么我们建议使用冠名或屏蔽的原因。

标准化标签实现的基础知识

佳能型是很容易实现的。我们稍后将讨论四种不同的方法。但无论你选择哪种方法,有五条黄金规则,你应该时刻记住。

规则1:使用绝对的URL

搜索引擎 的 John Mueller 指出,最好不要使用 rel=”canonical” 链接元素的相对路径。

你可以使用任何一种,但我建议你使用绝对URL,这样你就可以确保它们被正确解释了。

所以你应该使用以下结构。

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

与此相反。

<link rel=”canonical” href=”/sample-page/” /><br />

规则二:使用小写的URL

由于搜索引擎可能会把大写和小写的URL视为两个不同的URL,所以你要先确保在你的服务器上强制使用小写的URL,然后使用小写的URL作为你的canonical标签。

规则三:使用正确的域名版本(HTTPS vs. HTTP)。

如果你改用SSL,请确保不要在你的canonical标签中声明任何非SSL(即HTTP)URL。这样做理论上可能会导致混乱和意外的结果。如果你在安全域中,请确保你使用以下版本的URL。

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

与之相对的是。

<link rel=”canonical” href=”http://example.com/sample-page/” />

附注:如果你不使用HTTPS,那么反之亦然。如果你不使用HTTPS,那么反之亦然。

规则4:使用自引用的规范性标签

虽然canonical标签不是强制性的,但推荐使用自引用的canonical标签。

我推荐使用]自引用的canonical,因为它能让我们清楚地知道你想让哪个页面被索引,或者说当它被索引时,URL应该是什么。

即使你有一个页面,有时也会有不同的URL变化,可以把那个页面拉上来。比如说,在最后加上参数,也许是大写的小写,也许是www和非www,这些东西都可以用rel canonical标签来清理。

如果你不确定自引用的canonical是如何工作的,它基本上是一个指向自己的页面上的canonical标签。例如,如果URL是https://example.com/sample-page,那么在该页面上的自引用canonical将是

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

大多数现代流行的CMS会自动添加自引用URL,但如果使用自定义CMS,你需要让你的开发人员进行硬编码。

规则五:每个页面使用一个标准标签

如果页面有多个canonical标签,那么搜索引擎会忽略这两个标签。

如果有多个rel=canonical声明的情况下,搜索引擎很可能会忽略所有的rel=canonical提示。

如何实现canonical标签规范化

有五种已知的方式来指定正统URL。这些方法被称为 “正统化信号”。

HTML 标签 (rel=canonical)

HTTP头

网站地图

301重定向*

内部链接

关于每种方法的优缺点,请看谷歌的官方文档。

1. 使用rel=”canonical “HTML标签设置canonical。

使用rel=canonical标签是指定一个canonical URL的最简单、最明显的方法。

只要在任何重复页面的<head>部分添加以下代码即可。

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

例子

假设您有一个销售T恤衫的电子商务网站。您希望 https://example.com/tshirts/black-tshirts/ 为传统的 URL,即使该页面的内容可以通过其他 URL (例如 https://example.com/offers/black-tshirts/) 访问。

只需在任何重复的页面中添加以下canonical标签即可。

<link rel=”canonical” href=”https://example.com/tshirts/black-tshirts/” />。

需要注意的是,如果你使用的是CMS,你就不需要再去纠结页面的代码了。有一个更简单的方法。

在WordPress中设置cononical标签。

安装Yoast SEO,然后自动添加自引用的冠名标签。要设置自定义canonical,请使用每个帖子或页面上的 “高级 “部分。

canonical标签在wp上优化

canonical yoast

在Shopify中设置cononical标签。

Shopify默认为产品和博客文章添加了自引用的canonical URL。要设置自定义的标准化URL,你需要直接编辑模板(.liquid)文件。

这个线程有一些关于如何做到这一点的信息。

在Squarespace中设置标准化标签。

Squarespace默认也会添加自引用URL。但是,和Shopify的情况一样,如果你想添加一个自定义的canonical URL,你需要直接编辑代码。

2. 在HTTP头中设置canonicals

对于像PDF这样的文档,由于没有页面<head>部分,没有办法在页面标题中放置canonical标签。在这种情况下,你需要使用HTTP头来设置canonical。你也可以在标准网页上的HTTP页头中使用canonical。

例子

想象一下,我们创建一个PDF版本的博文,并将其托管在我们的博客子文件夹(ahrefs.com/blog/*)中。

下面是这个文件的HTTP头是什么样子的。

http/1.1 200 ok

内容类型:应用程序/pdf

链接。<http://example.com/blog/canonical-tags/>; rel=”canonical”

推荐阅读。如何在HTTP标题中添加Canonical标签

 3. 在网站地图中设置规范

搜索引擎规定,非经典的网页不应该包含在网站地图中。只有经典的URL应该被列出。这是因为搜索引擎将sitemap中列出的页面视为建议的canonicals。

然而,他们不会总是选择网站地图中的URL作为标准URL。

我们不保证会把sitemap中的URL视为canonical,但对于一个大型网站来说,这是一个简单的定义canonical的方法,而且sitemap是一个有用的方法,可以告诉搜索引擎你的网站上哪些页面是你认为最重要的。

4. 用301重定向设置canonicals

当您想把流量从重复的URL转到正常版本时,请使用301重定向。

例子

假设你的页面可以通过以下URL到达。

example.com

example.com/index.php

example.com/home/

选择一个URL作为标准的URL,然后重定向其他URL。

你应该对安全的HTTPS/HTTP和www/non-www版本的网站做同样的操作。选择一个标准版本,然后重定向到该版本。

例如,ahrrefs.com的标准版本是HTTPS非www版本的URL(https://ahrefs.com)。以下所有的URL都会重定向到那里。

http://ahrefs.com/

http://www.ahrefs.com/

https://www.ahrefs.com/

5. 内部链接

在整个网站中,你如何从一个页面链接到另一个页面是一个canonicalization信号。

搜索引擎网站管理员趋势分析师John Mueller在这段#Ask搜索引擎Webmasters视频中介绍了用于确定加冠化URL的信号。

你对所有这些信号越是一致,搜索引擎就越容易确定你喜欢的常规URL。正如John在视频中提到的那样,搜索引擎也更倾向于使用HTTPS而不是HTTP的URL,也更喜欢更漂亮的URL。

常见的标准化错误要避免

正统化是一个有些复杂的话题。因此,人们对如何正确地进行正统化有很多误解和误区。

以下是人们在尝试正统化时的一些常见错误。

误区一:通过robots.txt屏蔽了正统化的URL。

在robots.txt中屏蔽一个URL,会阻止搜索引擎抓取该URL,这意味着他们无法看到该页面上的任何canonical标签。这反过来,也就阻止了他们将任何 “链接资产 “从非规范化的URL转移到规范化的URL。

错误二:将canonicalized URL设置为 “noindex”。

千万不要把noindex和rel=canonical混在一起。它们是相互矛盾的指令。

搜索引擎通常会优先考虑canonical标签而不是’noindex’标签,就像John Mueller在这里所说的那样。但这仍然是不好的做法。如果你想要noindex和canonical化一个URL,使用301重定向。否则,使用 rel=canonical。

错误三:为canonical化的URL设置一个4XX HTTP状态码

为canonicalized URL设置一个4XX HTTP状态码,其效果与使用 “noindex “标签相同。搜索引擎将无法看到canonical标签,并将 “链接公平性 “转移到canonical版本。

错误四:将所有分页的页面加优化到根页面上。

分页的页面不应按页码划分为系列中第一个分页。相反,在所有分页的页面上都应使用自引用的典籍。

为什么要这样做?是不当使用rel=canonical。

要避免的主要事情是在第2页上使用rel=canonical指向第1页。第2页并不等同于第1页,所以这样的rel=canonical是不正确的。

你还应该使用rel=prev/next标签来分页。这些标签已经不再被搜索引擎使用,但Bing仍然在使用。

误区五:不使用hreflang的常规标签。

Hreflang标签用于指定网页的语言和地理定位。

谷歌指出,当使用hreflang标签时,你应该 “指定一个相同语言的经典网页,如果没有相同语言的经典,则指定最佳的替代语言”。

误区六:使用多个rel=canonical标签

拥有多个 rel=canonical 标签会导致它们很可能被 搜索引擎 忽略。在许多情况下,这种情况的发生是因为标签在不同的地方被插入到系统中,例如CMS、主题和插件。这就是为什么许多插件都有一个覆盖选项,以确保它们是唯一的标准标签来源。

另一个可能出现问题的地方是用JavaScript添加的canonicals。如果你在HTML响应中没有指定canonical URL,然后用JavaScript添加一个rel=canonical标签,那么当搜索引擎渲染页面时,它应该会被尊重。但是,如果你在HTML中指定了一个canonical,然后用JavaScript交换了首选版本,你就会向搜索引擎发送混合信号。

错误七:在<body>中使用rel=canonical标记。

Rel=canonical只能出现在文档的<head>中。页面的<body>部分中的canonical标记将被忽略。

这可能成为一个问题的地方是在文档的解析过程中。虽然页面的源代码可能在正确的位置有rel=canonical标记,但当页面在浏览器中实际构建或由搜索引擎渲染时,许多不同的事情,如未封闭的标记、JavaScript注入,或<head>部分的<iframes>,都会导致<head>在渲染时过早结束。在这些情况下,可能会不小心把一个经典标签扔到渲染页面的<body>中,而这个标签不会被尊重。

如何在您的网站上发现并修复域名规范化问题

在规范化方面很容易出错,因此,定期审计您的网站是否存在与规范化标签相关的问题,并尽快修复这些问题是很有必要的。

为此,您可以使用Ahrefs的网站审计工具。

网站审计工具可以抓取您的网站,检查100多个SEO问题,包括那些与cononical标签相关的问题。

以下是Site Audit可能发现的12个与canonical-tag相关的问题,以及如何修复这些问题。

1. Canonical points to 4XX

当一个或多个页面被冠以4XX URL时,会触发此警告。

为什么会出现这个问题

搜索引擎不会索引4XX页面,因为它们不起作用。因此,他们会忽略任何指向此类页面的常规标签,并经常以索引错误的(非常规)版本的页面而告终。

如何解决这个问题

检查受影响的页面,并将死的(4XX)常规链接替换成您希望索引的工作页面的链接(200)。

2. Canonical points to 5XX

当一个或多个页面被冠以5XX URL时,会触发此警告。

为什么会出现这个问题

5XX HTTP状态码表示服务器问题,导致无法访问的canonical页面。搜索引擎不太可能索引不可访问的页面,所以可能会忽略canonical。

如何修复

用有效的URL替换任何错误的常规URL。如果指定的canonical似乎是正确的,请检查服务器的错误配置。请注意,如果抓取发生在您的网站因维护而停机或网站服务器超载时,这可能是暂时性的问题。

3.Canonical点重定向

当一个或多个页面被冠以重定向的URL时,会触发此警告。

为什么会出现这个问题

Canonicals应该始终指向一个页面的最权威的版本。但重定向URL的情况并非如此。因此,搜索引擎可能会误读或忽略cannonical。

如何解决这个问题

用直接链接到页面最权威的版本(即返回200的HTTP状态码且不重定向的链接)来替换常规链接。

4. 重复的页面,没有规范的

当有一个或多个重复或非常相似的页面没有指定一个标准版本时,会触发此警告。

为什么会出现这个问题

由于没有指定规范,搜索引擎将尝试识别出最合适的版本来显示在搜索结果中。这可能不是你想要索引的版本。

如何解决这个问题

审查重复的组别。选择一个应在搜索结果中索引的规范版本。指定这个版本为所有副本的标准版本(并为标准版本添加一个自引用的标准标签)。

5. 将 Hreflang 到非经典版本

当一个或多个页面在其hreflang注释中指定了非经典URL时,会触发此警告。

为什么会出现这个问题

hreflang标签中的链接应始终指向经典页面。从hreflang注释中链接到一个非经典版本的页面,会使搜索引擎产生混淆和误导。

如何解决这个问题

将受影响页面的hreflang注释中的链接替换为其典型链接。

 6. 正统URL没有传入的内部链接

当一个或多个指定的正统URL没有内部传入链接时,会触发此警告。

为什么会出现这个问题

没有内部链接的正统URL对网站访问者来说是无法访问的。在网站的某个地方,他们被引导到一个非正统版本的页面。

如何解决这个问题

用直接链接到典籍的内部链接取代任何与典籍页面的内部链接。

7. 网站地图中的非经典页面

当一个或多个非经典页面在网站地图中列出时,会触发此警告。

为什么会出现这个问题

搜索引擎规定,你不应该在你的网站地图中包含非经典的URL。原因是,他们认为网站地图中的页面是建议的canonicals。你应该只在sitemaps中列出你希望被索引的页面。

如何解决这个问题

从网站地图中删除非经典的URL。

8. 将非经典页面指定为经典页面

当一个或多个页面指定了一个正统URL,而该URL也被正统化到不同的页面时,就会触发这个警告。这将创建一个 “正统链”,其中A页被正统到B页,然后被正统到C页。

canonical标签作用

为什么是个问题

佳能链可能会混淆和误导搜索引擎。因此,他们可能会误解或忽略指定的正典。

如何修复

将受影响页面的canonical标签中的非正统链接替换为直接链接到正统的链接。例如,如果A页被规范化到B页,而B页又被规范化到C页,则将A页上的规范链接改为C页的链接。

9. 打开图谱URL不匹配

当一个或多个页面上指定的canonical和Open Graph URL不匹配时,会触发此警告。

为什么会出现这个问题

如果Open Graph的URL与canonical不匹配,那么非canonical版本的页面将被分享到社交网络上。

如何修复

将受影响页面上的Open Graph URL替换为canonical URL。确保这两个URL是相同的。

附注:Open Graph 标记内的 URL 必须是绝对的,并使用 或 协议。Open Graph 标记内的 URL 必须是绝对的,并且必须使用 http:// 或 https:// 协议,就像使用 canonical 的情况一样。

10. 从 HTTPS 到 HTTP 的 Canonical

当一个或多个安全(HTTPS)页面指定一个非安全(HTTP)版本为canonical时,会触发此警告。

为什么会出现这个问题

HTTPS是一个排名因素,所以在可能的情况下,将安全版本的页面指定为canonical是有意义的。

如何解决这个问题

将HTTP页面重定向到HTTPS等效的页面。如果不可能的话,在HTTP版本的页面中添加一个rel=”canonical “链接到HTTPS版本的页面。

SIDENOTE. 搜索引擎也将实施HSTS列为一个潜在的解决方案。

11. 从HTTP到HTTPS的Cannonical

当一个或多个非安全(HTTP)页面指定安全(HTTPS)版本为canonical时,会触发此警告。

为什么会出现这个问题

与HTTP相比,HTTPS是首选。拥有一个HTTP版本的页面,然后指定HTTPS版本为canonical是不合逻辑的。

SIDENOTE. 这可能不会造成很大的问题,但如果可能的话,还是值得修复。

如何解决这个问题

实现从HTTP到HTTPS的301重定向。你还应该用直接链接到HTTPS版本的页面的内部链接来替换任何HTTP版本的内部链接。

12. 非经典页面接收有机流量

当一个或多个非经典页面出现在搜索结果中并获得有机搜索流量时,会触发此警告(这是不应该发生的)。

为什么会出现这个问题

要么是你的canonical标签设置不正确,要么是搜索引擎选择了忽略指定的canonical。

如何修复

检查rel=canonical标签是否在所有报告的页面上设置正确。如果不是这个问题,请使用搜索引擎搜索控制台中的URL检测工具,看看他们是否将指定的canonical URL视为canonical。如果有不匹配,请调查为什么会出现这种情况。

最后的想法

Canonical标签并不复杂。只是一开始大家很难理解。

只要记住,cannonical标签不是一个指令,而是给搜索引擎的一个信号。换句话说,他们可能会选择一个与你声明的canonical不同的canonical。

相关网站优化推荐文章阅读:

如何正确使用Canonical标签来减少网站重复的内容

常见的网站推广优化五个技巧

网站内链布局优化常见的几个方法

赞(0)
未经允许不得转载:桂林SEO网站 » canonical是什么意思?该标签具体规范设置技巧及注意事项
分享到: 更多 (0)