检查移动端与桌面端的canonical标签差异,最终要交付的是一份可复核的对照表:每个需要索引的URL,在移动版和桌面版各自声明的canonical目标是什么,两者是否指向同一个规范URL,以及不一致时由谁在哪个模板或配置里修改。第一次接触这个问题,起点不是打开某个工具,而是先确定“以哪个版本的HTML为准”和“由谁负责修复”这两件事。
对照表至少包含这些列:页面用途或页面类型、桌面端URL、桌面端HTML中声明的canonical、移动端URL、移动端HTML中声明的canonical、两端是否一致、判断结果、责任方。假设某产品详情页桌面版地址为 /product/a,移动版为 /m/product/a,桌面版HTML里写的是 <link rel="canonical" href="/product/a">,移动版HTML里写的是 <link rel="canonical" href="/m/product/a">,那么这一行就标记为“不一致”,需要确认移动版是否应当指向桌面版规范地址。这只是为了说明表格填法的假设例子,不代表任何真实站点的结论。
验收标准可以定为:所有计划被索引的页面,两端canonical字段都能被读取;同一页面在两端指向同一规范URL;无法读取或指向自身以外的异常项都有明确处理记录。达不到这三条,就不能算检查完成。
如果站点是响应式设计,移动端和桌面端共用同一份HTML,canonical通常只有一个值,此时检查重点是不同User-Agent下返回的HTML是否一致,而不是比较两个独立页面。如果是独立移动站或动态服务不同版本,才需要逐页比较两套HTML。
判断结果分三类:一致且指向合理,通过;不一致但能说明原因并有计划,待处理;字段缺失或指向错误地址,不通过。待处理项要写清责任人和预计完成节点,否则表格只是记录,不构成验收。
移动端和桌面端canonical不一致,可能来自模板各自维护、移动站配置未跟随主站更新、URL重写规则把参数带入canonical、或者内容管理系统对不同终端输出不同字段。这些是可能原因,不是已经定位的原因,必须回到具体页面的HTML和模板代码确认。核对时不要只看一个页面就下结论,至少覆盖上面列出的页面类型。
还要区分canonical与其他控制手段:robots.txt限制抓取不等于可靠的索引移除,站点地图列出URL也不保证被收录。canonical是页面内声明规范地址的信号,不能替代重定向、robots规则或索引移除操作。如果同一页面同时存在canonical冲突和抓取限制,应先理清各自的作用范围,再决定改哪一处。
责任划分建议按来源定:模板输出问题归前端或模板维护方,配置项问题归内容管理系统配置方,URL映射问题归负责路由或重写规则的一方。验收由提出检查需求的人对照表逐项确认,不能只凭“已经改过”口头回复。
下一步很具体:先建一张只有页面类型、两端URL、两端canonical值四列的空白表,选五个代表性页面填满,再决定是否需要扩大样本和安排修复。表填不出来,说明资料还没备齐,先补资料而不是先改代码。