WordPress 更新に失敗しました|保存できない原因

WordPress \u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff5c\u4fdd\u5b58\u3067\u304d\u306a\u3044\u539f\u56e0 運用・トラブル

本記事にはプロモーション(PR)が含まれます。

ブロックエディタ(WordPressの標準の編集画面。通称Gutenberg)で記事を書き終えて「更新」を押したら、画面の下に赤い帯で「更新に失敗しました」または「公開に失敗しました。もう一度お試しください」と出て、書いた内容が保存できない。下書きには入っているのに公開に反映されない、あるいは予約投稿にしたはずの記事が時間を過ぎても「予約投稿 失敗」のまま止まっている。こうした「入力はできるのに保存の一歩手前で弾かれる」トラブルに直面している方に向けた記事です。

結論を先に言うと、原因の大半はREST API(WordPressが編集画面とサーバーの間で保存データをやり取りする通信の仕組み)が途中でブロックされていることと、予約投稿を動かすcron(時間になったら処理を実行する仕組み)が回っていないことの2つに絞れます。判断の順番は「まず自分のブラウザ(キャッシュ・拡張機能)を疑う→次にセキュリティ系プラグインを止めて切り分ける→それでも直らなければサーバー側のWAFを一時的に戻す」。この記事はこの順に沿って進めます。プラグインを追加しても保存の手前で弾かれる問題は、機能を足すより「通信を邪魔している何かを外す」方向で直すのが基本です。

「更新に失敗しました」の正体はREST APIのブロック

ノートパソコンとサーバーラックの間に浮かぶ青いバリア
通信を遮る見えない壁(イメージ)

ブロックエディタは、記事を保存するときに画面を再読み込みせず、裏側で /wp-json/ というURLへデータを送っています。この通信がREST APIです。ここが何かに遮られると、入力自体はできているのに送信の段階で失敗し、エディタが「更新に失敗しました」と表示します。文章が消えたわけではなく、あくまで「サーバーに届かなかった」状態です。

REST APIを遮る主な犯人は次の3つです。

  • セキュリティ系プラグイン(SiteGuard WP Plugin、Wordfence、All In One WP Security など)。REST APIへの外部アクセスを既定で制限する設定を持つものがあり、これが自分自身の保存通信まで巻き込むことがあります。
  • サーバー側のWAF(Web Application Firewall。不正な通信をサーバーの入口で遮断する仕組み)。投稿本文に含まれる文字列やタグが「攻撃っぽい」と誤判定され、保存リクエストごとブロックされます。HTMLやコードを含む記事で起きやすいのが特徴です。
  • ブラウザ側の問題。広告ブロック系の拡張機能、企業ネットワークのプロキシ、古いキャッシュが通信を止めることもあります。

原因を切り分ける判断フロー

やみくもに設定を触ると別の不具合を呼び込みます。次の順で1つずつ潰してください。

  1. 別のブラウザ、またはシークレットウィンドウで同じ記事を保存してみる。これで保存できたら、犯人は元のブラウザのキャッシュか拡張機能です。拡張機能を一時的に全部オフにして再確認します。
  2. 保存できる短い記事と、できない記事を比べる。「あいうえお」だけの新規記事は保存でき、特定の記事だけ失敗するなら、本文中の文字列がWAFに引っかかっている可能性が高いです。
  3. セキュリティ系プラグインを一時停止して保存を試す。止めた瞬間に保存できたら、そのプラグインのREST API制限が原因です。
  4. プラグインを全部止めても失敗するなら、サーバー側のWAFを一時的にオフにして切り分ける。ここまで来て初めてサーバー設定に手を入れます。
症状 試すこと これで直れば原因は
どの記事も更新に失敗する 別ブラウザ・シークレットで保存 ブラウザのキャッシュ・拡張機能
特定の記事だけ失敗する 本文からHTML・外部URL・コードを削って保存 サーバー側WAFの誤検知
プラグイン導入後に失敗し始めた セキュリティ系プラグインを停止 プラグインのREST API制限
予約投稿だけ「失敗しました」になる 手動で「公開」を押して通るか確認 cronが動いていない(後述)

差別化ポイント:サーバー側のWAFを一時的に戻す

ノートPCの画面に指をかざす人の手元
慎重な設定変更をする様子(イメージ)

プラグインをすべて止めても保存できない場合、レンタルサーバー各社が標準で有効にしているWAFが誤検知している可能性が濃厚です。ここが個人ブログのつまずきどころで、プラグインの記事ばかり読んでいると見落とします。多くの共用サーバーではWAFを管理画面から自分でオン・オフできるため、保存できないときは一度オフに戻して切り分けられます。

操作の場所は、各社のサーバー管理画面にある「WAF設定」や「セキュリティ」の項目です。対象ドメインのWAFを一時的にオフにし、記事を保存できるか試します。保存できたらWAFが原因と確定です。ただしWAFはオフのままにすると不正アクセスに弱くなるため、切り分けが済んだら必ずオンに戻し、可能なら「この記事の保存だけを除外する」設定(除外ルール・ログからの解除)で運用してください。

