Canonical标签在网页设计中的全面应用与最佳实践指南

Canonical标签在网页设计中的全面应用与最佳实践指南

15-12-2023
canonical

HTML中的Canonical规范

相信大家对网页的正规链接标签(canonical tag)并不陌生。我们可利用这个 HTML 标签告诉搜寻引擎,本页面的主要标准连结为哪一个。这样可避免因为页面重复而被误判。 要正确使用的话,只需在网页部分加上一行程序码:

<link rel="canonical" href="https://www.domain.com">

href 属性会指向网页主要版本的位置。

使用正规链接标签的好处:

CSS 没有正规链接标签这回事,但透过 CSS 程序码,仍可提升 SEO 的各个层面。原理如下:

1.集中权重,避免流量分散
例如把多个产品页面的参数合并到单一主产品页面,或将 www 和 non-www 转址至同一域名,这样可聚合权重外,亦防止分散流量。同样的概念也适用于将短连结转址到长连结。

2.移动版与桌面版统一正规
有时移动网站的权重会比桌面网站低,这时可透过正规链接标签将两个版本统一到单一权威页面。

3.搜寻引擎判断准确度提高
告知引擎正规网址的目的,是让其更准确判读网站主要内容的位置,从而有助 SEO 排名。这个技术虽然简单,但应用得当的话,肯定能有显著的 SEO 帮助!

CSS中的Canonical规范

合理调整内容样式:例如运用正确的 HTML heading 标签展示文字段落,而不是全部用 div/span。再将 class/id 命名符合内容语意化。这些小动作能助搜寻引擎正确理解、标示关键资料。

移动版优化:同时兼顾不同装置,无缝提供类近的閲览体验,能有效提高移动用户的黏着度;而长短句子并存的写作,更能增加文本的吸引力与可读性。利用 media query 实现回应式设计;控制水平滚动、适配各荧幕尺寸也很重要。

性能、符合规范:压缩 CSS/JS、非关键资源延后载入,有助加快页面载入;妥善运用快取机制也可起加速作用。此外,紧扣无障碍标准有益 SEO,因为搜索引擎爬虫能更轻松抓取分析这类网页内容。

以上种种优化措施,虽然并非 canonical tag 本身,但无疑能对 SEO 形成正面推动力,实在不容忽视!

总结主要体现在以下几个方面:

  • 1.合理的内容样式
  • 使用正确的heading标签(h1-h6)表示内容层级结构
  • 避免统一使用div/span标签
  • 语义化cass/id命名
  • 这些做法都可以帮助搜索引擎爬虫理解页面中的内容语义,提取关键信息。 
  • 2.移动端优化
  • 使用CSS media query实现回应式设计
  • 避免水平滚动,适配不同荧幕
  • 合理控制tap目标大小
  • 以上做法将提高移动用户的体验,有助于移动端网页的SEO。
  • 3.页面加载性能
  • 精简CSS/JS档大小
  • 使用异步加载非关键资源
  • 合理使用缓存
  • 优化的加载速度可以减少跳出率,提高页面在搜索引擎的评价。
  • 4.符合可访问性标准
  • 颜色对比、字体大小
  • 语义化HTM标签
  • WAI-ARIA属性
  • 良好的可访问性让搜索引擎更容易解析网页内容,有助SEO。

虽然CSS与canonical无直接关系,但CSS的最佳实践可以对SEO产生积极的影响与促进作用。

使用规范URL的原因

常言道:“熟能生巧”。但说到网站优化,重复内容却是大忌,必定招来搜索引擎“红牌”!要规避风险,使用规范网址(Canonical URL)是不二法门。

例如一个产品页面,同时存在:

细细琢磨,多版本页面容易分散权重,也易被搜索引擎视为自动生成内容。假如产品页同时存在多个链接参数,规范标签可发挥作用,将权重集中指向一个统一网址。

品牌若开设多个站点域名,也可利用规范链接聚合至主站;不同格式如网页移动版及APP的内容重复,亦可透过此方法消除。

效果理想的话,主要页面流量增加、排名上升皆在可期。反之,就算没有明显损害,分散化也非上策,网站内容体系仍有进一步整合空间。

在优化工作上,标签技术细节固然重要,但更要从宏观着眼,理解并区分页面版本优劣,甄选核心内容,规范优化。此消彼长,SEO 成效才能持久。

Canonical标签的基本使用方式和不同设置示例:

1.HTML页面中直接设置

在页面的部分加入链接标签:

<link rel="canonical" href="https://www.domain.com/blog" />

这是最简单直接的设定canonical标签方式。

2.JS代码中动态生成

可以通过JS代码动态插入canonical 标签:

var canonical = document.createElement('link');
canonical.rel = 'canonical';
canonical.href = 'https://www.domain.com/blog';
document.head.appendChild(canonical);

适用于JS渲染的页面。

3.PHP后台代码中生成

可以在PHP后台模板中直接输出canonical标签:

<?php echo '<link rel="canonical" href="'. $canonicalURL .'">'; ?>

通过PHP变量动态设定网址。

4.NET后台C#代码中写入Response

Response.Write("<link rel=\"canonical\" href=\"https://www.domain.com/blog\">");

适用于ASP.NET站点。

5.Java Servlet中设置回应头

response.setHeader("Link", "<https://www.domain.com/blog>; rel=canonical")

通过设置Link头信息添加标签。

