遇到canonical相关问题时,先不要急着改标签。更有效的顺序是:先确认页面能否被抓取,再确认页面是否进入索引,最后确认搜索引擎展示的是哪个URL。canonical属于页面级信号,它影响的是“多个URL中哪个应被视为规范版本”,但如果页面本身被robots.txt挡住,或者根本没有被抓取,canonical写得再正确也无法按预期生效。因此判断问题属于哪一层,关键看现象落在抓取、索引还是展示环节。
要查什么:服务器日志或搜索引擎的抓取统计中,目标URL是否出现过抓取记录。
怎么查:在服务器访问日志里筛选目标URL和搜索引擎爬虫的User-Agent;如果站点已接入搜索后台,也可以查看抓取统计中的响应码分布。
结果说明什么:如果目标URL从未被抓取,问题在抓取层,优先检查robots.txt是否禁止、内部链接是否可达、服务器是否持续返回5xx。如果被抓取但返回403、503或超时,也属于抓取层,canonical不是首要问题。
注意:robots.txt的抓取限制不等于可靠的索引移除。它只是阻止抓取,已收录的URL仍可能出现在结果中,因此不能用它替代canonical或noindex来处理重复URL。
要查什么:在搜索引擎中用site:查询目标URL,或查看搜索后台的页面索引报告,确认哪个URL被索引、哪个被排除。
怎么查:分别查询A、B两个重复URL,记录哪一个出现在结果中;再查看被排除URL的排除原因,是否显示“重复网页,Google选择的规范网页与用户不同”或类似说明。
结果说明什么:如果两个URL都被索引,且展示的规范版本与预期不一致,问题在索引层的canonical信号。此时检查三点:canonical标签是否指向自身而非目标URL;多个canonical是否冲突;canonical指向的URL是否可抓取、可索引、返回200。如果canonical指向了一个被robots.txt禁止的URL,搜索引擎无法确认该目标,通常会忽略这个信号。
站点地图不保证收录。把规范URL放进sitemap只是辅助发现,不能替代canonical本身,也不能强制搜索引擎选择它。
要查什么:搜索结果中实际展示的URL、标题和摘要,是否与预期规范URL一致。
怎么查:用目标关键词或品牌词搜索,记录结果中展示的URL;同时对比搜索后台中“已编入索引”的URL与展示URL是否相同。
结果说明什么:如果索引中的规范URL正确,但展示URL不同,问题在展示层,可能涉及URL参数、重定向链、站点结构或搜索引擎对用户更友好URL的选择。这一层通常不是canonical标签本身错误,而是搜索引擎在展示时做了替换。此时应检查该展示URL是否可正常访问、是否与规范URL内容一致,而不是反复修改canonical。
site:或搜索后台确认哪个URL被索引。两个都索引且规范版本不符,属于索引层问题。时间和人手有限时,按抓取→索引→展示的顺序处理。抓取层不通,后面两层都无从谈起;索引层规范选错,展示层通常也不会稳定。不同搜索引擎对canonical的支持情况须分别核查,不能用一个引擎的结果推断另一个引擎。
下一步:选一个重复URL样本,按上面六项清单逐条记录结果。只要某一层出现“否”,就先停在那一层处理,不要跳到canonical标签上反复修改。