现场是这样的。站点每天更新五篇,发布后 sitemap 立刻更新,但日志里 72 小时内没有任何 Googlebot 访问新 URL 的记录,GSC 网址检查显示已发现但尚未抓取。
中间走过弯路,把「内链只出现在侧栏最新文章模块,该模块由 JS 异步加载」当成主因,改完现象没变。
真正麻烦的地方在于,几个原因的现象几乎一样。sitemap 的 lastmod 用的是生成时间,全站时间戳每次一起变,新条目没有突出信号;新文章只挂在列表第一页,列表页缓存 24 小时,蜘蛛来的时候还看不到链接;服务器在蜘蛛常来的时段限流,新 URL 请求被 429 挡回。
第一件事是确认新 URL 是否出现在 sitemap 里
curl -s https://www.example.com/sitemap.xml | findstr /c:"new-post-1024"
直接请求新文看状态码与缓存头
curl -sI https://www.example.com/new-post-1024/ | findstr /i "HTTP cache"
接着检查列表页缓存时间
curl -sI https://www.example.com/blog/ | findstr /i "age x-cache"
剩下的就是清掉列表页缓存并重新提交索引
curl -s -X PURGE https://www.example.com/blog/
别只看报错消失,验证要多做一步。清缓存并把新文加入首页推荐位后,日志里两小时内出现首次抓取,第三天进入索引。
容易忽略的是,蜘蛛发现新 URL 靠的是链接,sitemap 只是补充,列表页缓存时间过长会直接拖慢发现速度。这类问题最好一次改到位,反复小改反而容易把原因搅混。
