检查访问状态与错误页,核心是模拟真实用户和搜索引擎的请求,查看服务器返回的HTTP状态码与页面内容是否一致。具体做法:用浏览器无痕模式访问首页、栏目页、详情页,同时按F12打开开发者工具的Network面板,记录每个请求的状态码;再用命令行工具批量验证,最后对照预期清单逐项确认。时间和人手有限时,优先检查首页、主要栏目和近期改动过的页面。
不是每个页面都要逐一测。按交付结果倒推,先列出对业务最关键的页面类型:
如果人手有限,先保证前三类页面全部通过,其余按抽样方式处理。
打开无痕窗口,输入网址后按F12,切换到Network(网络)面板,勾选Preserve log,然后刷新页面。关注第一行主文档请求的Status列:
同时观察页面实际显示的内容。有些站点把错误页也返回200,用户看到的是“页面不存在”的提示,但状态码却是正常的。这种情况对搜索引擎不友好,需要让错误页返回对应的真实状态码。
页面较多时,逐一点击效率低。可以用curl检查状态码。以下命令只输出状态码,适合快速核对:
curl -o /dev/null -s -w "%{http_code} %{url_effective}\n" -L https://example.com/page
把网址替换成实际地址,-L表示跟随跳转,%{http_code}输出最终状态码,%{url_effective}输出最终地址。把多个网址写进一个文本文件,用循环逐行执行,就能得到一份状态码清单。需要说明的是,这属于假设示例,请把域名换成你自己的站点。
判断结果时注意:如果加了-L后全部显示200,说明跳转链最终可达,但中间的301、302被隐藏了。排查跳转问题时去掉-L,单独看每一跳的状态码。
状态码正确不代表错误页合格。一个可用的404页面应当:
500错误页同理,应避免把数据库报错、文件路径、框架版本等内部信息直接展示给用户。这类信息可能被用于进一步探测。
时间和人手有限时,把检查拆成可交付的动作:
验收标准可以定为:清单内所有关键页面返回200,已删除页面返回404且错误页可用,跳转链不超过一跳且目标正确。达到这个标准即可认为访问状态检查通过。
下一步,先列出你站点最关键的十个页面,用上面的curl命令跑一遍,把返回非200的地址记下来,再逐个打开确认页面内容与状态码是否匹配。