检查canonical在移动端与桌面端的差异,核心是确认两端HTML源码中rel="canonical"指向的URL是否一致,以及该URL是否与当前页面内容匹配。如果两端指向不同地址,或者移动端缺失canonical,搜索引擎可能把同一内容当成两个页面处理。多人协作时,把检查结果写成可交付的对照表,比口头说“没问题”更能减少返工。
这项检查适用于同一内容同时提供移动版和桌面版页面的站点,包括响应式设计、独立移动域名(如m.example.com)和动态服务三种情况。前提是两端页面内容主体一致,只是模板或URL形式不同。如果移动端和桌面端本来就是不同内容,比如移动端只展示摘要,那么canonical策略需要单独判断,不能直接套用“两端必须相同”的结论。
需要提前拿到的东西:两端页面的完整URL、可查看源码的浏览器或抓取工具、一份待检查的URL清单。清单按页面类型分组,比如首页、栏目页、详情页,避免只抽查首页就下结论。
按下面顺序逐项执行,每项都记录结果,不要只记“通过”或“不通过”。
举个例子:假设桌面端页面是https://www.example.com/a,canonical指向自身;移动端页面是https://m.example.com/a,canonical却指向https://m.example.com/a。这时两端各自声明自己,搜索引擎需要额外判断哪个是首选版本,容易造成信号分散。假设移动端canonical改为指向https://www.example.com/a,两端信号就统一了。这个例子只用于说明判断逻辑,不是真实项目结果。
多人协作时,建议每个URL一行,列出以下字段:页面类型、桌面端URL、桌面端canonical、移动端URL、移动端canonical、是否一致、指向页状态码、备注。这样任何人拿到表格都能复核,不需要重新问一遍。
验收信号可以定为:清单内所有URL的两端canonical字段都有明确结论,没有“待确认”遗留;不一致项已经指定修改责任人和复核人。如果只是把表格填满但没处理不一致项,交付仍然不算完成。
第一,把canonical和重定向混为一谈。canonical是给搜索引擎的信号,不是用户跳转;用户访问移动端URL时不会因为canonical而自动跳到桌面端。第二,认为canonical指向的页面一定被收录。canonical只是合并信号的参考,收录还受其他因素影响,不能保证。第三,忽略参数差异。比如桌面端canonical带?from=pc,移动端不带,这种差异需要统一,否则可能被当成不同URL。
另外,robots.txt的抓取限制不等于可靠的索引移除。如果canonical指向的页面被robots.txt屏蔽,搜索引擎可能无法读取该页面的确认信号,合并效果会打折扣。站点地图也不保证收录,它只是发现URL的途径之一。HTTPS同样不保证安全无漏洞或排名提升,检查canonical时不必把这三件事混进结论。
选一个当前正在协作的页面模板,按上面的对照表字段填一遍移动端和桌面端的canonical,标出所有不一致或缺失项。然后把这张表作为该模板上线前的固定检查项,指定谁填、谁复核。这样下次改版时,canonical差异会在交付前暴露,而不是上线后靠搜索表现反推。