给頁面加 noindex,通常都有明确理由:測試环境不想被外面看到、活動頁還没定稿、某批内容准备整体下线。問题在于這些設定经常被当成一次性操作,加完之後没人负责撤掉,等頁面正式對外时标簽還留在原地。
和 robots.txt 相比,noindex 的作用范围更小、藏得也更深:它可能寫在單個頁面的头部,可能寫在整個栏目的模板里,還可能根本不在源碼中,而是由服務器或 CDN 以响應头形式下發。正因為不易察觉,它才值得單獨做一次自查。
noindex 常见的几個藏身處
- 單頁头部設定:頁面從草稿、舊版本或測試站複製過来,标簽一起带了過来。
- 基础模板寫死:為了临时屏蔽某個栏目,在公共模板里加了規則,後来内容做起来了也没改回来,所有繼承该模板的頁面都被挡住。
- 响應头下發的 X-Robots-Tag:由服務器、反向代理或 CDN 配置决定,頁面源碼里完全看不到。
- 分頁與聚合頁的批量規則:早期為控制重复内容给整類頁面统一加了限制,後續内容做厚了却没同步調整。
- 迁移带来的残留:從舊站或測試站整体搬迁时,配置和模板一並複製過来。
一套可执行的排查顺序
動手之前先分清一件事:規則是加在單個頁面上,還是加在模板或服務器配置上。前者改内容即可,後者要動的地方更多,判断错了會白改很多次。
- 看源碼:打開几個有代表性的頁面,在头部区域查找 robots 相關标记,確認目前是允许還是禁止,同时留意是不是所有頁面表現都一致。
- 看响應头:用命令行工具只請求头部信息,检查是否存在 X-Robots-Tag。這一步最容易被跳過,因為它在源碼里看不见。
- 追到模板:如果多個頁面問题相同,直接去基础模板、栏目模板和配置文件里找,而不是一頁頁手工修改。
- 按頁面類型抽样:首頁、栏目頁、詳情頁、分頁、标簽聚合頁各取几個样本,判断结论按類型给出,而不是只看一两個頁面就下结论。
- 记錄结论:哪些是故意保留的(例如站内搜尋结果頁、後台入口),哪些是遗漏的,寫成清單,下次不必從零判断。
几個容易混淆的地方
與 robots.txt 的区別
robots.txt 里的 Disallow 表達的是「別来抓」,noindex 表達的是「可以抓,但別收錄」。如果一條路径既被禁止抓取,又指望靠 noindex 生效,通常两邊都落空:蜘蛛進不来,自然也看不到那個标簽。
與 nofollow 的区別
nofollow 主要影响連結是否被跟随,頁面本身照样可能被收錄。想要不收錄,需要的是 noindex。
與 canonical 的区別
canonical 是說明「以哪個地址為准」,它並不阻止收錄。两者在同一頁面上叠加使用时,判断會變得复杂,一般不建议這样搭配。
把 noindex 当成一個開關来管理,而不是一次性的临时動作。上线前確認、下线後清理,比事後翻记錄省事得多。
把检查放進固定流程
- 用配置項或环境變量控制:測試环境預設禁止收錄,生产环境預設放開,减少手工遗漏。
- 在發布清單里增加一條:確認目标頁面可以被抓取、可以被收錄。
- 按季度對各類頁面做一次抽样,尤其關注新上线的栏目和刚改版過的模板。
- 服務器或 CDN 配置變更之後,顺手复查一次响應头。
這件事花不了多少時間,却决定了前面做的 URL 規范、内鏈梳理、sitemap 整理有没有落地的机會。發布前多確認一步,比几個月後發現某批内容一直没被看到要划算。