SEO观察
研究搜索引擎优化(SEO)技术。

WordPress错误,此响应不是合法的json响应

WordPress博客网站后端JSON响应错误,后台文章无法更新保存,显示“更新失败。此响应不是合法的JSON响应。”,良家佐言通过搜索引擎发现大部分WordPress爱好者在2020年遇到过同样的问题,由于是古腾堡编辑器(Gutenberg)引起的JSON响应错误,很多站长也采取了各种措施进行扼制,以下是良家佐言采取的措施。

WordPress更新失败,JSON响应不合法

1、通过代码或者安装WordPress插件禁止腾堡编辑器

古腾堡编辑器是后端JSON响应错误的源头,换掉古腾堡编辑器就等于解决了JSON响应问题,站长可以通过插件或者代码禁止古腾堡编辑器(Gutenberg),然后在安装经典编辑器插件就能测试后,就能解决后台文章发布保存的问题。

(1)通过代码禁止古腾堡编辑器

//Wordpress 5.0+ 禁用 Gutenberg 编辑器
add_filter('use_block_editor_for_post', '__return_false');
remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );

(2)安装WordPress插件禁止古腾堡编辑器,如 Disable Gutenberg 插件,或者通过安装插件页面搜索“Gutenberg”就能找到很多禁止古腾堡的插件。

2、屏蔽WordPress前端REST API 方法

如果发表文章的时候通过浏览器的F12功能来审查资源,你会发现WPRESTAPI会报错,这个时候可以尝试禁用WPRESTAPI来测试是否正常工作。想要禁用WPRESTAPI,可以安装下面 WordPress Rest API 插件或者代码来实现。

以下是可能造成屏蔽REST API的代码

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('template_redirect', 'rest_output_link_header', 11);

查看REST API是否开着的方法:访问//你网站域名/wp-json/,看是否能打开整个页面的json,如果只有1行,就是被关闭了。

3、出现WTS-WAF错误拦截问题后联系了服务商

通过插件禁止古腾堡编辑器(Gutenberg)之后,启用经典编辑器插件,发布文章出现WTS-WAF错误拦截问题。

WTS-WAF拦截详情

于是良家佐言向西数售后工程师提交工单阐述了这个问题,按照工程师要求提供了相应的资料之后,猜测可能是发布的内容中有关键字触发了服务器防护规则,经过测试之所以不能发布文章,是因为文章中 cmd。exe 这个触发了防护规则,然后才出现了WTS-WAF错误拦截问题。

本章总结:WordPress错误中“发布失败, 此响应不是合法的json响应”的解决办法,实际上通过插件或者代码禁止古腾堡编辑器之后,然后在换回经典编辑器就能改善后端Json响应错误问题,但是古腾堡编辑器是 WordPress5.5 的一大亮点,个人是非常喜欢的。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

微信扫一扫打赏