文章编辑到一半,点「更新」,页面白屏,刷新后提示 「Updating failed. The response is not a valid JSON response」。这是 WordPress 6.x 区块编辑器最常见的翻车现场。先说结论:白屏不是内容丢了,是编辑器前端和后端通信断了,按三步定位,基本都能救回来。
第一步:开浏览器控制台,看请求报什么错
按 F12 打开开发者工具,切到 Console 和 Network,再点一次「更新」。重点看三类现象:
# 控制台常见报错
wp-editor.min.js:... Uncaught TypeError
Failed to load resource: the server responded with a status of 403
wp-json/wp/v2/posts/123 的状态是 404 或 500
- 控制台是 JS 报错 → 大概率插件或主题的脚本冲突,进第二步的插件排查;
- 请求被 403 → 安全插件、ModSecurity 或 CDN 的 WAF 把
/wp-json/拦了; - 404 → 固定链接结构坏了,去后台「设置 → 固定链接」再点一次保存刷新规则。
→
→
第二步:确认 REST API 通不通,开 PHP 调试
编辑器保存走的是 wp-json 接口,接口挂了编辑器必白。先在外边探一下:
curl -I https://你的域名/wp-json/
# 期望返回 200 和 content-type: application/json
返回 HTML 而不是 JSON,通常是某个插件在接口输出前打印了 Warning: 或 Deprecated: 把响应包污染了。打开调试日志看真相:
// wp-config.php,加在 "That's all" 一行之前
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
然后去 wp-content/debug.log 看最近几条报错,是哪段代码在吵,删掉或停用对应的插件。
第三步:停插件、换主题、抬内存
REST API 正常还白屏,就是资源问题。按顺序做三件事:
# 1. 停全部插件(用 WP-CLI 最快)
wp plugin deactivate --all
# 编辑器恢复了,再逐个启用找元凶
# 2. 换回默认主题
wp theme activate twentytwentyfour
# 3. 抬内存
# wp-config.php 加一行
define('WP_MEMORY_LIMIT', '256M');
大文章保存白屏尤其要查内存。文章几百个区块时,编辑器一屏加载的东西很多,共享主机默认 128M 常常不够。
| 白屏特征 | 指向的原因 | 处理 |
|---|---|---|
| 控制台 JS 报错 | 插件/主题脚本冲突 | 逐个停插件排查 |
| wp-json 请求 403/404 | WAF 拦截 / 伪静态失效 | 放行接口 / 重存固定链接 |
| 只大文章白屏 | 内存不够 | WP_MEMORY_LIMIT 提到 256M |
踩坑实录
有一次客户后台编辑器一点保存就白屏,控制台干干净净,wp-json 也通。折腾半天才发现是宝塔的「防跨站攻击」把 referer 校验开了,而区块编辑器某些请求不带标准 referer 头,被当成外部盗链直接 403。在面板里把站点目录加入例外后立刻恢复。这类坑不在 WordPress 本身,而在你前面那层安全软件,排查时记得把 WAF、防跨站这类功能也过一遍。
常见问题
Q:白屏后文章内容会丢吗?
不会。内容在保存失败前已经存进数据库,或至少保留了浏览器里的自动保存版本。恢复后打开编辑页,点编辑器右上角「…」里的版本浏览就能找回。
Q:只开无痕窗口就正常,是什么问题?
多半是浏览器插件(广告拦截器)或登录态异常。无痕窗口禁用了扩展,REST 请求没被拦,就能正常加载。
Q:重装 WordPress 核心能解决吗?
大概率不能,反而容易引入新问题。先走完三步定位,95% 的保存白屏在停插件这一步就解决了。
如果你也遇到过编辑器白屏,欢迎来 fenij.com 留言,说说你的环境(面板 / 主机 / 插件组合),我整理更多实战案例。