在动手修改服务器、CMS或跳转规则之前,先把与404相关的五类信息收集齐:可复现的URL样本、HTTP状态码与响应头、服务器与CDN日志、页面来源与内链关系、以及站点当前的跳转与robots配置。缺少这些信息,修复往往只能靠猜,容易把“单个链接写错”误判成“整站路由故障”。
先准备至少3到5个出现404的完整URL,包含协议、域名、路径和查询参数,例如https://example.com/old-page?id=12。同时记录访问方式:直接输入地址、从站内链接点击、从外部链接进入,还是从搜索结果进入。
判断结果:如果同一URL在不同入口表现不同,问题可能出在链接本身或跳转链路;如果所有入口都返回404,才更可能是资源确实不存在或路由规则未覆盖。
用浏览器开发者工具的Network面板或命令行工具查看实际返回的状态码。重点区分404、410、301、302和软404(页面显示“未找到”但状态码为200)。
需要记录:
Location字段,确认跳转目标。X-Robots-Tag是否存在,以及内容。Server或CDN标识,便于判断请求经过哪一层。判断结果:301表示永久跳转,302表示临时跳转,410表示资源已永久移除。若状态码是200但页面内容为错误提示,属于软404,需要单独处理,不能只改文案。
日志能回答“谁在什么时候请求了什么,以及服务器如何回应”。准备以下字段:请求时间、客户端IP、请求方法、完整路径、状态码、User-Agent、Referer。
适用条件:如果站点使用CDN或反向代理,需要同时拿到边缘节点日志和源站日志,否则可能只看到其中一层的404。CMS日志则用于确认页面是否曾被创建、修改或删除。
检查项:
判断结果:若404集中在某个目录或某次发布之后,优先检查该次发布的路由或重写规则;若分散且Referer多样,更可能是旧链接未做跳转。
确认这个URL原本是否存在、由谁引用。检查站内导航、文章正文、侧栏、页脚和站点地图中是否仍有指向该地址的链接。站点地图只用于提交候选URL,不保证收录,也不能替代跳转修复。
需要准备的证据:
判断结果:如果内链仍指向旧地址,应先修正内链,再决定是否保留跳转。若只有外部链接指向旧地址,跳转规则通常是更合适的处理方式。
在修改之前,先导出当前的跳转配置、重写规则和robots.txt内容。需要留意:robots.txt的抓取限制不等于可靠的索引移除;它只控制抓取,不控制已收录页面从结果中消失。若希望旧页面不再出现,应结合410或301等状态码处理,并分别核查不同搜索引擎的支持情况。
可执行的准备步骤:
验收信号:样本URL返回预期的301或410,跳转目标可正常访问,站内不再出现指向404地址的链接,日志中该路径的404数量在后续观察周期内下降。若状态码仍为404,说明规则未生效或请求未经过预期层,需要回到日志和配置继续定位。
下一步:把上述五类信息整理成一张对照表,按“URL—状态码—来源—日志证据—处理动作”逐行填写,再决定是修正链接、添加跳转还是保留404。