主要3社での操作場所の目安は次のとおりです。

  • エックスサーバー:サーバーパネルの「WAF設定」でドメイン単位のオン・オフと、検知ログからの除外設定に対応(2026年9月時点・公式サイト確認)。
  • ConoHa WING:コントロールパネルの「サイトセキュリティ」にWAFの項目あり(2026年9月時点・公式サイト確認)。
  • ロリポップ:ユーザー専用ページの「セキュリティ」にWAF設定があり、オン・オフを切り替え可能(2026年9月時点・公式サイト確認)。

WAFをオフにしてから再度オンにすると、設定が反映されるまで数分かかる社があります。保存できないままでも慌てず、数分おいてから再確認してください。プラグインで同じことを解決しようとすると設定が二重になって切り分けが難しくなるので、まずはサーバー側で判断するのが結局は早道です。

予約投稿が「失敗しました」になるのはcronが動いていないから

予約した時刻を過ぎても記事が公開されず、投稿一覧に「予約投稿 失敗」と表示される場合、原因はWAFではなくcronです。WordPressの予約投稿は wp-cron.php という仕組みで動き、これは誰かがサイトにアクセスした瞬間に「予約時刻を過ぎた記事はないか」をチェックして公開するという、やや変わった作りになっています。

そのため、アクセスがほとんどない立ち上げ直後のブログでは、予約時刻になっても誰も来ず、公開処理が走らないまま「失敗」と記録されることがあります。主な原因と対処は次のとおりです。

  • アクセスが少なくcronが起動しない:時刻を過ぎた直後に自分でトップページを開くと、その場で公開処理が走ることがあります。恒久対策は、サーバーのcron機能(時間指定で自動実行する仕組み)で wp-cron.php を定期的に叩く設定にすることです。
  • キャッシュ系プラグインやCDNが古いページを返している:公開自体は成功しているのに、キャッシュのせいで表示だけ古い場合があります。キャッシュを削除して確認します。
  • タイムゾーンのずれ:WordPress管理画面の「設定」でタイムゾーンが「東京」になっているか確認します。UTCのままだと予約時刻が9時間ずれます。

予約投稿の失敗は、手動で「公開」を押せば通るかどうかで切り分けられます。手動なら公開できるのに予約だけ失敗するなら、記事やWAFではなくcronの問題だと判断できます。

それでも直らない・頻発するとき

サーバー環境を検討する人の後ろ姿
サーバー環境を見直す作業(イメージ)

切り分けても保存できない、あるいはWAFの誤検知が頻発して毎回オフにしている、という状態が続くなら、サーバーの環境そのものを見直す段階です。同じWordPressでも、WAFの検知ルールやREST APIの扱いはサーバー会社ごとに差があり、管理画面から除外設定まで自分で触れるかどうかで運用の楽さが変わります。長く運営するほどこの差が効いてくるため、契約更新の前に環境を比べておくと安全です。料金と機能を合わせて確認したい方は、レンタルサーバーおすすめ比較|個人3社の3年総額はいくらで個人向け3社を突き合わせています。

よくある質問

「更新に失敗しました」と出ても、書いた文章は消えますか

多くの場合、消えていません。ブロックエディタは編集内容をブラウザ内に保持しているため、ページを閉じずにそのまま原因を切り分ければ、保存できた時点で内容は反映されます。ただし念のため、直らないときは本文を丸ごとコピーしてメモに退避してから設定を触ってください。

クラシックエディタなら保存できるのに新エディタだと失敗します

それはREST APIブロックの典型的なサインです。クラシックエディタは従来型の送信方式で保存するため、REST APIが遮られていても保存が通ることがあります。応急処置にはなりますが、根本原因はWAFかセキュリティプラグインなので、切り分けて解除するのが本筋です。

WAFはオフのままにしておいて問題ありませんか

おすすめしません。WAFは不正アクセスをサーバーの入口で防ぐ役割があり、オフのままだとリスクが上がります。切り分けでWAFが原因と分かったら、オフの常用ではなく、その記事や操作だけを除外する設定に切り替えて、WAF自体はオンに戻してください。

本文にコードやHTMLを貼ると毎回失敗します

WAFがコードやタグを攻撃パターンと誤検知している可能性が高いです。まず該当部分を削って保存できるか試し、原因が特定できたら、サーバー側で検知ログからその記事を除外する設定を行います。除外の可否と手順は契約中のサーバー会社の公式情報で確認してください。

予約投稿の失敗を根本的になくすには

アクセスに依存する標準のwp-cronをやめ、サーバーのcron機能で wp-cron.php を一定間隔(たとえば5分ごと)に実行する設定にするのが確実です。設定方法はサーバー会社によって異なるため、各社のマニュアルで「cron」「Cron設定」の項目を確認してください。

プラグインを入れすぎると保存に失敗しやすくなりますか

プラグインの数そのものより、どんな機能を持つプラグインかが問題です。とくにセキュリティ系はREST APIやログインまわりを制限するため、保存や公開に影響しやすい傾向があります。トラブル時はまずセキュリティ系から止めて切り分けるのが効率的です。

参考・出典

  • エックスサーバー 機能一覧(WAF・セキュリティ):https://www.xserver.ne.jp/functions/
  • ConoHa WING 機能一覧(サイトセキュリティ):https://www.conoha.jp/wing/function/
  • ロリポップ 機能一覧(WAF・セキュリティ):https://lolipop.jp/service/function/
タイトルとURLをコピーしました