网站收录

预览域名和临时链接被收录:上线前把可抓取的入口收口

还没正式发布的页面却能搜到,点进去是测试域名或带令牌的预览地址,这类 URL 进了索引后会和正式页面争同一个内容信号。本文按“确认是哪个地址、反推发现入口、再按顺序收口”的思路,梳理测试环境的处理顺序和上线前的自查清单。

网站收录

预览域名和临时链接被收录:上线前把可抓取的入口收口

做开发和运营的人常会遇到一种情况:某段还没正式发布的文案,在搜索引擎里能搜到,点进去却是测试域名或者带长串参数的预览地址。这类 URL 本身没有搜索价值,进了索引之后还会和正式页面争同一个内容信号。处理这件事的重点不在于“删掉”,而在于先把可被抓取的入口收口。

先确认被收录的是哪个地址

域名不同,处理方式完全不同,所以第一步是看清楚。用 site: 加上对应域名查一遍,再换几段正文里的原句搜一遍,通常能定位到具体形式:

  • 测试子域:带 staging、test、dev、beta 前缀的域名或独立子域。
  • 同域下的预览路径:如 /preview/、/draft/、带随机串的临时目录。
  • 对象存储或 CDN 默认地址:静态站、附件、图片被单独部署时生成的那个域名。
  • 带分享令牌的链接:在线文档、原型工具、图床生成的公开链接,往往一串随机字符就能直接打开。

把这几种分开记录,才知道该在哪一层做拦截。混在一起处理,容易出现“屏蔽了 A,结果收录的是 B”的情况。

这些地址是怎么被爬虫发现的

没有任何地方引用过的 URL,爬虫一般拿不到。所以发现入口可以反推:

  • 开发时把预览地址贴进了工单、聊天群或公开论坛,被第三方页面转载或引用。
  • 正式站的内链、导航或站点地图里混进了测试路径,比如复制模板时忘了改链接。
  • 上线流程里把测试域名提交到了搜索后台,或者一份 sitemap 文件里同时列了两套域名。
  • 服务器日志里的 Referer 能看出第一批访问来自哪里,这比靠猜可靠得多。

处置顺序:先断入口,再改信号

  1. 清理引用来源。内链、导航、站点地图、已经公开出去的分享链接,能删的删,能撤回的撤回。入口还在,信号怎么改都会反复出现。
  2. 限制访问。给测试环境加登录验证或限制来源 IP,让爬虫拿不到内容,比事后一个个去屏蔽更省事。
  3. 让状态码变干净。如果整个测试域名不再使用,让它统一返回 404 或 410,比留着一个可访问的页面更明确。
  4. 必要时加 noindex。注意顺序:noindex 要生效,页面必须能被抓取到。如果先用 robots.txt 把整个目录屏蔽掉,爬虫看不到 noindex,索引里的旧记录反而可能留得更久。
  5. 正式域名上线后补上规范化。如果同一份内容确实要在多个地址提供,用 canonical 指向正式地址,并确认正式地址本身可访问、状态正常。
  6. 走一遍移除流程。确认页面已经不可访问之后,再用搜索后台的移除工具加速。索引更新本身有延迟,不必反复提交。
robots.txt 的作用是“不要来抓”,不是“从索引里删”。已经收录的 URL,屏蔽抓取往往只能阻止内容被更新,记录本身还会在结果里存在一段时间。

上线前的自查清单

  • 测试域名和预览路径没有出现在正式站的内链、导航与站点地图里。
  • 站点地图只列正式域名,其中的 URL 都能正常访问。
  • 分享类链接设置了有效期,或默认不对外公开。
  • 打包发布流程里没有把测试环境的配置或链接带上去。
  • 上线后用搜索框和服务器日志各核一遍,确认没有遗漏入口。

已经进了索引,还要等多久

页面不可访问之后,索引记录的移除速度取决于抓取频率,快的几天,慢的需要更久。这期间不要频繁改策略:一会儿 noindex、一会儿 robots 屏蔽、一会儿又放开,信号互相冲突反而拖慢处理。把入口收干净、状态码稳定下来,剩下的交给时间。