网站收录

改了内容索引却没更新:先分清没抓取还是没换版

页面内容更新后,搜索结果里仍显示旧版本,问题往往不在“收录失败”,而在重新抓取和重新处理这两步。本文按服务器日志、源代码、站内入口的顺序,说明怎么判断蜘蛛有没有回来过,以及可以做哪些动作推动索引刷新,并列出内容更新时容易踩的坑。

网站收录

改了内容索引却没更新:先分清没抓取还是没换版

索引刷新=重新抓取 + 重新处理

页面内容改了,搜索结果里却还是旧版本,很多人第一反应是“索引坏了”。实际上,索引里那一版内容是搜索引擎在某个时刻抓取并处理后的结果,它不会因为你后台点了保存就自动更新。要换成新版,至少要满足两件事:蜘蛛重新抓取了这个 URL,并且这次抓到的内容被重新处理、替换掉旧记录。两步缺任何一步,索引里都会继续显示旧版。

所以“为什么没更新”这个问题,要先拆成:它到底有没有被重新抓过?如果抓过,是抓到的内容没变,还是抓到了但还没重新编入索引?

三种情况,处理方式完全不同

  • 没重新抓取:日志里看不到该 URL 的新请求,要解决的是“怎么让蜘蛛再来”。
  • 抓到了但内容判定无变化:常见于只改了页脚、只调了样式,或者正文由脚本在浏览器端注入。
  • 已重新抓取,索引暂时没换:日志里有新请求,指标还在时间差里,先观察,不必急着改页面。

先看日志,再谈优化

服务器日志是最直接的证据。筛选出目标 URL,看最近一次被访问的时间、返回码和 User-Agent。如果最后一条记录还停留在改版之前,说明蜘蛛压根没回来,这时候讨论内容质量意义不大。

如果日志里能看到近期请求,就要确认抓到的 HTML 里有没有新正文。建议在浏览器里查看源代码,而不是只看渲染后的页面。正文如果靠脚本加载,抓取端看到的可能仍是旧文本,甚至只有空壳。

推动索引刷新的几个动作

  1. 给页面一个站内入口:把更新后的内容链到首页、栏目页或“最新更新”列表,让蜘蛛顺着常抓路径走到它。
  2. 更新 sitemap 的 lastmod:只在内容真正变化时更新,乱改时间会让这个信号逐渐失效。
  3. 做可抓取的更新列表:把最近修改的页面集中在一个列表页,比零散链接更容易被发现。
  4. 必要时手动提交:URL 检查类工具可以请求重新抓取,但它只是排队,不等于立即处理。
索引刷新没有“打开开关”这一说。你能做的是提高重新抓取的概率,而不是命令它马上更新。

改内容时最常踩的坑

  • 用新 URL 发布更新内容:旧地址继续存在,新地址从头开始,索引里很可能留下两个版本。内容更新尽量沿用原 URL;确实要换,就用 301 指向新地址。
  • 只改标题不改正文:只调整标题标签,正文主体没变化,页面可能不会被当作重要更新。
  • 改动幅度过小:改一个错别字通常不值得专门推动索引刷新,也没必要天天盯着看。
  • 把摘要缓存当成旧版:有时索引已换成新版,只是搜索结果里还带着旧摘要,多观察几天再判断。
  • 页面本身被挡着:robots.txt 屏蔽、noindex 标签、返回非 200 状态,都会让刷新无从谈起。先确认页面可抓、可收录。

一个可执行的检查顺序

  1. 确认页面返回 200,且没有被 robots 规则或 noindex 拦住。
  2. 查看源代码,确认新正文出现在初始 HTML 中。
  3. 翻服务器日志,看最近一次抓取时间与抓取到的内容是否已更新。
  4. 检查站内有没有通往该页的链接,入口是否在常被抓取的层级里。
  5. 如果内容确有实质更新,更新 sitemap 的 lastmod,必要时提交重新抓取。
  6. 给一到两周观察窗口,看索引里的版本是否变化,而不是每天刷新结果页。

索引刷新本质上是抓取节奏和内容变化共同作用的结果。把“能不能被抓到、抓到的内容对不对、有没有入口”这三件事确认清楚,比反复追问“为什么还没更新”更有用。