測試环境、舊域名、纯 IP 訪問的頁面出現在搜尋结果里,是站点运营中很常见的一類問题。它和頁面质量、内容重复關系不大,多數时候是上线流程里少了一步收口。處理這類問题的關键在于:先分清是哪一個域名或哪一類訪問方式被收錄,再按顺序做限制、重定向或移除。
先分清是哪一類不该被收錄的地址
不同類型的地址,處理方式不一样,混在一起改容易漏。
- 測試子域:staging、test、dev、beta 等前缀的域名或子域。
- 纯 IP 訪問:服務器直接用 IP 提供同一套内容。
- CDN 或對象存储別名:回源域名、临时预览域名被外部引用後被抓取。
- 舊域名與备用域名:品牌更換、站点迁移後仍然可以訪問的舊地址。
- 协议與端口變体:http 與 https 同时可訪問,或带端口的地址。
上线前的收口顺序
顺序比動作本身更重要,先做訪問层限制,再谈頁面里的 meta 指令。
- 先在訪問层挡住:内網訪問、Basic Auth、IP 白名單任選其一,這是最彻底的一层。
- 再补 noindex:如果測試站确實需要對外可訪問,例如给客戶预览,至少保證頁面返回 noindex,並且不要让它出現在任何公開連結里。
- 检查 robots.txt 的位置:robots 要放在對應子域的根目錄,寫在主站上對子域不起作用。
- 確認没有外部入口:分享連結、协作工具、第三方截图、外鏈都可能把 URL 递出去。
- 上线时做替換:測試地址不要直接删掉就完事,能對應到正式頁面的做 301,没有對應頁面的用 410 更明确。
robots 與 noindex 的顺序容易弄反
一個常见誤区是:既在 robots.txt 里禁止抓取,又想靠 noindex 让頁面登出索引。抓取被禁止之後,搜尋引擎讀不到頁面里的 noindex,頁面可能因為外部連結仍然保留在索引中,只是缺少摘要信息。
更稳妥的做法是二選一:
- 要彻底不公開:在訪問层限制,让它對搜尋引擎和普通用戶都不可達。
- 要允许訪問但不想被收錄:不屏蔽抓取,改用 noindex。
已经被收錄了,接下来按這個顺序處理
- 核對現状:確認是哪個域名、哪類 URL 進了索引,是主站被镜像,還是子域被單獨收錄。
- 切断可訪問性:能 301 的做 301,不能的返回 404 或 410,避免一直返回 200。
- 提交移除請求:用搜尋平台的移除工具處理紧急情况,同时提交更新後的頁面或站点地图。
- 清理内外部連結:站内導航、頁脚、舊文章里的連結最容易漏。
- 持續观察:索引更新有延迟,通常需要數天到數周,期間定期核對即可。
移除請求只是加速手段,不是刪除按钮。真正决定頁面能否登出的,是它是否還可訪問、是否還有指向它的連結。
镜像域名與多域名绑定
同一套内容绑定了多個域名时,先确定一個主域,其余域名做 301 指向主域的對應頁面,並保證主域頁面 canonical 指向自身。不要出現 A 域 canonical 指向 B 域、B 域又指回 A 域的情况,這會让收錄归属反复摇摆,也让蜘蛛在两個地址之間来回抓取。
上线後值得固定核對的几項
- 測試子域是否仍能通過公網直接打開。
- http 與 https、带 www 與不带 www 是否只有一個版本可正常訪問。
- 站点地图里是否混入了測試环境的 URL。
- 頁面模板里是否因為环境切換漏掉了 noindex 或 canonical。
- 換域名或改版之後,舊地址是否還返回 200。
這類問题几乎都能在流程上解决:把訪問层限制、noindex、重定向、連結清理放進上线检查表,按顺序执行,比事後一個個提交移除要省事得多。收錄狀態本身會有延迟,核對时以頁面的可訪問狀態為准,不必因為一两天没有變化就反复改動配置。