网站收录

测试环境地址被收录:先顺着链接找它是从哪漏出去的

预览域名、staging 地址、临时目录出现在搜索索引里,多数不是蜘蛛乱抓,而是站内或站外真的存在一条通往它的链接。本文按泄漏渠道分组排查,先分清抓取与收录两个层次,再处理已进索引的地址,最后把环境隔离写进发布流程,避免清了又冒。

网站收录

测试环境地址被收录:先顺着链接找它是从哪漏出去的

在 site 查询的结果里,偶尔会看到 preview 子域、staging 地址、临时目录,或者带一长串哈希的预览链接。这些页面本来不是给搜索引擎看的,却因为某条链接、某个配置被蜘蛛发现,留下了索引记录。处理这类问题,先别急着提交移除,先弄清楚它是从哪条路径漏出去的,否则今天清掉一批,明天又冒出来一批。

先分清是被抓过,还是真的进了索引

这两件事经常被混在一起,处理方式却完全不同:

  • 抓取日志里出现测试地址,只说明蜘蛛来过一次,不代表它会被收录。
  • 索引里能查到,说明这个地址至少满足了一些条件:可以访问、内容非空、没有被 noindex 之类的信号拦下。

用 URL 检查工具或 site 查询确认它当前处在哪一层。如果只是被抓过,重点放在堵住入口;如果已经出现在索引里,还要多加一步退出处理。

常见的几条泄漏路径

  • 内链残留:正式站页面里还挂着指向 staging 或预览域名的链接,比如帮助文档、旧公告、调试用的导航项。
  • 站点地图与 RSS:构建时误把非正式域名写进 sitemap、RSS 或结构化数据里的地址。
  • 外部引用:协作工具、工单系统、论坛或邮件里贴出的预览链接,被爬虫顺着抓走。
  • 环境本身可公开访问:staging 没有做访问控制,域名解析到了公网,蜘蛛可以直接到达。
  • 构建产物写死地址:前端打包时把绝对路径固定成预览域名,页面里的图片、接口地址、canonical 都指向它。

按渠道分组处理,别一条条删

把发现的地址按来源分组,优先级并不相同:

  1. 内链泄漏优先处理,因为它会持续被重新发现,改模板、删链接就能掐断。
  2. sitemap 或 RSS 泄漏,改生成逻辑,重新提交正确的文件即可。
  3. 外部引用能改的改,改不动的靠环境隔离兜底。
  4. 环境可公开访问属于根治项,加访问控制或从公网撤下。

已经进索引的地址怎么退出

  • 先让页面返回合适的信号:确实不再存在的返回 404 或 410,仍然需要保留的加 noindex。
  • 注意顺序问题:用 robots.txt 屏蔽抓取之后,蜘蛛看不到页面里的 noindex,索引里的旧记录反而更难自然消失。
  • canonical 指向正式页只能解决“选哪个地址代表”,并不解决这个地址能不能被看到。
  • 站点平台提供的移除工具适合少量、紧急的地址,大规模清理还是要靠前面几层。

把隔离写进发布流程

  1. 非正式环境统一加认证,或在服务器层面不对外开放。
  2. 预览域名默认带 noindex 响应头,而不是只依赖页面里的 meta 标签,有些渲染流程未必能读到。
  3. 构建时加一道域名白名单检查,sitemap、canonical、内链只允许出现正式域名。
  4. 发布后顺手抽查一次:site 查询加上抓取日志过滤非正式域名,确认没有新的泄漏。
预览地址被收录,多数不是蜘蛛乱抓,而是站内或站外确实存在一条通往它的链接。找到那条链接,问题才算处理了一半。

这类地址的处理思路,和站内其他收录问题一致:先确认现状处在抓取层还是索引层,再顺着来源分组收敛,最后用流程和配置把它挡在门外。单点清理很快,能防止复发的是那几道发布前的检查。