為什么這個開關容易被忽略
noindex 是頁面級指令,通常寫在 HTML 的 meta 标簽里,也可以由服務器通過 HTTP 响應头 X-Robots-Tag 下發。它和 robots.txt 的分工不一样:robots.txt 说的是“別来抓”,noindex 说的是“可以抓,但別放進结果里”。很多站点出問题,不是因為没寫,而是因為寫了之後忘了撤。
更麻烦的是,noindex 不像 404 那样會立刻暴露。頁面照样能打開,用戶看不出異常,只有從抓取和收錄的角度才會感到不對劲。
常见的誤加场景
- 測試模板残留。预發环境整站套了 noindex 模板,上线时只換了域名没換模板,首頁、栏目頁、正文頁一起被挡住。
- 共用模板牵连正文頁。给分頁、篩選頁、站内搜尋结果頁加 nofollow 本身没错,但如果正文頁和這些頁面共用同一套模板,内鏈也可能被一起掐掉。
- 網關层注入响應头。CDN、反向代理或 WAF 统一加了 X-Robots-Tag,运营在頁面源碼里翻半天也找不到,因為它在响應头里。
- 指令互相打架。meta robots 和 X-Robots-Tag 同时存在且内容冲突时,一般以更嚴格的那個為准。一個寫 index、一個寫 noindex,结果往往是不收錄。
怎么自查
先分清楚指令来自哪里
打開頁面源碼搜 robots,看 meta 标簽里有没有多余的 noindex 或 nofollow;再用命令行工具請求同一地址,只看响應头部分,確認有没有 X-Robots-Tag。两個位置都要看,只看其中一處很容易漏。
覆盖不同類型頁面
建议至少抽查首頁、一級栏目頁、正文頁、分頁、站内搜尋结果頁各一到三個 URL。同一個模板生成的頁面往往表現一致,但不同栏目可能用了不同模板,抽样范围太窄會誤判。
對比线上與预發
把两邊的响應头和 meta 标簽並排比一次,能很快發現模板被整份複製、域名没跟着切換這類問题。
- 首頁與栏目頁是否存在 noindex
- 正文頁是否被 nofollow 覆盖了内鏈
- 响應头里是否有 X-Robots-Tag,来源是服務器還是 CDN
- meta 與响應头指令是否冲突
- 分頁、篩選頁的規則是否影响到了正常内容
處理时守住几條原則
- 只對确實不该出現在结果里的頁面用 noindex,例如後台、购物车、内部搜尋结果頁。
- 想节省抓取预算,用 robots.txt 屏蔽整類路径更干净,別在能收錄的正文頁上挂 nofollow。
- 撤销 noindex 後,頁面要被重新抓取才會更新,不會立刻恢复,需要留出观察窗口。
- 把 noindex 做成模板里的可配置項,別寫死在共用模板中,避免下次改版再踩一次。
robots.txt 管的是“来不来抓”,noindex 管的是“抓到了要不要展示”。两者用混,最常见的结果是頁面既没被抓、也没被收錄,而你一直以為只是暂时没生效。
回到日常维護
把這項检查放進改版清單和上线前检查流程,比事後排查省力得多。每次調整模板、網關規則或栏目结构之後,抽几個代表性 URL 复核一次,就能挡掉大部分誤伤。需要說明的是,即使指令配置正确,抓取和收錄也由平台自行判断,本文提供的是排查方向,不代表任何收錄结果。