当同一批内容被拆到多个域名时,最有效的做法不是继续堆配置,而是先给每个域名一个能被验证的用途声明:主域承担索引与流量,辅助域承担跳转、归档或内部交付,并在页面可见层、链接关系和抓取规则三处保持一致。只有用途声明与页面实际表现一致,蜘蛛爬行优化才有意义;否则相似内容会在多个域名间反复被抓取,却无法判断哪个该保留。
多域名相似内容的处理方式,取决于辅助域是否面向外部用户。条件一:辅助域只服务内部或特定人群,例如测试域、交付预览域、区域镜像域,用户通过直接链接进入,不依赖搜索发现。条件二:辅助域本身就是对外入口,例如品牌分站、活动独立站、不同语言市场站,用户会主动搜索并访问。
两种条件的差别不在技术难度,而在用途说明的落点。内部辅助域可以把用途写进响应头、robots.txt 注释和团队文档,外部入口域则必须让普通访客在页面上看懂它与主域的关系。若把对外入口域当成内部域处理,只加一条抓取限制,用户仍会从搜索结果进入,造成同一内容两个入口。
假设一个团队把已发布内容复制到 preview.example.net 供客户验收,主站是 www.example.com。此时辅助域的用途是内部预览,不应与主站争夺索引。
X-Robots-Tag: noindex,而不是只依赖 robots.txt。robots.txt 限制抓取不等于可靠的索引移除,已收录的 URL 仍可能出现在结果中。rel="canonical" 指向主域对应 URL,前提是两页内容确实相同;若预览页有未发布的改动,canonical 会传递错误信号,应改为 noindex。实施后检查辅助域是否仍有 URL 被抓取。若抓取量下降但索引量不变,不能直接判定处理正确:索引更新有延迟,也可能有外链指向旧 URL。下一步应查看这些 URL 的入站链接来源,而不是继续加限制。
当辅助域本身面向用户,例如面向不同地区的独立域名,限制抓取会直接损失该市场的可见性。此时要说明的是分工,而非隐藏。
这里的关键动作是逐个 URL 判断“相同”还是“不同”。判断结果直接决定用 canonical 还是保留独立索引。若把有地区差异的页面错误合并,会丢失其中一方的可见性;若把完全相同的页面各自保留,则相似内容继续分散抓取预算。
小范围测试时,几个页面的 noindex 或 canonical 往往很快见效,于是容易被推广到全站。规模化后出现例外,通常有三个原因。
应对方式是抽样验证而不是全量假设。从每个模板、每种链接来源、每类参数中各取若干 URL,检查响应头、canonical 和可见说明是否一致。发现不一致时,先修模板再重跑抽样,而不是逐页手工修补。HTTPS 只解决传输层问题,不保证页面结构正确,也不替代用途声明。
无论哪种条件,最终都要让用途在三处可复查:页面可见文字、HTML 头部的 canonical 或 robots 指令、以及服务器返回的响应头。三处一致时,蜘蛛爬行优化的判断成本最低;三处冲突时,抓取行为会以其中一处为准,而运营者往往不知道是哪一处。
一个可执行的收尾动作是:为每个域名建立一张用途登记表,记录域名、用途、是否允许索引、规范指向,并在每次内容迁移后核对一次。这张表不是给搜索引擎看的,而是让团队在出现相似内容抓取异常时,能快速判断是用途声明缺失,还是声明与实际页面不符。若核对后发现声明齐全但抓取仍异常,下一步应检查外部链接与站点地图,而不是继续修改页面指令。