记录一下那天晚上的排查过程。sitemap 自动包含了所有 /page/2 这种分页地址,占总量的 30%,提交后正文页的抓取间隔从一天拉长到四天。

刚开始盯着「sitemap 里没有优先级区分,所有地址权重一样」,折腾了半个多小时,排掉了。

原因不止一个,得分开看。分页地址被当成独立内容提交,和详情页争抢预算。另一种情况是分页页面的 title 和摘要几乎相同,被判为重复。

不容易想到的是,分页地址的 lastmod 跟着列表变动频繁刷新。

先统计 sitemap 里分页地址的占比

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

再往下把分页地址从 sitemap 里剔除

grep -v '/page/' sitemap_all.xml > sitemap_clean.xml

保留可从页面遍历的分页入口

curl -s https://www.example.com/list/ | grep -c 'rel="next"'

报错是间歇性的,我蹲守了半小时才抓到一次完整现场。

改完先别撤,确认这几项。剔除分页地址后,sitemap 体积缩小三成,正文页的抓取间隔在一周内回到一天以内。

补一句。分页要不要提交没有统一答案,但正文还没被充分抓取时,把名额让给详情页总是更划算。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189