robot txt:首页与内页怎样分配任务

📍 WDQWDWQD987AAAAA:216.73.216.41
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /5181ae61ebe4.html
📄

robot txt:首页与内页怎样分配任务

在 robot txt 里给首页和内页分配任务,核心思路是:首页通常放开抓取,让搜索引擎确认站点入口和主体;内页则按价值分层,把不想被抓取、没必要被抓取或抓取代价高的部分挡在外面。robot txt 管的是“能不能抓”,不管“会不会收录”和“排第几”,所以分配任务时要围绕抓取预算和内容价值来判断,而不是把它当成排名开关。

先分清首页和内页在抓取中的不同角色

首页是整站最常被访问和引用的入口,一般不需要用 robot txt 去限制。它承担的是让爬虫确认站点存在、找到主要导航和重要栏目入口的作用。如果首页被 robots 规则挡住,爬虫可能无法顺畅进入内页,后续的索引和排名就无从谈起。

内页数量多、类型杂,才是需要分配任务的地方。可以按三类处理:

判断依据是:这个页面是否可能被用户直接搜到,是否提供了与其他页面不同的内容。如果答案是否定的,优先考虑限制抓取。

首页通常不写规则,内页用目录级规则分层

robot txt 支持按路径前缀写规则。比起逐个文件写,按目录分配更省事,也更不容易漏。例如,假设站点有 /search/ 和 /tmp/ 两个目录,可以写成:

User-agent: *

Disallow: /search/

Disallow: /tmp/

这里没有给首页写任何 Disallow,等于默认放开。内页则按目录被挡住。适用条件是:这些目录确实没有独立搜索价值,且不包含需要被收录的内容。判断结果是:爬虫不会再去抓这些路径,抓取预算更集中到有效内页上。

要注意,Disallow 只是不抓,不等于从索引里删除。已经收录的页面即使被挡,也可能因为外部链接等原因留在索引中。所以对已经收录、又想彻底移除的页面,robot txt 不是唯一手段。

用抓取预算和内容价值做取舍

时间和人手有限时,不要一上来就写复杂规则。先做两件事:

  1. 列出最近被大量抓取的目录,看哪些是参数页、搜索结果页、重复列表页。
  2. 对照这些目录,判断其中有没有页面能带来自然搜索流量。

如果某个目录抓取量高、但几乎没有搜索价值,就适合加 Disallow。如果某个目录里的页面本身是重要内容,只是带参数产生了重复,优先用规范链接或参数处理,而不是直接整目录挡住,否则可能把有效页面一起挡掉。

代价也要算清楚:规则写得太宽,可能误伤正常内页;规则写得太细,维护成本高,改版后容易失效。对中小站点,按目录粗分通常比逐条精细控制更实际。

检查规则是否按预期生效

写完 robot txt 后,至少做三项检查:

robot txt 是公开文件,任何人都能读取,所以不要在里面写内部备注或敏感路径说明。它只适合放抓取指令,不适合放密码、后台地址等安全信息。

下一步:打开你站点当前的 robot txt,把首页和内页的规则分开看一遍,先确认首页没有被误挡,再挑一个抓取量高但无搜索价值的目录加上限制,观察一段时间后再决定是否调整。

图1 图2

nginx