先确认“掉了”是哪一种掉
“收录没了”这句话背后可能有三件完全不同的事:页面确实从索引里被移除了;页面还在索引里,只是某个长尾词下看不到它了;页面在索引里,但展示的 URL 换成了另一个版本。三种情况的处理方向差别很大,所以第一步不是改代码,而是把现象固定下来。
- 换设备、换网络、退出登录后再查一次,排除个性化结果和缓存的影响。
- 用“site:域名 + 页面标题片段”“site:完整URL”“精确匹配标题加引号”分别查,看是整体消失还是某个查询下消失。
- 核对站长后台的索引状态、最后一次抓取时间和抓取到的状态码。
- 翻一遍服务器的访问日志,看这个 URL 最近还有没有被抓取过。
- 如果多个口径都对不上,先记录下来,不要立刻下结论。
不同索引层、不同数据中心的同步本来就有时间差,偶尔一两次查不到,通常观察几天就会恢复。真正需要动手的是持续一两周都查不到、并且日志和后台能对上的情况。
核对页面自身的可索引状态
在怀疑站点质量之前,先把页面自己的事查清楚。很多“掉索引”其实是页面端某个开关被顺手改掉了。
- 状态码:直接请求页面,确认返回的是 200 而不是 301、302、404、410,尤其要留意移动端 UA 和桌面端返回是否一致。
- robots.txt:确认没有新的规则把这个目录或这类 URL 挡掉。上线新规则后,索引里的老地址不会立刻消失,但新抓取会被拦住。
- meta robots 与响应头 X-Robots-Tag:两处都要看,且以更严格的那个为准。有的模板只在某个分支里输出 noindex,容易漏掉。
- canonical:确认页面没有把规范化目标指到别的 URL。如果指向了另一个版本,被收走的可能是当前这个地址。
- 页面是否可正常渲染:关掉脚本后看主内容还在不在,确认关键内容不是纯客户端注入的。
如果这几项里有任何一项最近被改动过,先把它恢复成原来的状态,再进入下一步。不要一边改开关一边观察。
内容与结构有没有被动过
页面被大幅改写、模板换版、栏目结构调整,都可能触发重新评估,评估期间页面从索引里暂时消失并不罕见。
- 正文是不是被删掉、合并或替换成了另一套内容。
- 标题模板、面包屑、栏目层级是否整体换过。
- 页面是否从原来的栏目挪到了新目录,而老地址做了跳转。
- 同一批页面里,掉索引的是个别页,还是整批页。整批出问题,通常指向模板或规则,而不是单页内容。
抓取与服务器侧的情况
抓取频率下降、响应变慢、间歇性 5xx,都会让页面从索引里逐步退出。这部分看日志比看后台更直接。
- 近一个月的抓取次数是不是明显下滑,是单个 URL 下滑还是全站下滑。
- 响应时间有没有变长,特别是有没有出现超时、连接重置。
- 是否存在返回 200 但内容为空、或返回软 404 的情况。
- CDN、防火墙、地区策略是否误拦了搜索抓取。
入口与内链是否断了
页面被收走,往往先是因为“没人再指向它”。
- 原来指向该页的列表页、聚合页、导航是否删掉了这个链接。
- 页面上线后有没有变成孤岛:外部没有入口,站内也没有可点到的路径。
- sitemap 里还留着这个地址吗,最近一次更新时间是否合理。
- 内链锚文本和指向的 URL 是否被批量改成了别的版本。
如果内链断了,先把链接补回去,这比反复提交更有效。
放到站点层面再看一次
单页问题排查完仍然没有结论,就把视角抬到站点层面:最近是否上线了大量低质量新页面、是否有一批页面同时被改成了近似内容、是否做过大规模的 URL 规则调整。这类动作会让整站的索引状态一起波动,表现为新旧页面同时掉。此时更适合停下来观察,而不是继续加动作。
可以做的动作与观察周期
- 把上面的核对结果写成一条时间线:哪天改了什么、哪天开始查不到。
- 只修复明确的错误,比如误加的 noindex、断掉的内链、异常的状态码。
- 更新 sitemap 的 lastmod,让入口信息与页面实际状态一致。
- 保持页面稳定,以周为单位观察,而不是每天反复检查和改动。
- 如果两三周后仍未恢复,再考虑内容质量与站点整体评估的问题。
顺手提醒几个常见的反效果操作:为了“催收录”反复修改标题和正文;把页面来回切换 noindex;批量重定向到不相关的页面;在短时间内提交大量结构相同的页面。这些动作会让抓取和评估更难收敛。
收录本身就是动态的,页面在索引中进出是常态。排查的价值不在于立刻把它拉回来,而在于分清哪些是自己造成的、哪些只是时间问题。