把一篇舊文章改完之後,很多人會盯着搜尋结果的快照看,發現标题、摘要還是几天前甚至几個月前的版本,就判断成“没有重新收錄”。這里其實混了两件事:搜尋引擎有没有重新抓取這個 URL,以及抓取之後有没有把新内容換進索引。搞混這两步,很容易做一堆無用功。
先分清:重新抓取和索引更新不是一回事
抓取是爬虫来取一次頁面,看服務器返回了什么;索引更新是取完之後,把新版本寫進可检索的那份資料里。前一步發生了,後一步不一定立刻跟着變。所以看到舊标题,先別急着下结论,要去確認爬虫最近到底来没来、来的时候拿到的是什么版本。
抓取环节要看什么
- 线上版本是否已经生效,CDN 或缓存有没有把舊 HTML 推出去;
- 返回狀態是不是 200,有没有被临时跳轉或驗證頁拦住;
- 改動後的正文是否直接寫在返回的 HTML 里,而不是靠前端脚本後补。
索引更新环节要看什么
- 抓取到的版本里,新内容有没有被完整讀到;
- 改動幅度是否足以让搜尋引擎判断“這是一次實质更新”;
- 标题、描述這類元素,是否和正文實际内容對得上。
改動幅度决定了這次值不值得重抓
不是每次編輯都需要重新抓取,也不是每次編輯都能带来索引更新。把改動按幅度分一下類,心里會清楚很多。
- 极小改動:改错別字、調标点、換一两個同义词。這類改動對索引影响很小,即使不重新抓取,也不影响頁面判断。
- 中等改動:补了一段正文、加了小标题、換了配图、补齐了缺失的信息。這類改動更适合主動给一次更新信号。
- 大改動:換了主题方向、換了主要關鍵詞、删掉大半内容重寫。這類改動接近新頁面,除了更新信号,還要重新核對内鏈锚文本和栏目归属是否還對得上。
更新信号怎么给才算有效
sitemap 里的 lastmod
如果站点用 sitemap,改完之後把對應 URL 的 lastmod 更新為真實的修改時間。要注意的是,這個字段一旦被反复乱改,可信度會下降,之後再改可能就不被当回事。所以只填真實時間,不要每次發布都把所有 URL 刷一遍。
内鏈和栏目頁的入口
爬虫重新發現一個頁面,很多时候是顺着站内連結過来的。如果改動後的内容值得被看到,可以让相關栏目頁、聚合頁或相邻文章指向它。入口位置有變化,本身就是一種“這里變了”的信号。
頁面上的可见日期
頁面上标注更新時間是可以的,但前提是内容确實改了。如果只是把日期往前推,内容一字未動,短期看不出問题,長期會让讀者和搜尋引擎都降低對這個日期的信任。
一個可执行的核對顺序
- 用自己的浏览器和命令行各取一次頁面,確認返回的是新版本,而不是缓存里的舊版本。
- 確認狀態碼正常,没有跳轉鏈、没有拦截頁,正文直接出現在 HTML 中。
- 评估這次改動属于哪個幅度,判断它是否值得主動给更新信号。
- 如需要,更新 sitemap 中该 URL 的真實 lastmod,不要整站刷。
- 從栏目頁或相關文章给出一個正常的内鏈入口,锚文本用描述内容的词,而不是“点击這里”。
- 在抓取工具里查看最近一次抓取到的版本,確認新正文已经入库。
- 隔一段時間再回头看索引里的标题和摘要,区分“還没更新”和“更新了但寫的是另一個版本”。
几個容易踩的坑
- 反复提交同一個 URL:短時間高频提交不會加速處理,反而可能被视為噪声。
- 只改标题不改正文:索引里很可能仍保留舊标题,因為它更贴合正文内容。
- 新内容靠脚本後渲染:抓取到的 HTML 里没有正文,等于没改。
- 把“已重新抓取”当成“已更新索引”:這是两件事,時間差很正常。
- 頁面上寫“刚刚更新”而内容没動:讀者点進来會觉得被誤導,得不偿失。
更新之後要做的,不是反复催,而是把线上版本、更新信号、入口传递這三件事各自確認一遍。剩下的時間差,交给正常的抓取节奏即可。