WordPressで「更新に失敗しました」「公開に失敗しました」と出る時の原因と直し方

WordPressで「更新に失敗しました」「公開に失敗しました」と出る時の原因と直し方

記事
IT・テクノロジー
「お知らせを書き終えて『更新』を押したら、画面の上に『更新に失敗しました』と赤い帯が出た」「新しい記事を『公開』しようとしたら『公開に失敗しました。返答が正しいJSONレスポンスではありません』と表示される」。WordPressの投稿画面で突然このエラーが出ると、せっかく書いた文章が消えてしまうのではと不安になります。
結論から言うと、このエラーの多くは「投稿画面とサーバーとのやり取りが途中で止められている」ことが原因です。具体的には、サーバーのセキュリティ機能(WAF)による誤検知、プラグインの干渉、パーマリンクやサイトURLの設定のずれ、ログインの有効期限切れの4つでほとんどを説明できます。この記事では、書いた内容を守りながら原因を切り分ける順番と、それぞれの直し方、さらに同じエラーを繰り返さないための設定までをまとめました。

まずは書いた内容を守る:エラーが出たら最初にやること

エラーが出た直後に、ページを再読み込みしたり、ブラウザを閉じたりするのは避けてください。まだ保存されていない文章が消えてしまうことがあります。
1. 投稿画面の本文をすべて選択してコピーし、メモ帳などに貼り付けて手元に残します。
2. 画像を入れていた場合は、どの位置にどの画像を入れていたかもメモしておきます。
3. そのうえで、別のタブで管理画面を開き、「投稿」の一覧に下書きや自動保存が残っていないかを確認します。
WordPressには自動保存とリビジョン(変更履歴)の機能があるため、エラーが出ていても途中までの内容が残っていることがあります。手元にコピーを取ってから作業を始めれば、原因の切り分けで何度か試しても安心です。

なぜ「更新に失敗しました」が出るのか:仕組みと主な原因

現在のWordPressの投稿画面(ブロックエディター)は、「更新」や「公開」を押すと、裏側でサーバーにデータを送り、サーバーから「保存しました」という返事を受け取って完了を表示します。このやり取りに使われているのが「REST API」と呼ばれる仕組みです。
エラーメッセージは、この返事が届かなかった、または返事の形が崩れていたことを意味しています。「返答が正しいJSONレスポンスではありません」という表示は、サーバーから返ってきたのが「保存しました」という返事ではなく、エラー画面や警告文だったというサインです。
返事が止められる主な原因は、次の4つです。
・サーバーのWAF(不正アクセスを防ぐ機能)が、本文の一部を攻撃と誤って判断して止めている
・セキュリティ系やキャッシュ系のプラグインが、REST APIへのアクセスを制限している
・パーマリンクの設定や、サイトURL(httpとhttps、wwwの有無)の設定が実際のURLとずれている
・長時間画面を開いたままにしていて、ログインの有効期限が切れている
このほか、プラグインの不具合で警告文が一緒に出力されている、サーバーの容量やメモリの上限に達している、といったケースもあります。

原因別の直し方①:まず試したい3つの確認

最初に、手軽で影響の少ない確認から順に試します。
ログインし直す
画面を長時間開いたままにしていると、ログインの有効期限が切れて保存できなくなることがあります。手元に本文のコピーを取ったうえで、一度ログアウトしてログインし直し、もう一度保存してみてください。
パーマリンク設定を保存し直す
管理画面の「設定」から「パーマリンク」を開き、何も変えずに「変更を保存」を押します。これだけで、REST APIの通り道となる設定が作り直され、エラーが解消することがあります。サーバー移転やSSL化の直後に起きた場合は、特に効果が期待できます。
サイトヘルスで問題を確認する
管理画面の「ツール」から「サイトヘルス」を開くと、「REST APIでエラーが発生しました」「REST APIへのリクエストが予期しない結果になりました」といった項目が表示されていないかを確認できます。ここにREST APIの問題が出ていれば、下の②・③の原因の可能性が高まります。

原因別の直し方②:サーバーのWAFによる誤検知

「特定の記事だけ保存できない」「本文の一部を消すと保存できる」という場合は、サーバーのWAFによる誤検知が最も疑われます。多くのレンタルサーバーではWAFが標準で有効になっており、本文に含まれるプログラムのような書き方や、特定の記号の並びを攻撃と判断して保存を止めることがあります。
確認の手順は次のとおりです。
1. レンタルサーバーの管理画面にログインし、WAFの設定画面を開きます。
2. 対象のドメインのWAFを一時的に無効にします(反映まで数分かかるサーバーもあります)。
3. 投稿画面に戻り、もう一度保存できるかを試します。
4. 保存できたら、必ずWAFを有効に戻します。
WAFが原因とわかった場合、毎回無効にするのは安全面からおすすめできません。サーバーによっては、WAFのログで止められた箇所を確認し、その項目だけを除外する設定ができます。また、本文にプログラムのような記述を貼り付けている場合は、表記を変えると保存できることもあります。

