Google Search Console 报“重复网页,Google 选择了不同的规范网页”,同一分类或 CMS 页面既能通过带尾斜杠地址访问,也能通过不带斜杠、不同协议、www 或参数版本访问。只加 canonical 不能替代服务器层的 URL 统一。

列出每种可访问版本的真实响应

对一个代表页面检查 HTTP、HTTPS、www、非 www、带斜杠、不带斜杠和常见参数:

curl -I '页面版本A'
curl -I '页面版本B'
curl -IL --max-redirs 10 '页面版本A'

记录每一步状态和 Location。目标通常是非规范版本一次 301 到规范版本,规范页面返回 200。多次跳转会增加抓取与用户延迟,HTTP→HTTPS→www→尾斜杠三跳应尽量合并。

Base URL 与 Web 服务器规则必须一致

Magento Secure/Unsecure Base URL、Use Secure URLs 与 Nginx/Apache/CDN 重定向要选择同一个协议和主域。如果 CDN 强制 www,Magento 又生成非 www,会形成循环或不断产生两套内链。

尾斜杠策略要按路由类型测试。首页通常自然带斜杠,商品 URL 可能以 .html 结尾,分类和 CMS 可能不同。不要写一个粗暴规则给所有包含扩展名的文件追加斜杠。

Canonical 应输出最终规范 URL

页面最终 HTML 中 canonical 要与 301 目标、站点地图和内部链接一致。若页面 A 301 到 B,但 B canonical 到 C,搜索引擎仍要处理冲突信号。第三方 SEO 模块和主题模板可能重复输出两个 canonical,需要查看渲染后的 head。

参数 URL 要按功能分类

UTM 跟踪、排序、每页数量、筛选、分页和站内搜索参数的处理不能相同。跟踪参数通常不改变主体内容;分页和筛选可能改变商品集合。先制定规则,再决定 canonical、noindex 或可索引落地页。不要把所有带问号 URL 都 301 到无参数页面,这会破坏筛选与营销归因。

内链和站点地图是持续信号

导航、面包屑、分页、hreflang 和 Sitemap 应直接使用规范版本,避免站内先链接非规范 URL 再依赖 301。多语言站点的 hreflang 也必须引用各语言最终 200 页面。

上线后抓取一组商品、分类、CMS、分页和筛选 URL,确认重定向不循环、canonical 唯一、状态正确。Search Console 的重复报告消退需要时间,可结合服务器日志观察搜索引擎是否逐步减少抓取旧版本。