重复页面排查的核心,是先用可执行的清单确认“哪些URL内容相同或高度相似”,再判断该合并、该保留还是该删除。企业网站常见的情况是同一产品被多个栏目路径访问、带参数链接被收录、旧版页面未清理。处理时通常有两种方案:一是用301重定向把重复页指向主页面,二是用canonical标签声明规范版本。前者适合内容确实重复且不需要独立入口的页面,后者适合参数页、排序页仍需保留访问的情况。下面用一个假设例子说明完整排查与比较过程。
假设某企业官网有一个产品详情页,因栏目调整和参数链接,出现了以下四个都能打开的地址:
/products/a.html(当前主页面)/old-products/a.html(旧栏目遗留)/products/a.html?from=nav(导航参数)/products/a.html?from=footer(页脚参数)这四个地址若正文、标题、产品描述基本一致,就属于需要处理的重复内容。注意:这里只是假设示例,不代表任何真实网站的数据。
先不要急着改代码,先收集证据。可以执行以下检查项:
site:指令在搜索引擎中查询主页面标题或产品名称,观察返回了哪些URL。不同搜索引擎的指令支持程度不同,结果只作参考。判断结果:如果多个URL的标题、正文主体、产品参数完全一致,只是路径或参数不同,就可以进入方案比较。如果内容有实质差异,比如不同地区版本、不同规格说明,则不应简单合并。
两种方案的目标不同,适用条件也不同。
<head>中声明主版本地址。页面仍可正常访问,但告诉搜索引擎优先收录指定版本。适合参数页、排序页、打印页等需要保留访问功能的重复页面。缺点是它只是提示,不同搜索引擎的处理方式可能不同,不能保证一定按声明执行。选择依据可以简化为:如果重复页不需要被用户直接访问,优先用301;如果重复页仍需保留访问入口,优先用canonical。两者也可以组合使用,但不要对同一组页面同时做互相矛盾的设置。
以假设例子中的旧栏目页/old-products/a.html为例,若决定用301,可在服务器配置中添加规则,把该路径永久重定向到/products/a.html。若决定用canonical,则在参数页的<head>中写入指向主页面的规范链接。
常见错误包括:
修改后,需要再次抓取或提交更新,并观察日志中旧地址的访问状态。比较改动前后时,要考虑季节、搜索需求变化和数据采集差异,不能仅凭一两天的数据判断效果。
验证时检查三点:旧地址是否返回301或正确声明canonical;主页面是否能正常访问且内容完整;站点地图和内部链接是否只指向主版本。如果旧地址仍有大量外部链接,且内容与主页面高度相似,301通常是更直接的选择。如果参数页有实际筛选功能,用户会主动使用,canonical更合适。
下一步,建议先整理一份重复URL清单,按“是否需要保留访问”分成两组,再分别套用301或canonical方案,逐批修改并记录每次改动对应的URL和日期,便于后续核对。