Robots.txt 没写错却漏抓页面,先排查这三处
排查顺序建议是三处:先看 robots 指令实际作用范围是不是只覆盖了这部分路径,再看站点地图有没有把这些页面交给抓取,最后核对页面自身的屏蔽设置与地址规范。很多人以为写了 robots.txt 就等于安排好抓取,其实它只约束“能不能抓”,不决定“收不收录”,也不负责“多久来抓一次”。AnQiCMS(安企内容管理系统)里 robots 配置、站点地图自动生成与链接推送是三件独立的事,任何一处对不上都会出现漏抓。
第一处:robots 的指令作用范围到底覆盖到哪
robots.txt 的 Disallow 按路径前缀生效,写宽了就成片屏蔽。常见的失误有三类:为了屏蔽后台目录,写成只保留首段的短前缀,把普通栏目一起挡在外面;多站点或带子目录的语言版本共用一份规则,某个站点的路径被误屏蔽;为临时活动加的规则忘了回收,活动结束后路径仍然不可抓取。核对方式很直接:把漏抓页面的完整地址与 robots 文本逐条比对,确认命中的是哪一行。另外要清楚 robots 只影响抓取动作,历史已收录的页面即使被屏蔽也不会自动消失。
第二处:站点地图有没有真正覆盖到新页
漏抓最常见的原因是页面从来没有被交给抓取。站点地图自动生成听起来省事,但它依赖几个前提:新页面状态是正式文档而不是草稿、地址规则与线上解析结果一致、分页与栏目页也被纳入生成范围。排查时依次确认:漏抓页面在不在站点地图里;站点地图本身是否可访问、是否提交过;文件里的地址是不是带参数的旧版本。若地址形式近期改过,站点地图里应只保留规范地址,避免同一内容出现多个版本导致抓取分散。
第三处:页面自身有没有被屏蔽
页面级的屏蔽经常被忽略,因为它不写在 robots.txt 里。两种情况要检查:一是草稿或测试内容通过地址可以直接访问,这类地址本身不该出现在站点地图,也不该被继续留着;二是新页仍带 preview 预览参数发布出去,抓取到的是预览版本而不是正式版本。核对时抽样访问几个漏抓地址,确认返回状态是正常而不是重定向或错误页。伪静态改动之后尤其要做这一步,规则切换会让一批地址表面可访问、实际解析到了别处。
补齐之后怎么催抓
三处修好后,用链接推送把新增与更新的地址主动递交给百度与 Bing,解决“及时告知”这一段;站点地图继续承担全量交底。之后观察一至两周:先看这批页面有没有被抓取记录,再看收录量是否跟上。若仍无变化,回到第二处重新确认地址形式是否一致,绝大多数反复漏抓的问题都出在这里,而不是抓取频次本身。
常见问题
问:robots 里放开后页面就一定会被收吗? 答:不一定。robots 只允许抓取,收录还取决于页面质量、地址规范与是否被站点地图或推送递交。
问:站点地图太大是不是会被忽略? 答:单文件容量有协议上限,超限时应拆分并建立索引,否则后半部分地址可能没被读到,这也是一处容易漏的地方。
问:怎么确认某个地址是不是被自己屏蔽了? 答:把完整地址和 robots 规则逐行比对,同时检查页面状态、预览参数与重定向目标,三项一致才说明屏蔽不在站内。