有一類站点問题很隐蔽:頁面本身没問题,内容也寫得不错,但它被一個 noindex 或者一段屏蔽規則挡在了抓取之外,几個月都没人發現。做站点运营,定期核對“谁在被挡”和“谁應该被挡”,比事後追查為什么没收錄要省事得多。
先分清楚几種屏蔽方式
很多人把“不让抓取”和“不让收錄”当成一回事,其實它們是不同的開關,混用容易出現互相矛盾的结果。
- robots.txt 的 Disallow:告诉蜘蛛不要来抓這個地址。爬虫看不到内容,但地址如果被外鏈引用,仍可能以無描述的形式出現在结果里。
- 頁面里的 meta robots noindex:允许蜘蛛来抓,但抓完不要收錄。要让 noindex 生效,頁面必须能被正常抓取。
- X-Robots-Tag 响應头:效果和 meta 标簽類似,但寫在 HTTP 响應头里,适合 PDF、图片、视频這類没法寫 meta 的文件。
- 權限與登入墙:不算規則层面的屏蔽,但结果一样——蜘蛛看到的是登入頁或空白頁。
還有一種是前端渲染後才注入的 noindex。如果模板里寫的是“頁面加载完成後根據條件加标簽”,而蜘蛛拿到的初始 HTML 里没有這段逻辑,两邊看到的结果就可能不一致。
自查时具体看什么
一看真實响應,而不是看後台設定
後台勾了“允许收錄”不代表线上就是這個结果。用浏览器開發者工具或命令行查看目标 URL 的响應头,確認有没有 X-Robots-Tag,再看渲染後 HTML 里 meta robots 的實际取值。
二核對模板和預設值
最常见的事故来源是模板預設带 noindex:新栏目複製了舊模板、測試环境配置被带到线上、某個插件預設给标簽頁和归档頁加了 noindex。抽几個不同栏目、不同頁面類型的地址各测一次,比只看首頁有用得多。
三分清哪些頁面本来就该屏蔽
站内搜尋结果頁、篩選參數頁、後台地址、測試目錄、重复的打印頁,屏蔽掉通常是合理的。真正要查的是“该屏蔽的有没有漏”,以及“不该屏蔽的有没有被誤伤”。
四检查屏蔽與站点地图是否打架
如果站点地图里提交了一堆 URL,而這些 URL 的响應头里带着 noindex,两邊就是在互相消耗。要么把不该收錄的從地图里撤掉,要么把屏蔽規則改掉,別让两個信号同时存在。
几個容易踩的坑
- 用 Disallow 屏蔽了頁面,又想靠頁面里的 noindex 让它不收錄——規則冲突,noindex 根本讀不到。
- 分頁的第二頁之後被整体 noindex,後續内容失去了入口。
- 測試域名和正式域名共用一套模板,測試域的規則忘了清理。
- 图片和 PDF 文件没有被單獨检查,實际的屏蔽寫在响應头里。
建议的處理顺序
- 整理一份頁面類型清單:栏目頁、詳情頁、列表頁、标簽頁、搜尋頁、附件文件。
- 對每一類抽两三個真實地址,记錄响應头、meta 标簽、robots.txt 三處的狀態。
- 标出“预期屏蔽”與“實际屏蔽”不一致的地方,按影响范围排序處理。
- 改完後重新抓取一次,確認响應已经變化,再观察日誌里這些地址的抓取情况。
屏蔽規則是開關,不是萬能鎖。它的作用是告诉蜘蛛哪些地址值得花時間,而不是把問题頁面藏起来。内容本身不行,屏蔽得再干净也不會带来流量。
把结果记下来,過一段時間再看
把這次核對的结果寫進运维记錄:哪些路径是刻意屏蔽的、原因是什么、由谁决定的。半年後再翻這份记錄,能省掉大量猜测。站点结构會變,模板會換,运营人員也會換,只有寫下来的規則不會自己消失。