核对抓取限制,核心不是先改设置,而是先拿到“谁在抓、抓到了什么、为什么停下”的证据。对博客来说,最直接的办法是看服务器访问日志里搜索引擎爬虫的请求记录,再对照 robots.txt、页面响应码和页面内的 meta 指令,判断限制来自哪一层。只有把现象和证据对齐,才能避免把“抓取减少”误判成“被惩罚”或“内容质量下降”。
抓取限制通常来自三个层面,排查顺序也应按这个顺序走:
Disallow、Crawl-delay,或 noindex 指令。它们决定爬虫“能不能来、来多快、要不要收录”。这三类的证据位置不同:协议层看 robots.txt 和页面源码,服务端看访问日志的状态码,页面层看渲染后的 HTML 与内链路径。先确定属于哪一类,再谈修改。
假设你的博客有服务器日志权限,可以按下面步骤执行:
Googlebot、Bingbot 或 Baiduspider 的记录。Disallow 屏蔽。如果被屏蔽,爬虫根本不会请求,日志里就不该出现;如果出现了且被拒,说明限制来自服务端而非 robots.txt。判断结果:如果大量请求返回 429,说明服务器在主动限流,需要检查 CDN 或 WAF 的爬虫频率规则;如果返回 403 且集中在图片或静态资源,可能是防盗链或权限规则误伤;如果返回 503,优先排查服务器负载和源站可用性,而不是改 robots.txt。
robots.txt 和页面 meta 指令是两套独立机制,容易互相打架。核对时重点看三点:
<meta name="robots" content="noindex"> 是否被误加到整站模板或分类页。noindex 只影响收录,不影响抓取,但会让“抓取正常却无收录”的现象出现。Disallow 与 noindex 同时使用的情况。若 URL 被 robots.txt 屏蔽,爬虫无法读取页面上的 noindex,反而可能因外部链接被收录为无描述结果。检查方法:在浏览器直接打开 你的域名/robots.txt,逐条对照日志中被拒的路径;再随机抽取 3 到 5 篇博客文章,查看页面源码中的 meta robots 和 canonical 标签。若 robots.txt 屏蔽了文章目录,而 meta 又写着 index,说明配置冲突,需要先统一策略。
确认原因后,不同修改的代价和验证周期不同:
比较改动前后数据时,要考虑季节和搜索需求变化。例如节假日前后博客自然流量本身会波动,不能把流量下降全部归因于抓取限制。数据采集差异也要注意:日志按请求计数,搜索控制台按展示和点击计数,两者不能直接相减。
每次怀疑抓取受限时,按这份清单逐项打勾,能减少反复试错:
下一步:先导出最近 14 天日志,按状态码分组统计一次,再打开 robots.txt 逐条核对。拿到这两份证据后,你就能判断该改协议层、服务端还是页面层,而不是同时改动多处导致无法归因。