核对抓取限制,本质是确认搜索引擎的抓取程序在访问你的自建博客时,被哪些规则允许或拒绝。最直接的方法是:打开博客根目录下的 robots.txt,逐行检查 Disallow 与 Allow 的路径是否误伤了正文页、分类页或静态资源;再结合服务器返回状态码和页面 meta 标签里的 noindex,判断限制发生在哪一层。自建博客常见的抓取限制来源有三处:robots.txt 规则、页面级 noindex、服务器访问控制。核对时按“先全局、后单页、再服务端”的顺序排查,能避免把不同层的问题混在一起。
robots.txt 是抓取限制的第一道闸门。自建博客如果用了默认模板,可能自带一条禁止抓取搜索页或动态参数的规则,而这类规则有时会误伤分页、标签页或带参数的正文链接。
核对时打开 你的域名/robots.txt,重点看三类写法:
Disallow: /:整站禁止抓取,除非你确实要临时下线,否则这是最严重的问题。Disallow: /*?:禁止所有带问号的 URL,可能误伤带跟踪参数或分页参数的正文链接。Disallow: /search 或类似路径:只应影响站内搜索页,若你的文章固定链接恰好包含该词,就会被一起挡住。判断方法:把一篇你想被收录的文章完整 URL 拿出来,去掉域名后得到路径,逐条对照 Disallow 规则。如果路径以某条 Disallow 的值开头,说明它被禁止抓取。注意规则是前缀匹配,Disallow: /blog 会同时挡住 /blog 和 /blog/文章名。若发现误伤,把该条规则改窄或删掉,再重新核对一遍。
robots.txt 允许抓取,不代表页面会被收录。页面 <head> 里的 <meta name="robots" content="noindex"> 会直接告诉抓取程序不要索引该页。自建博客在测试环境、草稿预览或某些主题设置里,可能给全站或部分模板加上了这条标签。
核对步骤:
noindex,确认它是否出现在 <meta name="robots"> 中。canonical 链接是否指向了别的 URL。若 canonical 指向一个被禁止抓取的地址,也会间接造成收录问题。适用条件:只有当 robots.txt 已放行、服务器也正常返回内容时,才需要重点查 noindex。如果 robots.txt 已经挡住,先解决上一层的规则,再看这里。
抓取限制和抓取失败是两回事。限制是规则主动拒绝,失败是服务器没能正常响应。核对时用状态码区分:
核对方法:用命令行工具请求目标 URL,例如 curl -I 你的文章地址,看返回的状态码。如果返回 403,说明限制发生在服务端访问控制层,而不是 robots.txt 或 meta 标签。此时需要检查服务器配置、CDN 规则或安全插件,确认是否把抓取程序的 User-Agent 加入了黑名单。若返回 200 但页面仍不被收录,再回到 noindex 和内容质量层面排查。
假设你的目标是“让这篇自建博客文章可以被抓取并有机会被索引”,那么验收要同时满足以下条件:
noindex 的 robots meta 标签。这五项中任何一项不满足,抓取限制就仍然存在。核对时逐项打勾,不要只看其中一项就下结论。一次改动前后比较时,还要考虑搜索需求本身可能随时间变化,不能把流量波动全部归因于抓取规则调整。
下一步:挑一篇你最希望被收录的文章,按上面五项逐一核对,把不满足的项记下来,先修最靠前的那一层。