运维手动编辑 robots.txt 时把 User-agent: * 写成了 User-agent:,冒号后面留空,整段 Disallow 变成无主规则,Googlebot 读到的是一份没有任何限制的空文件。
原因不止一个,得分开看。User-agent 后面必须有值,空值分组会被解析器直接忽略;后续所有 Disallow 都挂在这个空分组下,等于没有生效;编辑时用了全角冒号,肉眼看上去正常但解析失败;文件末尾没有换行,最后一条规则被截断。
先把线上文件按行号打印出来
curl -s https://www.example.com/robots.txt | findstr /n "."
随后用解析器验证分组归属
curl -s https://www.example.com/robots.txt | findstr /i "user-agent"
修正分组并补上换行
User-agent: *
剩下的就是重新抓取确认规则生效
curl -s https://www.example.com/robots.txt | more
同一份数据我导出了两份,一份留底,一份拿来试。
恢复的判定其实很直接。修正后解析器能识别到通配分组,日志里被挡的目录重新出现抓取,GSC 的 robots 屏蔽条目开始下降。
robots 是纯文本协议,一个空值或全角符号就能让整段规则失效,改完必须逐行核对。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
