索引报告里软 404 从几十条涨到四千,抽查的页面都返回 200,内容却是「暂无相关文章」的空列表模板。

真正麻烦的地方在于,几个原因的现象几乎一样。空结果页返回 200,被当成有内容的空页面。也可能是筛选参数组合生成大量无结果地址。

少数情况下是下架商品只清空内容没有改状态码。

第一件事是抽查页面正文长度

curl -s https://www.example.com/list/x/ | wc -c

给空结果返回 404

if (empty($items)) { status_header(404); }

给无结果页补 noindex

add_action('wp_head', function(){ echo '<meta name="robots" content="noindex">'; });

剩下的就是按路径统计软 404 分布

cut -d/ -f4 soft404.log | sort | uniq -c | sort -rn | head

改之前先确认了最近有没有人动过配置,避免白查一遍。

这次没动代码,只在配置和运行环境上找原因。

隔了一天再看,现象没变,说明不是偶发。

别只看报错消失,验证要多做一步。软 404 数量两周内回落到百条以内,抽查页面返回 404 或被标记,日志里该类地址减少。

空页返回 404 比标记 noindex 更彻底,但用户从导航进来会看到错误页,得配一个引导入口。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189