重复页面排查的核心不是“找两个一样的URL”,而是确认同一批内容是否被多个可访问地址分别返回、分别被抓取。多人协作时,建议把排查结果写成一张表:URL、返回状态、页面标题、主体内容指纹、canonical指向、内链入口、处理动作、负责人。只凭“看起来差不多”就删页,容易误伤分页、筛选页和参数页。
要查的是同一篇内容是否存在多个可访问地址。常见来源包括:带与不带www、http与https、结尾带与不带斜杠、大小写不同、带跟踪参数、带排序或筛选参数、打印页、AMP或移动版独立地址。做法是选一篇代表性内容,把这些变体逐一在浏览器打开,记录返回状态和最终地址。若多个变体都返回200且正文一致,就属于需要处理的重复;若其中一个301跳转到主地址,说明已经收敛,不必再动。
判断结果:返回200且内容一致,进入下一步判断哪一个是主版本;返回301或308,记录跳转目标即可;返回404或410,说明该变体已不存在,无需处理。
要查的是每个可访问地址上的页面信号。逐项记录:<title>是否相同、正文主体是否相同、<link rel="canonical">指向哪里、是否有<meta name="robots">限制。做法可以用浏览器查看源代码,也可以用抓取工具批量导出。重点看矛盾情况:A页canonical指向B,B页canonical又指回A;或者两个页面正文相同但canonical各指自己。这类互相指向会让主版本不明确。
判断结果:canonical一致指向同一个主地址,说明意图清楚;互相指向或各自指向自己,说明需要人工确定主版本;canonical指向一个404地址,说明配置有误,应优先修复。
要查的是站内是否存在正文高度重合但URL不同的页面。做法是导出主要页面的正文文本,去掉导航、页脚、广告等公共部分,再比较相似度。多人协作时可以由一人负责导出,一人负责比对,避免各自凭印象判断。阈值需要按站点实际情况定,例如正文相似度超过九成且主题相同,就列为候选;只有产品参数不同但描述模板相同的页面,要结合搜索意图判断,不能一律合并。
判断结果:正文几乎相同且服务同一搜索需求,通常保留一个主版本;正文相同但面向不同地区或不同语言,应考虑用hreflang而非简单删除;只有少量参数不同的页面,先确认是否有独立搜索需求,再决定保留、合并或加 canonical。
要查的是站内链接和站点地图指向了哪个地址。做法是抽取首页、栏目页、相关文章页中的链接,看它们指向的是主版本还是变体;再检查站点地图中是否同时列出多个重复地址。若内链大量指向变体,而canonical指向主版本,信号会互相冲突。
判断结果:内链和站点地图都指向同一主版本,说明信号一致;若内链指向变体,应统一改为指向主版本;若站点地图包含已被canonical排除的地址,应从站点地图中移除或改为只保留主版本。
改动前后比较时,要考虑季节、搜索需求变化和数据采集差异,不宜用某一天的流量直接断定效果。下一步是选一个栏目做小范围试点,按上面的清单跑一遍,确认处理动作不会误伤有独立需求的页面,再扩大到全站。