什么是rel = canonical,为什么我应该使用它?

暗示搜索引擎文档的首选版本

当您运行数据驱动的网站或有其他原因可能会重复某个文档时,告知搜索引擎哪些副本是主副本或行话中的“规范”副本很重要。 当一个搜索引擎索引你的页面时,它可以告诉内容何时被复制。 如果没有附加信息,搜索引擎将决定哪个页面最能满足其客户的需求。 这可能没什么问题,但是搜索引擎有很多实例提供过时和过时的页面,因为他们选择了错误的文档作为规范。

如何指定规范页面

将文档中的元数据标准化的URL告诉搜索引擎是非常容易的。 将下面的HTML放在每个规范页面上的HEAD元素的顶部附近:

如果您有权访问HTTP标头(例如使用.htaccess或PHP),则还可以在没有HTML HEAD的文件(如PDF)上设置规范URL。 为此,请为非规范页面设置标题,如下所示:

链接:< 规范页面的URL >; 的rel = “规范” 的

规范标签如何工作以及何时不工作

规范的元数据用作搜索引擎关于哪个页面是主页的提示。 搜索引擎使用它来更新他们的索引来引用主副本作为主副本,当他们提供搜索结果时,他们发布他们认为是规范的页面。

但是,您指定的规范页面可能不是搜索引擎提供的页面。

这可能发生的原因很多:

Rel = Canonical Tag不是什么

许多人认为,如果将rel = canonical链接添加到页面,那么该页面将被重定向到规范版本,例如使用HTTP 301重定向。 那是不正确的。 rel = canonical链接为搜索引擎提供信息,但它不会影响页面的显示方式,也不会影响服务器级别的重定向

规范链接最终只是一个提示。 搜索引擎不必遵守它。 大多数搜索引擎都尽力去尊重页面所有者的意愿,但是在一天结束时,搜索结果就是他们所做的事情,如果他们不想为您的规范页面服务,他们就不会。

何时使用规范链接

正如我上面所说的,你应该在每个不规范的重复页面上使用链接。 如果页面的内容相似但不完全相同,则有时更有意义的是将其中一个更改为更加不同,而不是使其成为一个规范。

将两个不完全相同的页面标记为规范是可以的。 他们应该是相似的,但你不应该简单地将所有页面指向你的主页。 Canonical意味着该页面是该文档的主副本,而不是您网站上的任何主链接。

我认为最重要的一点是重要的 - 不应该把你所有的页面作为规范页面指向你的主页,不管你有多诱惑。 这样做,即使是偶然的,都可能导致每一个不规范的页面(即每个页面不是你的主页,并且有rel = canonical链接)从搜索引擎索引中移除。

这不是Google(或Bing或Yahoo!或任何其他搜索引擎)是恶意的。 他们正在做你要求他们做的事情 - 考虑每个页面的主页重复并将所有结果返回到该页面。 然后,当客户感到沮丧结束在您的主页而不是更相关的文件,该网页将不太受欢迎,并会在搜索结果中下降。 即使你解决了这个问题,你可以在几个月后终止搜索结果,并且不保证你的网站排名会恢复。

你不应该制定一个页面规范,因为某些原因(例如使用noindex元标记或被robots.txt文件排除)而被排除在搜索之外。 为了使搜索引擎将页面引用为规范,它必须能够首先引用它。

使用rel = canonical链接的好地方包括:

何时不使用规范链接

你的第一个选择应该是301重定向。 这不仅会告诉搜索引擎页面URL已经改变,而且还会让人们看到最新的(并且敢说我是canonicol?)版本的页面。

不要懒惰。 如果您要更改网址结构,请使用某种形式的HTTP标头操作(例如.htaccess或PHP或其他脚本)来自动添加301重定向。

虽然您可以使用rel = canonical链接,但不会放弃较旧的页面。 所以任何人都可以随时找到他们。 事实上,如果客户的网页已添加书签并且您更改了网址,但只使用rel = canonical链接更新搜索引擎,则该客户将永远不会看到新的页面。

对于有大量重复内容的网站,rel = canonical链接是一个有用的工具。 通过了解它的工作原理,您可以有效地使用它。 但最终,它是由搜索引擎发布的工具,以帮助他们保持搜索索引的最新状态。 如果您不保持服务器的清洁和最新状态,那么您的客户将受到影响,并且您的网站可能会受到伤害。 负责任地使用它。