处理SEO域名选择中的重复或冲突信号,核心做法是先确认信号来源与作用层级,再决定保留哪一个、屏蔽哪一个。常见冲突包括:同一内容能通过多个域名或子域访问、www与非www同时返回200、HTTPS与HTTP都能打开、旧域名与新域名同时可访问。不要先改配置,先收集证据,否则可能把可用的规范信号一起破坏。
域名层面的重复信号通常分三种,处理方式不同。
http://example.com 与 https://example.com 都能返回内容。此时需要确认服务器是否对HTTP做了301跳转,而不是仅靠HTTPS证书存在。example.com 与 www.example.com 都返回200。需要选定一个规范主机名,另一个做301。适用前提是:你能拿到服务器配置、DNS记录和页面返回头。如果只能看到页面内容而看不到响应状态,判断会不可靠。
不要凭浏览器地址栏判断,浏览器可能缓存跳转或隐藏协议。用命令行工具逐项检查:
curl -I,记录返回的状态码和 Location 头。301表示永久跳转,302表示临时跳转,200表示直接返回内容。<link rel="canonical"> 指向哪个URL。canonical是页面级提示,不是强制指令,但能反映站点意图。robots.txt 是否对某个主机名或路径做了Disallow。注意:robots.txt限制抓取不等于可靠的索引移除,已收录URL可能仍出现在结果中。把结果整理成一张表:域名、协议、状态码、跳转目标、canonical、sitemap中的形式。冲突点会直接显现。
当多个信号指向不同URL时,按以下顺序判断保留哪一个:
判断结果的标准是:任一候选URL访问后,最终都落到同一个规范URL,且返回200;非规范URL返回301并指向规范URL。
改完后不要只看首页。抽查以下项目:
curl -I 再测一遍所有候选形式,确认非规范形式全部301,规范形式200。一个常见误判是:看到浏览器地址栏变成HTTPS就认为HTTP已跳转。实际上可能是浏览器强制升级或HSTS在起作用,服务器对HTTP仍返回200。必须用不经过浏览器缓存的工具复核。
另一个误判是把robots.txt当作删除工具。如果某个冲突域名已被收录,Disallow只能阻止后续抓取,不能保证从索引中移除。需要移除时,应使用301或页面级noindex,并确认该页面没有被robots.txt阻止抓取,否则noindex可能读不到。
先选一个冲突最明显的域名对,完成一次完整的 curl -I 记录,再对照canonical和sitemap。把证据写下来之后,再决定301规则写在哪一层。不要在没有记录返回状态的情况下批量修改跳转。