批量页面返回自定义404错误页时,不要逐条打开检查。正确做法是:先从日志或抓取结果中按“返回码+URL模式+来源”分组,再对每组抽取少量样本人工确认,最后用抽样结果反推批量规则,判断是整类URL失效、链接拼接错误,还是自定义页本身返回了错误状态码。
批量问题往往集中在少数模式里。把待查URL按以下维度分组,每组抽3到5条即可:
/old-product/、/tag/、/page/2/?id=、带?utm_、带分页参数如果日志里同一前缀出现几百条404,抽5条就足以判断是“该前缀整体下线”还是“个别参数拼错”。若样本之间状态码、页面内容、来源都不一致,说明存在多个原因,应继续拆组,而不是扩大单组样本量。
自定义404错误页最常见的问题是“页面看起来像404,但HTTP状态码是200”。这会让搜索引擎把大量无效URL当成正常页面,也可能让批量问题被掩盖。
抽样时用命令行检查响应头,例如:
curl -I https://example.com/不存在的路径
判断标准:
HTTP/1.1 404 Not Found,说明自定义页参与正确,问题在链接或内容下线。200 OK,说明自定义404页被错误配置成软404,需要先修服务器或应用层状态码。301或302后落到404,说明跳转链有问题,要检查重定向规则是否指向了已删除页面。410,表示资源已永久移除,适用于确定不再恢复的批量页面。注意,robots.txt限制抓取不等于能可靠移除索引;站点地图也不保证收录。抽样时若发现404页被robots.txt屏蔽,不能据此认为问题已解决,仍需看状态码和实际可访问性。
抽到的样本要逐条记录四个字段:请求URL、返回码、最终落地URL、来源页。然后按下面逻辑判断:
假设某站有800条/old/前缀的404,抽样5条均返回404,来源都是三年前的导航。此时可判断为整类下线,适合用一条规则把/old/*重定向到新栏目;若抽样中有2条返回200空页,则说明应用层对部分旧路径仍返回空内容,需要先清理空页面,不能直接批量重定向。
确定规则后,先对抽样组执行处理,复查以下项目:
复查时重新抽同一分组的新样本,不要只测已处理过的URL。若新样本仍出现404,说明规则覆盖不全;若新样本返回200但内容为空,说明问题从404转成了软404,需要继续修应用层。
下一步:从你的服务器日志或抓取工具导出最近一批404 URL,按路径前缀分组,每组抽5条用curl -I核对状态码,先确认自定义404页本身是否返回404,再决定是修链接、加跳转还是保留410。