• 2026.06.12
  • 保守・セキュリティ
  • GIVデザインチーム

WordPressが突然更新できない|ACFのnonceエラー対処法

WordPressの固定ページや投稿を更新しようとした瞬間、次のようなエラーが出て保存できなくなることがあります。

> 検証失敗。

> ACF was unable to perform validation because no nonce was received by the server.

「昨日まで普通に更新できていたのに、ある日突然」というケースが非常に多いのがこのエラーの特徴です。実はこれ、WordPressやACF(Advanced Custom Fields)が壊れたわけではなく、サーバー側の設定値の上限に達したことが原因であることがほとんどです。

この記事では、エラーの意味・なぜ「ある日突然」起きるのか・確実な直し方を、実際の対応事例をもとに解説します。

このエラーは何を言っているのか

「nonce(ノンス)」とは、WordPressが「この保存リクエストは正規の画面から送られたものか?」を確認するための、使い捨ての検証トークンです。フォームを送信すると、入力内容と一緒にこのnonceもサーバーへ送られ、サーバー側で照合します。

エラーメッセージは「サーバーにnonceが届かなかったので検証できなかった」と言っています。つまり、入力データの一部がサーバーまで届いていない状態です。

なぜ「ある日突然」起きるのか

原因の本命は、PHPの 「max_input_vars(一度に受け取れる入力項目数の上限)」です。デフォルトは 「1000」。

ここで問題になりやすいのが、ACFの繰り返しフィールド(Repeater)を使ったページです。たとえば「試合結果」「実績一覧」「メンバー紹介」のように、データを行で追加していく構造の場合、保存時に送信される入力項目は次のように積み上がっていきます。

– 1行あたり 10〜15項目(タイトル、日付、得点、コメント…)

– これが数十行たまると、合計で1000項目を軽く超える

「max_input_vars」を超えると、PHPは超過分を警告も出さずに黙って切り捨てます。そして、切り捨てられる「後ろのほう」にちょうどnonceフィールドがあるため、サーバーに届かず「nonceが受け取れなかった」というエラーになるのです。

データを追加するたびに項目数は増えていくので、ある日しきい値を超えた瞬間に突然発症する——これがこのトラブルの正体です。新しく何かを変更したわけでもないのに急に壊れた、という感覚はここから来ています。

まず現在値を確認する

WordPress管理画面から、今の 「max_input_vars」の値を確認できます。

「ツール」 → 「サイトヘルス」 → 「情報」 → 「サーバー」

この中の「PHP 最大入力変数(max input variables)」を見てください。「1000」になっていれば、ほぼこのケースで確定です。

直し方(サーバー環境別)

PHPがFPM(fpm-fcgi)で動いている環境では、「.htaccess」 に 「php_value max_input_vars」 を書いても効きません。サーバーごとに正しい方法を選びます。

共通「.user.ini」 を置く(多くのFPM環境で有効)

WordPressのルート(wp-config.phpがある階層)に 「.user.ini」を作成し、次を記述します。

max_input_vars = 500
post_max_size = 64M
upload_max_filesize = 64M
max_execution_time = 300
memory_limit = 256M

反映には最大5分ほどかかります(「user_ini.cache_ttl」のデフォルトが300秒のため)。

Xserver / さくらインターネット等

サーバーパネルの「PHP設定」「php.ini設定」から 「max_input_vars」 を直接 「5000」 に変更できます。コントロールパネルがある場合はこちらが確実です。

反映の確認

設定後、再びサイトヘルスで値が 「5000」になっていることを確認し、問題のページを更新してみてください。エラーが消えていれば対応完了です。

値はいくつにすればいい?

「5000」にしておけば、当面はまず問題ありません。Repeaterで年間数十〜百件のデータが積み上がるサイトでも安心です。さらに不安があれば 「10000」でも、サーバー負荷的にはほぼ影響ありません。

併せて見直したいポイント

このエラーが出るページは、リビジョン(更新履歴)が数百件たまっていることもよくあります。直接の原因ではありませんが、データベースが重くなる一因なので、保守のタイミングでリビジョン上限の設定やクリーンアップも検討すると安定します。

まとめ

– 「nonceが受け取れない」エラーの多くは、PHPの 「max_input_vars」(デフォルト1000)超過が原因

– ACFのRepeaterなどデータが積み上がるページで「ある日突然」発症する

– サイトヘルスで現在値を確認し、「.user.ini」 やサーバー設定で `5000` に引き上げれば解決

– FPM環境では 「.htaccess」 では効かない点に注意

WordPressの「突然動かない」を未然に防ぐなら

このエラーのように、WordPressのトラブルは「何もしていないのに、ある日突然」起きるものが少なくありません。原因がサーバー設定の上限であったり、プラグインのバージョン非互換であったりと、画面を見ただけでは判断しにくいのが厄介なところです。

GIVのホームページ保守サービスでは、こうした不具合の調査・復旧はもちろん、PHPやプラグインのバージョン管理、定期バックアップ、表示崩れの監視まで対応し、「突然のトラブル」が事業の手を止めないようサポートしています。更新が止まって困っている、運用を任せられる相手を探している、という方はお気軽にご相談ください。

Web・AI・セキュリティのお悩みは
GIV株式会社へご相談ください

「サイトをリニューアルしたい」「業務を自動化したい」
そんな課題を、技術とデザインの力で解決します。
まずはお気軽にお問い合わせください。

無料相談・お問い合わせ
GIV / Design / Security / People
お問い合わせ
Contact
お問い合わせ
電話 お問い合わせ