二级域名是挂在主域名左侧的一层主机名,例如 blog.example.com 里的 blog。当同一批内容在 www.example.com、m.example.com 或某个二级域名上都能打开时,就出现了重复或冲突信号。处理顺序不是先写规则,而是先确认哪个主机名是主版本,再把其他版本明确指向它,否则搜索引擎可能各自抓取、各自索引,权重和点击都会分散。
很多人以为只要用了二级域名,就必然和主站割裂,于是急着把它屏蔽掉。这个判断过于绝对。二级域名在技术上是独立主机名,可以有自己的 robots.txt、站点地图和抓取设置,但它是否被当成独立结果,还取决于内容是否重复、内链是否指向它、以及你是否给了规范信号。真正的问题不是“二级域名存在”,而是“同一内容有多个可访问地址,却没有说清哪个是主版本”。
另一种误解是:在 robots.txt 里禁止抓取某个二级域名,就等于把它从索引中移除。robots.txt 的抓取限制不等于可靠的索引移除。如果页面已经被收录,禁止抓取后搜索引擎可能仍保留旧索引,只是不再更新摘要。要移除索引,应优先让页面返回 404 或 410,或在确认可抓取的前提下使用页面级 noindex;robots.txt 只适合阻止抓取,不适合当作移除工具。
重复信号指多个地址返回实质相同的内容,例如 example.com/page 与 www.example.com/page 同时可访问。冲突信号更强:两个版本不仅内容相同,还各自有独立内链、独立站点地图,甚至互相指向不同的规范地址。此时搜索引擎收到的指令是矛盾的。
判断结果分三种:如果二级域名承载独立内容,保留并给它独立站点地图;如果只是主站内容的另一入口,选一个主版本并做 301;如果是测试或旧环境,直接下线并返回 404 或 410。
时间和人手有限时,不要一次性改所有信号。按影响面排序:
<head> 中写指向主版本的 canonical。注意 canonical 是提示而非强制指令,不能替代重定向。假设某站同时存在 www.example.com 和 shop.example.com,两者卖同一批商品且内容几乎一致。正确做法是选 www.example.com 为主版本,把 shop.example.com 的商品页 301 到对应主站 URL,并更新站点地图。若 shop.example.com 有独立品牌和独立内容,则应反过来给它独立 canonical 和站点地图,而不是强行合并。这个例子是假设,用于说明判断条件,不是真实项目结果。
HTTPS 解决的是传输加密,不保证站点安全无漏洞,也不保证排名。把 HTTP 301 到 HTTPS 是统一信号的一部分,但做完这一步不等于重复问题就解决了。如果 HTTP 和 HTTPS 都能访问、都返回 200,冲突依然存在。同理,提交站点地图不保证收录,它只是告诉搜索引擎有哪些 URL 可抓。不同搜索引擎对 canonical、noindex 和重定向的处理细节需要分别核查,不能假设一套设置在所有引擎里效果相同。
拿一张表,列出你所有能访问该内容的二级域名、www 版本、HTTP 版本和带参数版本,逐个记录返回状态码、canonical 指向和内链使用情况。标出返回 200 且内容重复的地址,按上面的优先级从 301 开始处理。处理完一周后,用站点查询指令分别核查主版本和旧二级域名是否仍被索引,再决定是否需要进一步提交移除请求。