做收录排查时,很多人第一反应是怀疑内容质量或站点权重,但有一类原因更常见也更简单:页面被站内配置主动挡住了。这类问题不用等,翻一遍配置就能确认。
三种屏蔽方式,作用的位置不一样
先把概念理清,后面的排查会快很多。
- robots.txt 的 Disallow:拦的是抓取。爬虫不会来取这个 URL,也就无从判断内容好坏。被 Disallow 的地址仍可能因为外部链接出现在搜索结果里,只是没有摘要。
- meta robots 的 noindex:拦的是索引。爬虫正常抓取,读完 HTML 后决定不把页面放进索引。
- X-Robots-Tag 响应头:作用和 noindex 类似,但写在 HTTP 头里,适合 PDF、图片、视频这类没有 head 标签的文件。
三者经常被混用,最典型的一个错误是:想让某个页面从索引里消失,却先用 robots.txt 把它屏蔽了。结果是爬虫进不来,读不到 noindex,页面在索引里留很久。
排查时容易漏掉的几种情况
- 测试环境的 robots.txt 或 noindex 规则被一起发到了线上。
- 模板里统一加了 noindex,某个本该收录的栏目没有单独放开。
- 脚本在渲染后才插入 noindex 标签,服务端返回的 HTML 里看不到。
- 页面在登录、会员、地区或特定 UA 的拦截之后,爬虫访问到的其实是登录页或 403。
- CDN 或安全策略把搜索爬虫当成异常流量拦下了,日志里只留下拒绝记录。
推荐的排查顺序
- 查看页面源代码里的 meta robots,确认有没有 noindex、nofollow。
- 用抓取测试工具查看 HTTP 响应头,看有没有 X-Robots-Tag。
- 打开 robots.txt,逐条核对目标目录是否在 Disallow 里。
- 换不同 UA 访问一次,确认没有登录墙、地区限制或拦截。
- 如果站点大量使用前端渲染,检查渲染后的 DOM 是否被注入 noindex。
- 以上都没问题,再去考虑内容质量和索引状态本身。
想放开收录,顺序也有讲究
如果确认是屏蔽导致的,调整时按依赖关系来:
- 先去掉 robots.txt 里的 Disallow,让爬虫能正常访问。
- 再移除 meta robots 或 X-Robots-Tag 里的 noindex。
- 确认页面返回 200,主要内容在服务端 HTML 里就能看到。
- 补上站内入口链接,必要时再提交 URL 或站点地图。
如果是反过来——页面已被收录、想让它退出索引,顺序就要颠倒:先保证可抓取,再加 noindex,等页面从索引中消失后,才考虑用 robots.txt 屏蔽。
这类问题不需要什么技巧,但优先级很高:它决定后面所有优化是否还有意义。页面连被抓取或索引的资格都没有,再去调标题、改内容都是空转。花十几分钟把屏蔽层过一遍,通常比反复猜测有效得多。