首页 > Wordpress > 正文

WordPress 更新后网站崩了?三步回退

fenij 2026-08-25 49 Wordpress

WordPress 更新后网站突然崩了,多半是某个插件、主题或 PHP 版本不兼容。别急着重装,先按「定位 → 隔离 → 回退」三步走,通常十分钟内能恢复。

第一步:定位是哪里出了问题

更新分三种:WordPress 核心、主题、插件。先判断症状对应哪一类:

症状 最可能 culprit 快速验证
前台白屏 / 500 刚更新的插件或主题 重命名 wp-content/plugins 目录测试
wp-admin 进不去 核心文件损坏 / 主题 functions.php 报错 切换默认主题、开 WP_DEBUG
维护模式不消失 .maintenance 文件残留 FTP 删除站点根目录 .maintenance
特定页面布局乱 页面构建器插件不兼容 禁用该插件后刷新

开 debug 是最快的定位方式。在 wp-config.php 里加:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

刷新一次报错页面,然后看 wp-content/debug.log 第一行 fatal error,它会直接指出哪个文件的哪一行。

第二步:隔离故障组件

如果还能进后台,到「插件」里批量停用所有插件,再一个个启用,启用到哪个崩了就是哪个。进不了后台就用 FTP 或 SSH:

# 一次性停用所有插件(不会丢设置)
mv wp-content/plugins wp-content/plugins-off
mkdir wp-content/plugins
mv wp-content/plugins-off/* wp-content/plugins/
# 此时所有插件已停用,再逐个移回去测试

主题冲突也类似,临时切到 Twenty Twenty-Four:

# 通过 WP-CLI 切换主题
wp theme activate twentytwentyfour

如果是核心更新后出问题,先不要动 wp-contentwp-config.php,只替换 wp-adminwp-includes

第三步:安全回退

插件 / 主题回退:到 wordpress.org 插件页,点「Advanced View」选旧版本下载 zip。后台「插件 → 安装 → 上传」覆盖,数据库设置不会丢。WP Rollback 插件也能一键回退。

核心回退:https://wordpress.org/download/releases/ 下载上一个版本,解压后只覆盖 wp-adminwp-includeswp-content 不动。

整站回退:如果你有备份,直接用宝塔 / UpdraftPlus / 主机快照恢复。注意恢复前导出当前数据库,避免丢失更新后产生的新数据。

踩坑实录

上周一台站点更新 WooCommerce 后前台 500,我第一反应是主题不兼容,切了默认主题还是报错。看 debug.log 发现 /wp-content/plugins/seo-pack-pro/seo-pack-pro.php:247 调用了一个 WooCommerce 9.8 里已经删掉的钩子。我直接在 FTP 里把 seo-pack-pro 目录重命名为 seo-pack-pro-bak,站点立刻恢复。然后去插件官网下了 4.2.1 旧版覆盖,故障解决。关键不是盲猜,而是先看 debug.log 给的确切文件路径。

更新前准备与更新后验证

想要更新后不慌,最好养成两个习惯:更新前快照,更新后验证。

更新前清单:

  • 主机 / 宝塔 / 插件做一次完整备份
  • 记录当前 WordPress、PHP、插件、主题版本号
  • 在 staging 环境先跑一遍更新
  • 确认关键插件的 “Tested up to” 覆盖你要升级到的 WP 版本

更新后验证:

  • 前台首页、文章页、分类页各刷新一次
  • 登录后台,尝试保存一篇草稿
  • 检查核心功能:结账、表单、搜索、菜单
  • 看服务器错误日志 5 分钟内是否有新增 fatal

如果 staging 环境和生产环境配置接近,90% 的更新问题都能在 staging 阶段提前发现。

常见问题

问:更新前必须做哪些准备?
答:备份数据库 + 文件,确认插件与新版 WP 兼容(看 wordpress.org 的 “Tested up to”),最好在测试环境先跑一遍。

问:回退插件后设置会丢吗?
答:不会。设置存在数据库的 option 表里,只要你不删数据库,重新安装或降级同一插件设置都在。

问:没有 debug.log 怎么办?
答:检查 PHP error_log 路径,或临时把 WP_DEBUG_DISPLAY 设为 true 但仅限本地 / 维护模式,别在生产环境直接显示错误。

问:更新后前台正常,后台进不去怎么排查?
答:这种情况多半是主题或插件在 admin 初始化时调用了已废弃的函数。用 FTP 重命名 plugins 目录临时停用所有插件,再逐个恢复;如果还不行,临时把主题切到默认主题。

如果你在 WordPress 回退过程中还遇到别的报错,欢迎在 fenij.com 留言,把 debug.log 关键行贴出来一起查。

相关完整手册

系统化的排查与配置思路,建议顺手收藏这几篇完整手册: