老文章更新了价格和参数,正文改了三百多字,蜘蛛按 lastmod 重抓了,但搜索结果里的摘要仍是半年前的版本,用户看到的价格已经过期。

排查方向其实有限,先把可能性排一排。只改正文没动 title 和 description,摘要取自未变的元描述。也可能是sitemap 的 lastmod 没更新,重抓优先级很低。

另外,页面输出缓存未刷新,蜘蛛拿到的是旧 HTML。

先确认页面上标注的更新时间

curl -s https://www.example.com/post/1 | grep -o '更新时间[^<]*'

随后核对 meta description 是否同步

curl -s https://www.example.com/post/1 | grep -o '<meta name="description"[^>]*>'

剩下的就是清缓存后重新请求验证

curl -X PURGE https://www.example.com/post/1

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

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

别只看报错消失,验证要多做一步。重新抓取两周后摘要里的价格跟上正文,点击率回到改稿前水平。

摘要由元描述和正文开头共同决定,只改中段内容时搜索结果的摘要往往不会变。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。

作者 9823189