检查WordPress访问状态与错误页,核心是先用HTTP状态码判断“页面是否正常返回”,再区分错误来自服务器、WordPress程序、主题插件还是缓存/CDN。第一次接触时,建议从浏览器开发者工具和服务器访问日志入手,不要急着改代码。
访问一个URL时,服务器会返回状态码。判断结果时可以这样看:
200:页面正常返回,可继续检查内容是否完整。301或302:发生跳转。若跳转链过长或跳到无关页面,需要排查重定向规则。403:服务器拒绝访问,可能与文件权限、安全规则或防火墙有关。404:服务器找不到该地址,可能是固定链接规则、文章被删或重写规则未生效。500或503:服务器内部错误或暂时不可用,常见于PHP报错、插件冲突、数据库连接异常或资源耗尽。这些只是可能原因,不等于已经定位。比如500既可能是插件冲突,也可能是PHP版本不兼容,必须继续用日志或逐项停用来确认。
打开浏览器无痕窗口,按F12进入开发者工具的Network面板,刷新目标页面,查看第一个文档请求的Status。若状态码异常,再点开Response Headers,记录server、location和缓存相关字段。命令行可用:
curl -I https://你的域名/目标页面
它只返回响应头,适合快速看状态码和跳转位置。若返回301,继续用curl -IL跟随跳转,观察最终落到哪个地址。若返回200但页面显示错误内容,说明问题不在HTTP层,而在WordPress输出或前端资源加载。
适用条件:站点可公开访问、没有强制登录。若站点启用了维护模式或仅对登录用户开放,未登录请求返回403或503属于预期结果,不能直接判定故障。
当状态码为500或页面白屏时,可以按下面顺序操作,每做一步刷新一次:
wp-content/plugins改为plugins-off。若页面恢复,说明某个插件是可能原因,再逐个启用定位。wp-config.php,临时设置define('WP_DEBUG', true);和define('WP_DEBUG_LOG', true);,查看wp-content/debug.log中的报错行。验收信号:目标URL返回200,页面标题、正文和关键资源都加载完成;错误日志不再新增同类报错;跳转链不超过合理层数,最终地址与预期一致。
同一URL在不同网络下结果不同,通常要区分三层:浏览器缓存、CDN缓存、源站响应。可以加一个随机查询参数访问,例如?test=123,看是否仍返回旧错误页。若带参数正常、不带参数异常,缓存是可能原因;若两者都异常,继续查源站。若源站日志里没有这次请求记录,请求可能被CDN或防火墙拦下,此时应查看CDN的请求日志,而不是只改WordPress。
判断结果:源站返回500而CDN返回503,说明错误来自源站;源站返回200而CDN返回旧404,说明缓存层需要清理或调整缓存规则。
先记录一次完整检查结果:URL、状态码、跳转终点、错误页出现位置、是否与登录状态有关。然后按“源站日志→WordPress调试日志→插件与主题→缓存/CDN”的顺序逐层排除。若只能看到错误页却拿不到日志,优先联系主机商索取该时间段的访问日志和PHP错误日志,再决定是否修改程序。