蜘蛛池知识

蜘蛛池入口页的 robots 设置:Disallow、noindex 与 nofollow 的区别

入口页能不能被抓到、抓到的页面要不要进索引、页面里的链接要不要继续跟,是三件独立的事。本文把 robots.txt 的 Disallow、meta robots 的 noindex 与 nofollow、X-Robots-Tag 的作用拆开讲清楚,并给出入口页常见的配置组合、容易踩的误区和上线前的检查项。

蜘蛛池知识

蜘蛛池入口页的 robots 设置:Disallow、noindex 与 nofollow 的区别

入口页能不能被蜘蛛抓到,除了链接结构和服务器响应,还有一层很容易被忽略的开关,就是 robots 相关指令。它可能写在 robots.txt、页面的 meta 标签或 HTTP 响应头里,形式不同,作用也不同。配错了,前面铺的入口页和链接可能根本传不出去;配对了,至少能保证蜘蛛该看的地方能看到、不该浪费的地方不浪费。

先分清三件事:抓取、索引、跟随

讨论 robots 设置之前,要先把三件事拆开:蜘蛛来不来抓这个 URL(抓取)、抓到的页面要不要进索引(索引)、页面里的链接要不要继续跟下去(跟随)。这三个开关互相独立,很多人把它们当成一件事,才会出现「明明放行了却没有收录」或者「明明禁止了却还在结果里」这类困惑。

robots.txt 的 Disallow:挡的是抓取,不是索引

robots.txt 是最外层的一层规则。Disallow 一个路径,意思是告诉遵守规则的蜘蛛别来抓这个目录下的 URL。它有几个特点值得注意:

  • 它只约束抓取行为,不负责把已经收录的页面从索引里移除。页面如果被外部链接指向,仍可能以仅链接的形式出现。
  • 被 Disallow 的页面,蜘蛛看不到里面的内容,自然也就看不到页面上的链接。如果入口页承担着把蜘蛛引向目标页的任务,禁止抓取等于自断链路。
  • 规则按最长匹配优先,少写或多写一个斜杠,都可能把整个目录挡掉,改动前最好用日志或测试方式验证一遍。

meta robots 与 X-Robots-Tag:控制索引和跟随

页面级的指令更细。常见取值有 noindex、nofollow、noarchive 等,用逗号分隔可以叠加。它们只对已经被抓到的页面生效——蜘蛛没抓到页面,就读不到这行 meta。这一点正好和 robots.txt 的 Disallow 形成对照:

  • 想让页面从索引里消失,用 noindex,并且必须让蜘蛛能抓到页面,否则它读不到这个指令。
  • 不想让蜘蛛顺着页面上的链接继续爬,用 nofollow。但它只是建议,蜘蛛未必完全照做。
  • X-Robots-Tag 是写在 HTTP 响应头里的等价形式,适合非 HTML 文件,也方便在服务器层面统一加。

几种规则叠加时,通常是最严格的那条起作用。比如 robots.txt 禁止抓取、页面又写了 noindex,最后的结果往往不是干净移除,而是页面留在索引里却无法被更新。

蜘蛛池入口页通常怎么配

入口页的角色是被发现、被读取、把链接传出去,所以常规做法是允许抓取、允许跟随,不要顺手在入口页上叠加 noindex。真正需要收紧的往往是另外几类页面:

  1. 纯中转页、空壳页,如果不希望它们占据索引位,可以在允许抓取的前提下加 noindex,让蜘蛛读到链接但不保留页面。
  2. 参数拼接出来的重复 URL,优先用 canonical 和参数处理规则解决,而不是一上来就 Disallow 整个参数目录。
  3. 后台、测试、统计类路径,直接用 robots.txt 挡掉,减少无意义的抓取消耗。

几个容易踩的误区

把 robots.txt 当成清理工具,是入口页配置里最常见的误解。它管的是抓取,不管索引;想移除页面,需要页面本身可被抓取、并返回 noindex,或者用其他合规方式处理。
  • 改了 robots.txt 却忘了蜘蛛会缓存旧版本,规则生效有延迟,别改完当天就下结论。
  • 入口页模板批量复制时,把 nofollow 一起复制进去,链接全部不被跟随,等于白建。
  • 用脚本或响应头动态下发 robots 指令,蜘蛛如果拿不到那段脚本,指令就不存在。

上线前可以过一遍的检查项

  1. robots.txt 能正常访问,返回 200,没有因为服务器故障变成 5xx 或跳转。
  2. 入口页路径没有被 Disallow 误伤,日志里能看到蜘蛛的实际访问记录。
  3. 入口页 meta 里没有意料之外的 noindex、nofollow。
  4. 入口页与目标页的 robots 规则不冲突。
  5. 规则改动留档,方便对照之后抓取数据的变化。

总体来说,robots 相关设置属于入口页的基础设施,不需要多复杂,但要求前后一致。把抓取、索引、跟随三个开关分清楚,再结合日志观察实际抓取情况,通常比反复换策略更有效。