为什么入口页会被自己挡住
蜘蛛池入口页的核心任务是让蜘蛛发现、抓取,并顺着链接继续走。但很多入口页上线后一直没有动静,排查服务器、DNS、CDN 都正常,问题却出在页面源码或者响应头里的一行指令。meta robots 和 X-Robots-Tag 都是给蜘蛛看的“交通标志”,一旦写错,蜘蛛可能连页面内容都不读,更不会跟踪里面的链接。
这类问题比较隐蔽,因为浏览器访问完全正常,人工检查也看不出异常,只有蜘蛛在解析时才会遵守。下面按常见指令、优先级和排查步骤来说明。
常见 meta robots 指令与容易踩的坑
meta robots 写在 HTML 的 head 里,格式是 <meta name="robots" content="...">。蜘蛛池入口页最常用到下面几个值:
- noindex:不要索引本页。入口页如果被 noindex,蜘蛛可能仍然抓取,但通常不会把它当作可收录的入口,也不会分配太多抓取预算。
- nofollow:不跟踪页面上的链接。对蜘蛛池来说这是最致命的一项,因为入口页的价值之一就是把蜘蛛引向目标 URL,nofollow 会让这条路径断掉。
- noarchive:不保留快照。对抓取本身影响不大,但会改变蜘蛛对页面价值的判断,入口页一般不需要加。
- nosnippet:不生成摘要。同样不直接阻止抓取,但入口页通常不需要限制展示。
- none:等价于 noindex, nofollow,误用后入口页基本失去作用。
还有一种情况是模板里自带 noindex,比如从测试环境复制过来的页面、CMS 的“未发布”状态,或者 SEO 插件默认勾选了“禁止索引”。入口页数量一多,这类问题会成批出现。
X-Robots-Tag 与 meta 的区别
X-Robots-Tag 是 HTTP 响应头,写法和 meta 类似,但作用范围更广。它可以针对非 HTML 资源(比如 PDF、图片、视频)设置指令,也可以在服务器、CDN 或反向代理层统一添加。
两者冲突时,蜘蛛一般会采纳更严格的那个。例如 meta 写的是 index, follow,但响应头带 X-Robots-Tag: noindex,页面仍然可能不被索引。反过来,响应头放行、meta 禁止,也一样会被挡住。排查时需要同时看 HTML 源码和 HTTP 响应头,不能只看其中一个。
另外,X-Robots-Tag 可能不是你手动加的。部分 CDN、WAF、安全插件,甚至某些爬虫防护策略会在响应里自动注入 noindex,用来防止内容被外部抓取。蜘蛛池入口页如果经过多层中间件,最好用 curl 或浏览器开发者工具确认最终响应头。
上线前的自查步骤
- 用 curl -I 查看响应头,确认没有意外的 X-Robots-Tag。
- 查看页面源码 head 区域,确认 meta robots 没有 noindex、nofollow 或 none。
- 检查模板、CMS 设置和 SEO 插件,避免默认值误伤。
- 如果使用了反向代理或 CDN,确认中间层没有注入拦截指令。
- 抓取一段时间的服务器日志,看蜘蛛是否只请求了入口页却没有继续访问内链,这往往是 nofollow 在起作用。
这些检查不需要复杂工具,几分钟就能完成,但能避免入口页长期空转。
配置建议
蜘蛛池入口页通常希望被蜘蛛发现并跟踪链接,所以大多数情况下应该保持默认的 index, follow,不要随意加限制。如果某个入口页确实需要临时屏蔽,建议单独处理,不要用全局模板一刀切。改动后观察日志里的蜘蛛行为变化,确认指令生效,再决定是否保留。
meta robots 和 X-Robots-Tag 只是抓取环节的一部分。蜘蛛是否持续来访,还取决于入口页的更新、链接结构和服务器稳定性,不要指望改一行标签就解决所有问题。