原因別の直し方③:プラグイン・テーマの干渉とURL設定のずれ

WAFを無効にしても直らない場合は、プラグインやテーマが原因の可能性があります。
1. 管理画面の「プラグイン」から、セキュリティ系・キャッシュ系のプラグインを1つずつ停止し、そのたびに保存できるか試します。
2. 原因が見つからなければ、すべてのプラグインを停止して試し、保存できたら1つずつ有効に戻して原因を特定します。
3. それでも直らなければ、一時的にWordPress標準のテーマに切り替えて確認します。
セキュリティ系のプラグインには、「REST APIを無効化する」という設定を持つものがあります。不正アクセス対策として有効にしていると、投稿画面の保存まで止めてしまうため、設定を見直してください。
あわせて、「設定」の「一般」にある「WordPressアドレス」と「サイトアドレス」が、実際のサイトのURLと一致しているかも確認します。httpsで表示しているのにhttpのままになっている、wwwの有無が違う、といったずれがあると、保存のやり取りがうまくいかないことがあります。
ここまで試しても解決しない場合や、サーバーやプラグインの設定を触るのが不安な場合は、無理に作業を続けるより早めに相談していただくほうが安全です。エラーの文言と、エラーが出始める直前に行った作業(プラグインの追加・更新、SSL化、サーバー移転など)を教えていただければ、原因の切り分けから対応します。

ついでにできる改善提案:保存エラーで慌てないための設定

エラーが直ったら、同じトラブルを繰り返さないように、次の設定もあわせて見直しておくことをおすすめします。
WAFは有効のまま、誤検知だけを除外する
WAFを無効にしたままにすると、不正アクセスへの備えが弱くなります。サーバーのWAFログを確認し、誤検知された項目だけを除外する設定にしておけば、安全性を保ったまま更新作業ができます。サーバーによって設定の場所や除外できる単位が異なるため、契約しているサーバーのマニュアルに沿って設定します。
リビジョンと自動保存を活かす
WordPressは、更新のたびにリビジョン(変更履歴)を残します。投稿画面の右側にある「リビジョン」から過去の状態に戻せることを覚えておくだけで、エラーが出たときの安心感が大きく変わります。一方で、リビジョンが増えすぎるとデータベースが重くなるため、保存する数の上限を設定しておくのもおすすめです。
プラグインの更新は、まとめて行わずに1つずつ
プラグインを一度にまとめて更新すると、エラーが出たときにどれが原因かわからなくなります。1つずつ更新して、そのたびに投稿画面で保存できるかを確認する手順にしておくと、原因の特定がすぐにできます。可能であれば、本番サイトとは別にテスト用の環境(ステージング環境)を用意して、先に更新を試すとより安全です。
サイトヘルスを月に1回チェックする
「ツール」の「サイトヘルス」は、REST APIの不具合やPHPのバージョン、使っていないプラグインなど、トラブルの芽を一覧で教えてくれます。月に1回見る習慣をつけておけば、保存できなくなる前に気づけることが多くなります。
長い記事は、こまめに下書き保存する
長い文章を一度に書いて最後に公開すると、エラーが出たときの影響が大きくなります。区切りのよいところで「下書き保存」を押す習慣をつけておくと、ログインの有効期限切れによる失敗も防げます。

これまでの対応について

私はWeb制作歴6年で、HP・LP・ECサイトの制作を100件以上手がけてきました。coconalaのWordPress修正サービスでは評価5.0をいただいています。「更新に失敗しました」のエラーは、原因を一つずつ切り分ければ、記事やデータを消さずに直せることがほとんどです。NDA対応・本人確認済みで、お預かりしたログイン情報やサーバー情報は作業後に削除します。平日日中は1時間以内の返信を目安に対応しています。

まとめ:まず本文を守り、影響の少ない確認から順に

WordPressで「更新に失敗しました」「公開に失敗しました」と表示されたら、まず本文をコピーして手元に残しましょう。そのうえで、ログインし直す、パーマリンクを保存し直す、サイトヘルスを確認する、という手軽な確認から始め、WAFの誤検知、プラグインの干渉、URL設定のずれの順に切り分けていけば、多くの場合は解決できます。
「急いで公開したいお知らせがある」「サーバーの設定を自分で触るのは不安」という場合は、お気軽にご相談ください。症状を伺ったうえで、対応できるかどうかを正直にお伝えします。
内容が固まっていない段階のご相談は、プロフィールからどうぞ。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す