網站收錄

软 404 與空结果頁被收錄:狀態碼、模板和内鏈的收口顺序

服務器返回 200,頁面却是空结果或已下架提示,這類软 404 地址容易顺着内鏈和 sitemap 進入索引。本文按狀態碼、頁面主体、入口来源三個层面核對,再给出 301、404/410 與 noindex 的選擇顺序,以及内鏈和 sitemap 的同步清理方法。

網站收錄

软 404 與空结果頁被收錄:狀態碼、模板和内鏈的收口顺序

搜尋蜘蛛判断一個地址,先看它返回什么,再看里面有什么。当服務器返回 200,頁面却是“没有找到”“该内容已下架”“暂無结果”时,這個地址在蜘蛛眼里就是一個正常頁面,但用戶点進去什么也得不到。這類頁面通常被称為软 404。

软 404 為什么容易被收錄

它並不需要被专门提交,往往是自己長出来的。常见来源包括:

  • 站内搜尋、篩選、排序生成的大量空结果頁,URL 结构正常,模板完整;
  • 已下架的商品、已刪除的文章,頁面還在,只是主体内容換成了提示语;
  • 分頁翻到超出范围的頁碼,返回 200 但列表為空;
  • 舊版頁面改版後没有做跳轉,只留下一個空壳。

這些頁面往往有标题、有導航、有頁脚,看起来和正常頁面差不多,蜘蛛顺着内鏈或 sitemap 走過来,很容易抓取並進入索引。

先核對三件事,再動手

  1. 狀態碼:用命令行或抓取工具看真實返回头。頁面顯示“不存在”不代表狀態碼就是 404。
  2. 頁面主体:去掉導航、頁脚、推荐位之後,正文区域是否還有實质信息。只有一句提示的,基本可以判定為软 404。
  3. 入口来源:這個地址從哪来。是内鏈、sitemap,還是站内搜尋自己生成的。不切断入口,處理完還會再出現。

處理方式按是否有替代内容来選

  • 有更合适的替代頁,比如商品換型号、文章換栏目:做 301,指向最接近的有效頁面。
  • 内容彻底没有了,也没有替代:直接返回 404 或 410。410 语义更明确,但不是必须。
  • 頁面仍需保留,只是不想被索引:加 noindex。注意不要再同时指向一個不存在的 canonical,两者冲突时容易让蜘蛛反复確認。

顺序上建议先改狀態碼,再清内鏈,最後看 sitemap。狀態碼改了但内鏈還挂着,蜘蛛會一直来確認,等于白改。

内鏈和 sitemap 要同步清理

检查方法

sitemap 里保留已失效地址,會持續把蜘蛛引向空頁面。内鏈中的死連結同理。處理完之後,最好用抓取工具重跑一遍站内連結,看看還有哪些頁面在指向這些地址。批量改狀態碼时,也顺手導出一次带外鏈的舊地址清單,两者對照着清,不容易漏。

狀態碼、頁面主体、入口指向,這三者要一致。只改其中一個,問题往往會在几周後重新出現。

不要一次性全站掃

软 404 往往成千上萬,一次全改容易誤伤正常頁面,也不方便观察效果。可以按模板或栏目分批處理,改完一批後看抓取日誌和索引狀態的變化,再决定下一批的范围。

最後提醒一点:處理软 404 的目标是让索引里的地址更接近真實存在的有效頁面,而不是追求某個數量。地址少了,但每個都能打開、都有内容,對站点更有利。