改完标题、补了几段内容、换了一张主图,隔天去搜索里查,展示的还是几个月前的版本。这种情况很常见,不一定是“没收录”,多数时候是索引里存的仍然是一份旧快照。
索引存的是一份快照,不是页面的实时镜像
蜘蛛抓取页面时,拿到的是那一刻返回的 HTML。之后这份内容还会进入后续流程:解析、渲染、抽取正文与链接、判断主体内容,再和索引里已有的记录做比对。只有当新版本被判定为需要替换时,索引中的记录才会更新。整个链路里,抓取只是第一步。
所以“页面已更新”和“索引已更新”是两件事。前者你能控制,后者由搜索引擎决定什么时候做、做到哪一步。
一次更新大致要经过哪几个环节
- 重新抓取:蜘蛛需要再访问一次这个 URL。如果上次抓取后页面长期没有明显变化,重访间隔可能被拉长。
- 重新渲染:如果正文依赖 JavaScript 才能出现,要等渲染完成才能拿到最终内容。
- 内容比对:新旧版本的差异有多大、改的是正文主体还是页脚这类模板区域,会影响处理时的优先级。
- 索引替换:确认新版本可用之后,旧记录被替换。这一步完成,搜索结果里的标题和摘要才可能跟着变化。
为什么有的页面几天就换了,有的几个月不动
- 改动幅度:只调整一句话,和重写整篇主体,传递出的信号强度并不一样。
- 页面自身的抓取优先级:更新频繁、内链多、有外部引用的页面,被重访得更勤。
- 站点整体的抓取安排:抓取资源要在全站 URL 之间分配,更新快的页面往往会占用更多机会。
- 更新期间的可访问性:如果改动过程中返回 5xx 或频繁超时,这次抓取可能被直接放弃。
- 内容是否真的变了:只改模板、调广告位、换 CSS,正文文本没动,从索引角度看差别很小。
先确认到底是哪一种“没更新”
- 直接访问该 URL,查看服务器返回的 HTML,确认线上内容确实是新版。
- 把搜索结果里的标题、摘要和页面实际内容对比,有时只是摘要没换,正文已经更新。
- 查服务器日志,确认改动之后蜘蛛有没有再来过。没来过,问题在抓取;来过却没变,问题在索引处理。
- 用站点后台的 URL 检查工具触发一次抓取,看抓回的内容是不是新版。
搜索结果里的摘要经常是围绕用户查询词动态生成的,它和页面标题不一定同步变化。摘要没变,不代表索引里还是旧内容。
想让更新更快被处理,可以做几件小事
- 更新后主动提交该 URL,通常比等自然重访快一些。
- 从更新频繁、抓取正常的页面加一条内链指向它,给蜘蛛一条更容易走到的路径。
- 确保更新过程中页面始终能正常返回 200,不要长时间挂在维护状态。
- 如果改动涉及标题、URL 或主体结构,尽量别同时上线多个大改动,方便判断是哪一步出的问题。
- sitemap 里的 lastmod 保持真实,不要每次全站刷成同一时间,否则这个信号会失去参考价值。
有些页面确实不需要频繁更新
长期不动的说明页、历史归档、静态数据页,更新频率低本来就是正常的。与其反复提交催更新,不如把精力放在会持续产生新内容的页面上。索引更新的节奏,本质上和页面本身的变化节奏是匹配的。
把更新当成一次发布:内容真的变了,再推动抓取;没变,等下一次自然重访就好。