检查访问状态与错误页,核心是先用可重复的请求确认服务器返回的HTTP状态码,再对照页面实际内容判断是正常、跳转、权限拦截还是错误。对宿迁网站开发项目来说,时间和人手有限时,最先做的不是逐个浏览器点开,而是用状态码批量筛选,把4xx和5xx页面挑出来,再人工确认错误页是否可用。
打开站点地图或后台的页面列表,导出所有需要检查的URL。优先保留首页、栏目页、内容页、表单页和下载页,去掉已经确认下线的旧地址。把地址整理成一列纯文本,每行一个,方便后续批量请求。如果站点有多个子域或移动端域名,也要分别列出,避免只检查主域而漏掉实际访问入口。
同时准备一份对照表,至少包含三列:URL、预期状态、实际状态。预期状态按页面用途填写,例如正常内容页预期200,已合并的旧地址预期301,仅登录用户可见的页面预期302或403。没有这张表,后面看到状态码只能凭感觉判断,容易把正常跳转误当成故障。
在命令行中逐条请求并只输出状态码,是最省人力的做法。例如:
curl -o /dev/null -s -w "%{http_code} %{url_effective}\n" https://example.com/page
把URL列表替换进去循环执行,就能得到一份状态码清单。常见状态码的含义如下:
这一步最关键的是不要只看状态码就下结论。同一个404,可能是链接本身写错,也可能是服务器重写规则配置不当;同一个302,可能是正常的登录跳转,也可能是误配的临时重定向。状态码只是筛选信号,不是最终判断。
把状态码不是200的URL单独整理出来,逐条在浏览器中打开,观察三件事:
如果站点页面数量不多,也可以直接用浏览器开发者工具的网络面板逐页查看。打开页面后按F12,切换到Network,刷新页面,看第一条请求的状态码和响应头。这种方法适合抽查,不适合大批量检查。
访问状态不是查一次就结束。内容更新、栏目调整、服务器迁移、证书续期都可能改变某个地址的返回结果。建议在每次改版或批量删除内容后,重新跑一遍状态码清单;日常则用站点监控工具对首页和核心栏目做定时请求,发现连续多次非200时再人工介入。
如果站点使用搜索资源平台提供的抓取或索引工具,可以把状态码清单与平台反馈的抓取异常对照,但要注意平台数据有延迟,不能替代实时请求。付费广告的落地页状态需要单独检查,广告平台对落地页可用性有自己的审核规则,和自然搜索的收录判断不是一回事。
下一步,先导出当前站点的主要URL,按上面的命令跑一遍状态码,把4xx和5xx页面按数量排序,从影响面最大的那组开始处理。