先给“删除”定个性
发现索引里挂着已经下线的页面时,先别急着反复提交删除请求。你需要先回答一个问题:这次删除,是让页面彻底消失,还是让它不再作为有效落地页出现。这两种目标对应的做法不一样,索引反应的时间也不一样。前者通常要求页面返回 404 或 410;后者可能只需要 noindex,页面本身仍能被访问。目标没定清楚,后面的核对就会乱。
三种删除方式,索引表现完全不同
- 返回 404 / 410:页面确实不存在了。搜索引擎下次抓取到这个状态后,会逐步把 URL 从索引里移除。410 语义更明确,通常比 404 快一些,但差距没有传闻中那么夸张。
- 加 noindex:页面还在,只是不希望被索引。前提是搜索引擎能抓到页面、读到这个标签。仅在 HTML 的 head 里写是不够的,如果标签由 JS 注入且抓取时没执行,等于没写。
- 用 robots.txt 屏蔽:这阻止的是抓取,不是索引。被屏蔽的 URL 如果之前已经有外链或其他信号,仍可能以“无摘要”的形式留在索引里,而且因为抓不到页面,noindex 也读不到,反而更难清。
很多人把第三种当成删除手段,结果就是页面删了几个月,索引里还挂着一个空标题。这不是搜索引擎“没反应过来”,而是你主动切断了它读取删除信号的路。
核对顺序:从服务器返回开始,到索引落点结束
- 确认服务器实际返回什么。用命令行或抓取工具直接请求那个 URL,看状态码。注意区分 404 和“返回 200 的空壳页”——后者是软 404,索引会当成正常页面继续保留。
- 确认页面是否还能被抓取。检查 robots.txt 是否屏蔽了该路径,以及是否在 meta robots 里同时写了 noindex。两者冲突时,屏蔽优先,noindex 不会生效。
- 确认索引里挂的是哪个 URL。带参数的、大小写不同的、带或不带结尾斜杠的版本,可能是不同的索引条目。只处理你预期的那个 URL,其余变体仍会留着。
- 确认 noindex 落在哪一层。如果页面由前端渲染,要确认抓取到的 HTML 里是否真的含有该标签,而不是只在浏览器执行后才出现。
- 排查外链与站内入口。已删页面如果还被其他站点或站内旧模板链接指向,会不断被重新发现。内链好清理,外链只能通过 404 自然衰减。
- 留出观察窗口。删除不是即时生效的动作。可以隔一段时间再看一次索引结果,不必每天反复确认。
几个容易白忙的误区
把 404 页面 301 到首页,是很常见的操作。这会让搜索引擎认为原 URL 变成了首页的另一个入口,索引里的 URL 可能长期保留,只是内容换了。想彻底删除,就不要做这种全站兜底跳转。
另一个误区是只删内容不删 URL。数据库里记录删了,模板仍返回 200 和一个空页面,这既不是删除,也不构成有效页面。
删除动作是否生效,判断依据不是后台里那条记录还在不在,而是外部请求这个 URL 时,服务器和页面分别给出了什么信号。
把动作和结果对齐
删除后的收录核对,本质是把“我做了什么”和“搜索引擎看到了什么”对齐。先确定删除目标,再选对应手段,然后按服务器返回、抓取权限、索引落点、链接来源的顺序逐项确认。多数“删不掉”的情况,问题都出在信号本身互相矛盾,而不是处理速度太慢。