6.Nginx Rewrite规则中加入回应头

rewrite ^ /page? break;
header append Link "<https://www.domain.com/blog>; rel=canonical";

7.Apache .htaccess档中设置回应头

Header append Link "<https://www.domain.com/blog>; rel=canonical"

8.Flask后台Python框架中设置

@app.route('/page')
def page():
    response = make_response(render_template('page.html'))
    response.headers['Link'] = '<https://www.domain.com/blog>; rel=canonical' 
    return response

以上是一些主要的Canonical标签设置示例,可以根据不同后台语言选择合适的方式。

Canonical标签的实施与检测

在网站完成Canonical标签设置后来,检测方式可以用以下几种:

1.浏览器插件查验

大家比较常用的浏览器插件有SEOquake、MozBar等,在进行安装后可以在访问网站页面时直接查看站点是否已经使用Canonical标签,用起来很便利。

使用浏览器外部插件检查网站是否成功设置了Canonical标签的方法如下:

SEOquake :安装浏览器插件后,直接访问该页面,左下角可以看到显示: Canonical URL: https://www.domain.com/blog

可知规范到没有参数的产品主页面。

MozBar :同样查看目标页面后,MozBar会在网页右边显示一个Purple Box框,点开后在Canonical URL一项中可以看到链接的目标页面。

Screaming Frog :在Software界面输入示例页面链接,点Crawl Website后即开始检测网站内页面的Canonical信息,最后输出详细列表报告。

Ahrefs :登陆Ahrefs,在URL Explorer功能中输入示例页面链接,点击检查页面,在返回结果的Canonical URL一栏可看到被设置的目标地址。

这些都是行业内比较推荐的能够直观显示当前页面Canonical设置情况以及目标页面信息的插件和工具,使用简单方便,可以很好地检查网站的Canonical标签是否设置正确。

2.利用在线工具

例如Google搜索控制台的URL检测工具,可以输入页面URL来查询检测是否含有Canonical标签信息。Screaming Frog爬虫工具也可以检查指定网页的Canonical。

这里推荐几种online工具来检测网站Canonical标签,并举例说明检测过程:

Google搜索控制台URL检测工具

访问搜索控制台,选择URL检测功能

输入需要检测的页面,如 https://www.domain.com/blog

搜索结果会显示该页面的Canonical标签信息

即可查看规范的目标页面

Screaming Frog SEO Spider

打开Screaming Frog软件,输入网站URL

点击Crawl网站即自动递归爬取

最后在列表里查看每一个页面的Canonical列

即可批量检查整站设置情况

Ahrefs 网站检测工具

登陆Ahrefs,在工具栏选择URL Explorer

输入要检测页面的链接,点击分析

结果页面会明确显示Canonical URL

与设置的目标页面对比检查

以上都是免费或试用的在线网站检测工具,操作简便,结果明确,可以快速检查网页Canonical设置的正确性。

3.检视网页源代码

步骤:

浏览器打开需要检测的网页

按下F12键打开开发者工具,找到Element面板

在页面源代码中查找:

确认href属性是否有填入正确的主要页面网址

如果源代码中存在上述标签和属性,则表示Canonical标签设置成功。其href路径就是当前页面内容的主要网址声明。

此外也可以直接在浏览器地址栏后面加上view-source:前缀来查看原始网页源代码判断是否存在Canonical元标签信息。

Canonical标签的常见问题与解答:

Q: 跨域是否可以使用Canonical标签?
A: 原则上不建议,主要针对站内重复内容。部分特殊业务场景如多区域站点下可测试谨慎使用。案例如内容站部分文章页规范到电商产品页。

Q: 设置Canonical后搜索引擎的处理方式是?对排名影响?
A: 搜索引擎会采纳规范页面为主要版本,其他页面作为副本。长期有利于主页面权重提升,排名提高。

Q: HTTP和HTTPS同时存在时如何设置Canonical?
A: 应将所有HTTP页面规范到HTTPS页面,这是必要的优化方案。

Q: 仅AMP页面的Canonical设置建议?
A: 建议使用Canonical将AMP页面规范到对应的PC网页URL,因为AMP缺乏完整元数据。

Q: 能否自动为全站设置Canonical?优缺点?
A: 可以自动批量生成,辅助消除重复内容,但也存在风险。需要评估实施的必要性。

Q:网页title标签中的Canonical属性有什么作用?使用时有什么注意事项?
A:title标签的Canonical用于告知搜索引擎看到同样标题时指向规范网址。注意不能替代标准的link Canonical,只是辅助作用。

Q:对于拆分成多页的长内容,使用Canonical标签需要考虑哪些方面的因素?
A:需要考虑拆分逻辑、首尾页以及中间内容页的链接关系,同时链接到完整版也是必要的。

Q:使用rel=“alternate” 属性与 Canonical 有什么关联与区别?
A:alternate用于指向替代版本,Canonical用于指向规范版本。 fines有互补作用但不冲突。

Q:移动APP中的网页是否也可以设置Canonical 链接?有什么限制因素?
A:移动APP可使用Universal Links技术插入Canonical元数据,但部分APP对外链支持并不完善,需要考量。

Q:使用 CMS 系统建站时,Canonical 的设置有什么好的方式?
A:许多 CMS 系统如 WordPress 都有相关插件实现自动化设置。也可以修改源模板添加自定义功能。

More Blogs