现场是这样的。日志按目录统计,标签页占了 42% 的抓取量,正文只有 8%,新文章平均要等十一天才被抓一次,待抓队列越积越长。

排查方向其实有限,先把可能性排一排。标签页数量随文章增长,没有上限;每个标签都有分页,分页再生成分页;正文页没有足够的站内入口。

动手时先按目录统计抓取占比

awk '{print $7}' access.log | cut -d/ -f2 | sort | uniq -c | sort -rn | head

收口标签分页的链接

grep -rn 'tag' themes/ --include=*.php | head

等前面都确认过,再统计 sitemap 里的标签数量

curl -s https://www.example.com/sitemap.xml | grep -c '/tag/'

那几天正好在做别的变更,先把时间线对齐才敢动手。

排查用的命令都是临时敲的,没有写成脚本,事后才整理。

手上没有现成的复现脚本,就照着线上请求手工拼了一个。

别只看报错消失,验证要多做一步。收口两周后标签抓取占比降到 12%,正文页的抓取间隔缩短到两天。

容易忽略的是,抓取预算不是配额而是分配结果,减少低价值地址比催收录更有效。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。

作者 9823189