搜索全站
安装部署 6 分钟阅读

WordPress 站点健康检查全解读:各项指标含义与处理优先级

后台"工具 → 站点健康"给出的评分和警告,很多站长看不懂也不知道该不该处理。本文逐条解读关键问题与建议改进项:PHP 版本、数据库版本、HTTPS、定时任务、对象缓存、主题检测等,说明哪些必须立刻修、哪些可以忽略,并给出对应的处理方式。

U
UFO_PF 2025-04-02 · 阅读 6 分钟
Wo 安装部署
阅读提示
本文约 2,172 字,预计阅读 6 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:那个百分比分数到底意味着什么

“站点健康”页面会给一个分数(比如 82%),列出”关键问题”和”建议改进项”。很多人看到关键问题就紧张,看到建议项就忽略——这两个反应都不完全对。

真相是:这个评分是给”最佳实践”打的,不是给”能否运行”打的。某些警告不影响站点工作,某些看似不起眼的建议项却直接影响性能。

原理分析:站点健康的检测项从哪来

站点健康(Site Health)是 WordPress 5.2 引入的功能,检测分两类:

  1. 状态(Status):直接检查环境——PHP 版本、MySQL 版本、扩展是否齐全、HTTPS、目录权限等;
  2. 调试(Debug):收集信息用于排查——服务器信息、数据库表大小、插件列表、主题信息。

还有一组是插件自己注册的检测项(比如缓存插件会检查对象缓存是否可用)。

保姆级实操:逐条解读

一、关键问题(必须处理)

检测项 含义 处理
PHP 版本过旧 当前 PHP 低于官方推荐(现为 8.x,最低 7.4) 升级 PHP,先在测试环境验证插件兼容
缺少必需扩展 如 mbstring、curl、gd 安装对应扩展
HTTPS 未启用 站点地址为 http 申请证书并强制跳转
后台被搜索引擎阻止 blog_public 为 0 设置 → 阅读 → 取消”建议搜索引擎不索引本站点”
存在默认主题 检测是否有官方默认主题兜底 保留一个默认主题,用于排障切换

“存在默认主题”这条值得解释:WordPress 要求至少有一个官方默认主题(如 Twenty Twenty-Four)作为应急兜底。主题出问题时可以切换过去。删光默认主题会触发这个警告。

二、建议改进项(按实际影响排序)

检测项 真实影响 建议
未启用持久对象缓存 影响较大:每次请求重复查库 装 Redis / Memcached
WP-Cron 未正常运行 定时发布、备份任务失效 改为系统 cron
数据库版本过旧 性能与安全 升级 MariaDB / MySQL
HTTP 请求被阻止 更新、插件 API 调用失败 检查防火墙出站规则
存在非活动插件 轻微(但增加攻击面) 删除不用的插件
主题未针对区块编辑器优化 取决于你是否用区块编辑器 不用可忽略
PHP 时区设置无效 定时发布时间偏差 wp-config.php 或 php.ini 设时区
调试信息泄露 WP_DEBUG_DISPLAY 开启 生产环境关闭

三、”信息”标签页(排查时使用)

这里能看到:

  • 服务器:Web 服务器类型、PHP 版本与扩展、数据库版本;
  • 数据库:各表大小(找膨胀的表);
  • WordPress:常量状态、目录大小、媒体数量;
  • 活动插件 / 非活动插件 / 必用插件列表;
  • 主题信息、父主题、子主题关系。

排查”数据库为什么这么大”时,直接看这个页面的数据库表大小排序,比进 phpMyAdmin 快。

四、用 WP-CLI 获取同样的信息

wp core version
wp package install wp-cli/doctor-command   # 第三方扩展
wp doctor check --all                       # 一键体检

wp doctor 是社区维护的检查工具,能批量检查:核心校验和、PHP 版本、cron 状态、插件更新、慢查询等。

wp doctor check core-update autoload-options constant-savequeries \
  php-version plugin-deactivated

五、排障模式(Troubleshooting Mode)

站点健康页面底部有个”启用故障排除模式”,它会只对当前登录用户禁用所有插件并切换到默认主题,访客看到的是正常站点。这是排查插件冲突最安全的方式,不影响线上用户。

常见踩坑与失败案例

  1. 盲目追求 100% —— 装了一堆优化插件只为消掉警告,反而拖慢站点。评分高不等于快。
  2. 案例:某站提示”未启用持久对象缓存”,站长装了 Redis 插件但服务器没 Redis 服务,插件反复重试导致每次请求都超时。正确处理顺序是:先在服务器装 Redis 服务端 → 再装 PHP 扩展 → 最后启用插件。
  3. HTTP 请求被阻止导致无法更新 —— 服务器防火墙禁了出站,或 WP_HTTP_BLOCK_EXTERNAL 为 true。检查 wp-config.php 与防火墙。
  4. 忽略”定时任务未运行” —— 结果定时发布的文章一篇都没发。低流量站点尤其明显,因为 WP-Cron 靠访问触发。
  5. 故障排除模式忘记退出 —— 只有你自己看到”裸站”,误以为网站坏了。退出后恢复正常。

总结

看待站点健康的正确姿势:关键问题立即处理,建议项按实际影响排序处理,”信息”页当排查工具用。其中我认为真正值得优先做的是三项——升级 PHP、启用对象缓存、把 WP-Cron 换成系统 cron,这三项对性能和可靠性的提升最直接。至于主题是否支持区块编辑器、有没有非活动插件这类,按自己实际情况决定即可,不必为了分数折腾。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。