自建博客步骤 - 怎样核对抓取限制

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

自建博客步骤 - 怎样核对抓取限制

核对抓取限制,本质是确认搜索引擎的抓取程序在访问你的自建博客时,被哪些规则允许或拒绝。最直接的方法是:打开博客根目录下的 robots.txt,逐行检查 Disallow 与 Allow 的路径是否误伤了正文页、分类页或静态资源;再结合服务器返回状态码和页面 meta 标签里的 noindex,判断限制发生在哪一层。自建博客常见的抓取限制来源有三处:robots.txt 规则、页面级 noindex、服务器访问控制。核对时按“先全局、后单页、再服务端”的顺序排查,能避免把不同层的问题混在一起。

先确认 robots.txt 是否挡住了正文路径

robots.txt 是抓取限制的第一道闸门。自建博客如果用了默认模板,可能自带一条禁止抓取搜索页或动态参数的规则,而这类规则有时会误伤分页、标签页或带参数的正文链接。

核对时打开 你的域名/robots.txt,重点看三类写法:

判断方法:把一篇你想被收录的文章完整 URL 拿出来,去掉域名后得到路径,逐条对照 Disallow 规则。如果路径以某条 Disallow 的值开头,说明它被禁止抓取。注意规则是前缀匹配,Disallow: /blog 会同时挡住 /blog 和 /blog/文章名。若发现误伤,把该条规则改窄或删掉,再重新核对一遍。

检查页面级 noindex 与 canonical 指向

robots.txt 允许抓取,不代表页面会被收录。页面 <head> 里的 <meta name="robots" content="noindex"> 会直接告诉抓取程序不要索引该页。自建博客在测试环境、草稿预览或某些主题设置里,可能给全站或部分模板加上了这条标签。

核对步骤:

  1. 在浏览器打开目标文章,右键查看网页源代码。
  2. 搜索 noindex,确认它是否出现在 <meta name="robots"> 中。
  3. 如果存在,回到博客后台或主题模板,找到输出该 meta 标签的位置,判断是全局设置还是单篇设置。
  4. 同时检查 canonical 链接是否指向了别的 URL。若 canonical 指向一个被禁止抓取的地址,也会间接造成收录问题。

适用条件:只有当 robots.txt 已放行、服务器也正常返回内容时,才需要重点查 noindex。如果 robots.txt 已经挡住,先解决上一层的规则,再看这里。

用状态码区分“抓取被拒”和“抓取失败”

抓取限制和抓取失败是两回事。限制是规则主动拒绝,失败是服务器没能正常响应。核对时用状态码区分:

核对方法:用命令行工具请求目标 URL,例如 curl -I 你的文章地址,看返回的状态码。如果返回 403,说明限制发生在服务端访问控制层,而不是 robots.txt 或 meta 标签。此时需要检查服务器配置、CDN 规则或安全插件,确认是否把抓取程序的 User-Agent 加入了黑名单。若返回 200 但页面仍不被收录,再回到 noindex 和内容质量层面排查。

从交付结果倒推验收清单

假设你的目标是“让这篇自建博客文章可以被抓取并有机会被索引”,那么验收要同时满足以下条件:

  1. robots.txt 中没有任何一条 Disallow 规则匹配该文章路径。
  2. 页面源代码中不存在 noindex 的 robots meta 标签。
  3. 服务器对抓取程序返回 200 状态码,而不是 403 或 429。
  4. canonical 指向该文章自身的规范 URL,而不是其他被限制的地址。
  5. 文章链接在站内可以被正常点击到达,没有依赖 JavaScript 才能生成的入口。

这五项中任何一项不满足,抓取限制就仍然存在。核对时逐项打勾,不要只看其中一项就下结论。一次改动前后比较时,还要考虑搜索需求本身可能随时间变化,不能把流量波动全部归因于抓取规则调整。

下一步:挑一篇你最希望被收录的文章,按上面五项逐一核对,把不满足的项记下来,先修最靠前的那一层。

图1 图2

nginx