この記事はWordPress 5.0以上を使っていて、Gutenbergエディタで記事を公開・更新しようとする際に「更新に失敗しました」とエラーがでて困っている人にお勧めの記事になっています。
こんにちは。2018年12月にWordPress 5.0が公開され、現在に至るまで何度かアップデートを重ね改良が続けられています。2019年8月現在、最新バージョンはWordPress 5.2.2で、リリースから比較するとだいぶ安定してきました。
しかし、それでも新しいエディタGutenbergを使った不具合は多々あるようで、最も多いのが記事を公開・更新しようとした際に発生する「更新に失敗しました」と表示される不具合です。原因はやはりGutenbergに起因するものらしく、WordPress 4.9以前ではそういった不具合は私が見る限りでは確認できませんでした。
Gutenbergに起因する問題とは言え、原因は多々あるらしく、環境により対策が異なるようですので一度Gutenbergで発生する更新失敗の原因と対策をまとめてみました。
Gutenberg記事更新失敗の原因と対策
Gutenberg記事更新失敗の原因と対策についてひとつづつ解説していきます。不具合が発生する多くのケースが、
- サーバが対応していない(旧9の設定のまま使い続けている)
- サーバ側のセキュリティ更新によりアクセス制限がかかった
- プラグインの不具合
これら3点が多いようです。特に近年、WordPressのハッキング対策のためサーバ側がセキュリティ設定を強化している場合に同様の問題が発生するケースがあるようです。
まず最初に試してみること
更新に失敗しましたと表示される場合、まず試してほしいのがClassic Editorのインストールです。更新に失敗する原因として、セキュリティの強化されたGutenbergが原因の可能性があります。
将来的にはGutenbergを使う必要がありますが、いったんの解決策としてClassic Editorプラグインをインストールして動作を確認するということが必要です。
サーバ環境を見直してみる
Classic Editorのインストールでも治らない場合、サーバ環境を見直してみましょう。PHPのバージョンやデータベースのバージョンを確認してみましょう。
報告では、MySQL 5.6からMySQL 5.7へアップデートしたら使えるようになったとの声もありました。サーバにより対応しているバージョンが異なりますが、バージョンアップが可能であれば、PHP、MySQLともに最新のものへ更新してみましょう。
PHPの設定を見直す
こちらもサーバ設定と同様ですが、XサーバやロリポップなどPHP.iniを直接編集できる場合、こちらの設定を変えることで解決する場合があるようです。こちらの問題は、php7以降を使っている場合は発生しないようです。サーバの対応で、php 7が使えない場合は試してみてください。
Php.iniの設定を開き、always_populate_raw_post_dataの値を-1に変更します。
always_populate_raw_post_data = -1
クッキーを削除してみる
WordPress更新に失敗する原因にクッキーの存在があるようです。クッキーを削除するだけで解決する場合もあるようですので、まずは試してみるとよいでしょう。
セキュリティ系プラグインを停止してみる
中にはセキュリティ系プラグインが不具合を起こし、更新できなくなっているケースもありました。ログインアクセス制限などセキュリティ系のプラグインを入れている場合は、一度プラグインを停止してみてください。
サーバーのセキュリティ設定を見直す
一番厄介なのがサーバのセキュリティ設定です。最近ではWordPressがあまりにも普及しすぎたため、WordPressを使ったサイトは攻撃対象になりやすく、そのためサーバ側も様々な対策を講じてきています。
対策の一つとしてあるのがWAFというセキュリティ設定です。多くの場合、海外からのアクセスを制限するためのものですが、サーバや設定により国内のアクセスも制限してしまう場合があるようです。
また、.htaccessを使っている場合、.htaccessのIPアドレス制限がかかっているため、更新できなくなるというのもあるようです。
サーバにより設定が異なりますが、一度WAFの設定を無効にし、記事の更新を試してみてください。