canonical标签简介
canonical标签是页面html代码head部分的一个html标签,canonical标签主要作用于解决:网址规范化问题。
格式
<link rel="canonical" href="url地址" />
例如:
<link rel="canonical" href="https://www.linfengnet.com/" />
什么是网址规范化问题?
就是将一个页面有多个URL地址,例如:
https://www.linfengnet.com/
https://www.linfengnet.com/index.php
上面两个链接都是首页页面,像这种有多个URL为相同页面的情况,就是网址规范化问题。
据估计,网上有10%-30%的URL是内容相同但URL不一样的不规范化网址。
无论是对搜索引擎还是网站来说,多个URL为相同页面,浪费了抓取资源,而且如果多个网址内容相同时或者高度相同,可能会认为网站重复页面过多一类的因素导致影响收录甚至降权。
在一个页面有多个URL时,还会对页面找出权重分散,降低了页面排名能力,网站无意义收录等问题。
当页面出现URL规范问题,搜索引擎也会自动判断并选择一个认为是规范的页面进行索引。
Canonical标签有什么作用
对一组内容完全相同或高度相似的网页,通过使用Canonical标签可以告诉搜索引擎哪个页面为规范的网页,能够规范网址并避免搜索结果中出现多个内容相同或相似的页面,帮助解决重复内容的收录问题,避免网站相同内容网页的重复展示及权重的分散,提升规范网页的权重,优化规范网页的排名。
如何使用canonical标签解决 URL规范化问题?
可通过在每个非规范版本的 HTML 网页的 <head> 部分中,添加一个 rel=”canonical” 链接来进行指定规范网址。
例如,要指定指向网页 https://www.linfengnet.com/product.php?id=15786 的规范链接
需要按以下形式创建 <link> 元素:
<link rel=”canonical” href=”https://www.linfengnet.com/product.php?id=15786″/>
然后将上述链接复制到某网页所有非规范网页版本的 <head> 部分中
(例如 https://www.linfengnet.com/product.php?id=15786&active=1),即可完成设置。
解决URL规范化问题其他方法
- 使用301转向,把不规范化URL全部转向到规范化URL
- 确保使用的CMS系统只产生规范化网址
- 确保网站上所有站内链接都指向规范化网址
- 外部链接尽量指向规范化网址
- 在提交给搜索引擎的sitemap.xml网站地图中只提交规范化网址
- 英文网站的话,在Google管理员工具中设置首选域
- 这些方法都各有局限。
Canonical标签的作用和细节
这个标签只是一种建议或暗示,而不是指令,它不像robots文件那样是个指令。
所以搜索引擎会很大程度上考虑这个代码,但并不是百分之百,还会考虑其他情况来判断规范化网址。这也防止站长有可能把网址弄错。
这段代码既可以使用绝对地址,也可以使用相对地址。通常还是建议使用绝对地址比较保险。
指定的规范化网址上的内容,与其他使用这段代码的非规范化网址内容可以有一些不同,不一定完全一样。比如在电子商务网站上有很多按价钱、颜色,、尺寸升降排序,生成的URL全都不一样,但内容大体相同,只有细小区别,就可以使用这个标签。
搜索引擎会把带有同样canonical标签的页面权重集中到标签指向的那一个页面上。
指定的规范化网址可以是不存在页面,返回404,也可以是还没有被收录的页面。但是不建议这么做,别没事找事。
这个标签适用于同一个域名内,包括二级域名。也可以跨域名使用。所以可以在其它网站发布文章时加上。当然,这个在国内基本不现实。
别把这个标签当救命草,首先还是得把网站结构做好,尽量避免出现URL规范化问题。这只是最后万不得已的方法。
利用Canonical标签获取外链
Canonical标签是可以跨域使用的。
在其他站点上利用Canonical标签去标注一个目标URL,为目标URL带来外链获取权重。
例如:我有两个网站,分别是站点A、B,我在站点B发布一个篇文章,但是站点B的该文章页面上使用Canonical标签,将url的值作为设置的站点A的链接。
Canonical标签特点和优点
特点:这个标签相当是一个页面内的301转向。区别在于用户并不被转向,还是停留在不变网址上,而搜索引擎会把它当作是301转向处理,也就是说把页面链接的权重都集中到代码中指明的规范化网址上。
Canonical标签的一个优点是方便,可以直接写在页面html代码中,不用服务器端设置转向之类。某些情况下,部分站长可能无法设置转向,但html代码总是能控制的。
Canonical标签的出现时间
2009年2月,Google,雅虎,微软共同发布了一个新的标签canonical tag,用于解决网址规范化问题。刚开始推出时百度没参与。但大约2013年时百度也明确支持canonical标签。
参考资料: