robots.txt最容易踩的五个坑,第二个几乎人人中过
从"全站禁抓"的乌龙到Disallowed语法的隐蔽误解,逐个拆解robots.txt写法错误与正确姿势。
robots.txt只有几行语法,出错的代价却是整站收录。下面五个坑按出现频率从高到低排。
坑一:测试环境规则带上线
在测试站写了Disallow: /忘了删,正式上线后整站对蜘蛛关门。上线前必须diff一遍robots文件。
坑二:斜杠语义理解错
Disallow: /a禁的是所有以a开头的路径,包括/about、/abc。想只禁a目录要写成Disallow: /a/。这一个字符的差别影响过无数站点。
坑三:Allow和Disallow顺序
部分引擎按先匹配先生效处理,规则顺序写反会让Allow失效。把更精确的规则放前面。
坑四:Sitemap写进错误位置
Sitemap指令必须独立成行、写绝对URL,放在文件任意位置都行,但混进User-agent块里加注释符会失效。
坑五:屏蔽参数页连带内容页
用通配符大面积屏蔽带问号的URL,结果列表翻页、正文分页全被误伤。参数页应该用canonical或noindex处理,robots只兜底。
正确做法
写完先用官方的robots测试工具逐条验证,再观察一周日志里蜘蛛实际抓到的URL是否与预期一致。文件改动后生效有延迟,不要一天改多次。