WordPress の「無効な JSON」エラーは、作業の途中で突然予期せぬ停止が発生したように感じられることがあります。これは単なるエラーメッセージではなく、ワークフロー全体に影響を与える可能性のある中断です。
WPBeginnerでは、クライアントサイトでこの問題に遭遇しました。多くの初心者にとって、これはパズルのように感じられますが、このエラーを修正するのは実際には非常に簡単です。
このガイドは、専門用語を使わずに、迅速に問題を解決できるように設計されています。そのエラーに対処し、安心を取り戻しましょう。

WordPressで「無効なJSONレスポンス」エラーが発生する原因は何ですか?
サーバーから期待される応答を受信できないことが、WordPressで「無効なJSON応答」エラーが発生する原因となります。
基本的に、WordPressはブログ記事の編集中にサーバーと通信する必要があります。バックグラウンドでウェブホスティングサーバーからの応答を取得することに依存しています。この応答は通常JSON形式であり、JavaScriptを使用してデータを迅速に転送するために使用されます。
何らかの理由で WordPress が応答を取得できなかった場合、または応答が JSON 形式でなかった場合、「無効な JSON 応答です」というエラーが表示されます。

このエラーは、いくつかの理由で表示される可能性があります。しかし、最も可能性の高い原因は、WordPress の URL 設定が間違っているか、パーマリンクが壊れていることです。
これを踏まえて、WordPressで無効なJSONエラーを簡単に修正する方法をご紹介します。以下のクイックリンクを使用して、さまざまな方法にジャンプできます。
- オプション1. 設定でWordPressのURLを確認する
- オプション2. WordPressパーマリンク構造の修正
- オプション3. WordPressの.htaccessファイルを再生成する
- オプション4. REST APIデバッグログを表示する
- オプション5. すべてのWordPressプラグインを無効にする
- オプション6. 一時的にクラシックエディターに切り替える
- オプション7. デフォルトのWordPressテーマに切り替える
- オプション8. ウェブサイトアプリケーションファイアウォールを一時的にオフにする
- オプション9. WordPressでデバッグをオンにする
- オプション10.混合コンテンツエラーを確認する
- 最終ステップ:専門家の助けを求める
- よくある質問
- その他のWordPressトラブルシューティングガイドを探す
注意:ウェブサイトに大きな変更を加える前に、WordPressの完全なバックアップを作成してください。これにより、ウェブサイトを以前の状態に簡単に復元できます。
準備はいいですか?始めましょう!
オプション1. 設定でWordPressのURLを確認する
まず、WordPressアドレスとサイトアドレスの設定が正しいことを確認する必要があります。
設定 » 一般 ページに移動するだけです。ここから、「WordPress アドレス (URL)」と「サイトアドレス (URL)」のフィールドを確認する必要があります。

ほとんどのウェブサイトでは、この設定は両方のフィールドで同じURLである必要があります。
ただし、まれに、WordPress ユーザーが WordPress に独自のディレクトリを与え、別のアドレスでウェブサイトを提供している場合があります。その場合、ここでの URL が異なることがあります。
ただし、サイトアドレスが正しくないと、WordPressで無効なJSONエラーが発生します。
設定を変更した場合は、「変更を保存」ボタンをクリックすることを忘れないでください。これでブログ投稿を編集し、新しいブロックを追加したり、投稿を保存したりすると、「無効なJSON応答」エラーが発生するかどうかを確認できます。
エラーがまだ表示される場合は、読み進めてください。
オプション2. WordPressパーマリンク構造の修正
WordPressには、投稿やページに人間が読めるURLを使用できるSEOフレンドリーなURL構造が付属しています。
しかし、ユーザーがパーマリンク設定を誤って変更してしまうことがあります。これにより、WordPressのブロックエディターは有効なJSONレスポンスを取得できなくなり、エラーが表示される原因となります。
これを修正するには、設定 » パーマリンク ページにアクセスするだけです。ここから、パーマリンクオプションを慎重に確認する必要があります。

正しい設定を使用しているかどうかわからない場合は、デフォルトのフォーマットのいずれかを選択してください。
その後、「変更を保存」ボタンをクリックして設定を保存してください。
これで、ブログ投稿またはページを編集して、エラーが消えたかどうかを確認できます。消えていない場合は、次のステップを試すことができます。
オプション3. WordPressの.htaccessファイルを再生成する
WordPressの.htaccessファイルは、SEOフレンドリーなURL(パーマリンク)を管理するための設定ファイルとして使用されます。
通常、WordPressはファイルを自動的に再生成および更新できます。また、設定 » パーマリンク ページの最下部にある「変更を保存」ボタンをクリックするだけで、その更新をトリガーすることもできます。
ただし、更新されない場合や設定が間違っている場合があります。これはWordPressのパーマリンクに影響を与え、無効なJSONレスポンスエラーの原因となる可能性もあります。
これを修正するには、FTPクライアントを使用してウェブサイトに接続するか、WordPressホスティングアカウントダッシュボードのファイルマネージャーアプリを使用する必要があります。
接続したら、ウェブサイトのルートフォルダーにある.htaccessファイルを見つけ、コンピューターへのバックアップとしてダウンロードする必要があります。

専門家のアドバイス:.htaccessファイルが見つかりませんか?その場合は、.htaccessファイルの検索方法に関する簡単な記事を参照してください。
その後、FTPクライアントまたはファイルマネージャーアプリを使用して.htaccessファイルを編集する必要があります。

ファイルを開いたら、その中のコードをすべて削除し、以下のコードに置き換える必要があります。
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
変更を保存し、ファイルをウェブサイトにアップロードすることを忘れないでください。
これでウェブサイトにアクセスし、投稿またはページを編集して、無効なJSON応答エラーが再現されるかどうかを確認できます。
エラーがまだ表示される場合は、他にいくつか実行できる手順があります。
オプション4. REST APIデバッグログを表示する
無効なJSON応答エラーは、ウェブサイト上のWordPress REST APIでエラーが発生したことを意味する場合もあります。
REST APIは、ウェブサイトを操作する際にWordPressがウェブサーバーと通信するために使用する一連の技術です。
このエラーの詳細は、「WordPressサイトヘルス」ツールで確認できます。ツール » サイトヘルスページにアクセスしてください。

ここから、「REST API が予期しない結果を検出しました」という問題が表示される場合があります。
クリックすると詳細が表示され、どのプラグインまたはサードパーティサービスが問題を引き起こしているかについてのヒントが得られる場合があります。
これでも手がかりが得られない場合は、次のステップに進むことができます。
オプション5. すべてのWordPressプラグインを無効にする
WordPressプラグインが互いに、またはWordPressコアソフトウェアと競合する場合があります。これにより予期しない動作が発生する可能性があり、無効なJSONエラーの潜在的な原因となることがあります。
単純に「プラグイン » インストール済みプラグイン」ページに移動します。ここから、すべてのWordPressプラグインを選択し、「一括操作」ドロップダウンメニューから「非アクティブ化」を選択します。次に、「適用」ボタンをクリックして続行します。

WordPressは、インストールされているすべてのプラグインを非アクティブ化します。
これで、エラーを再現しようとすることができます。エラーが消えた場合、それはウェブサイトにインストールされているプラグインのいずれかが原因であったことを意味します。
どのプラグインが問題なのかを特定するには、プラグインを1つずつ有効化し、エラーを再現してみてください。これを繰り返して、原因を突き止めてください。
その後、プラグインの作者にサポートを依頼するか、代替プラグインを見つけることができます。
オプション6. 一時的にクラシックエディターに切り替える
次のオプションは、WordPressのクラシックエディターに一時的に切り替えることです。
WordPressエディターのこの古いバージョンは、よりシンプルなテキストエディターを使用しており、JSON応答を取得するためにREST APIにあまり依存していません。
これを使用するには、クラシックエディタープラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
このプラグインはすぐに機能し、有効化するとGutenbergエディターが無効になります。
または、WPCodeを使用してGutenbergエディターを無効にし、クラシックエディターを安全に有効化することもできます。これは、WordPressにコードスニペットを挿入するための最も簡単で安全なプラグインです。

WPCodeを使用してGutenbergを無効にする方法を見つけるには、このガイドをお読みください。WPCodeでGutenbergを無効にする方法。
これで、ウェブサイトでの作業を続行し、後でトラブルシューティングに戻ることができます。
オプション7. デフォルトのWordPressテーマに切り替える
サードパーティのWordPressテーマは、特にコードが適切に記述されていない、またはメンテナンスされていない場合、WordPressコアや他のプラグインとの競合を引き起こすことがあります。これらの競合は、無効なJSONエラーなど、さまざまな方法で表示される可能性があります。
デフォルトテーマに切り替えることで、現在使用しているテーマによって導入されたカスタムコードや機能は基本的に削除されます。
これにより、問題がテーマ自体から発生しているのか、それともWordPressの他の設定から発生しているのかを特定するのに役立ちます。
これを行うには、WordPressダッシュボードの外観 » テーマに移動します。次に、Twenty Twenty-FourやTwenty Twenty-Threeなどのデフォルトテーマを見つけて、「有効化」をクリックします。

オプション8. ウェブサイトのアプリケーションファイアウォールを一時的にオフにする
Cloudflare、Sucuri、またはプラグインのようなWordPressファイアウォールを使用している場合、正当なリクエストをブロックすることもあります。
これを特定する最も簡単な方法は、WordPressファイアウォールプラグインまたはサービスを一時的に無効にすることです。
一部のアプリケーションレベルのWordPressファイアウォールは、プラグインを無効化するだけで無効にできます。アカウントダッシュボードからSucuriやCloudflareのようなDNSレベルのファイアウォールを無効にできます。
オプション9。WordPressでデバッグをオンにする
WordPressにはエラーログを保持する組み込み機能がありますが、デフォルトでは有効になっていません。
これをオンにするには、wp-config.phpファイルに次のコードを追加する必要があります。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
その後、WordPressはwp-contentフォルダ内にあるdebug.logファイルにすべてのエラーを記録します。FTPクライアントを使用してこのファイルにアクセスできます。
エラーログは、ウェブサイトで無効なJSONエラーが発生している原因の手がかりを提供する可能性があります。詳細については、WordPressのエラーログの設定とエラーのデバッグに使用する方法に関するガイドをご覧ください。
オプション10. 混在コンテンツエラーを確認する
HTTPS(セキュア)で提供されるウェブサイトが、安全でないHTTPソースからリソース(画像、スクリプト、データ)を読み込もうとすると、混合コンテンツエラーが発生します。
セキュリティ上の理由から、最新のブラウザは混在コンテンツをブロックします。これにより、攻撃者が安全でないリソースを介して安全なウェブサイトに悪意のあるコンテンツを注入することを防ぎます。
ブロックされたリソースが JSON ファイルまたは JSON データを取得するスクリプトである場合、ブラウザはそれに完全にアクセスできない可能性があります。この不完全またはブロックされたデータは、解析エラーにつながり、無効な JSON エラーを引き起こす可能性があります。
解決方法を見つけるには、WordPressで混合コンテンツエラーを修正する方法に関するガイドをお読みください。WordPressで混合コンテンツエラーを修正する方法。
最終ステップ: 専門家の助けを求める
最終的に、他のすべてが失敗した場合、WordPressホスティングサーバーの設定ミスが原因である可能性があります。ほとんどの信頼できるWordPressホスティング会社は、一般的なWordPressの問題でユーザーを支援できます。
ライブチャットまたはサポートチケットで彼らに連絡するだけで、問題を解決してくれるかもしれません。詳細については、WordPressサポートを適切に依頼する方法に関するガイドをお読みください。
よくある質問
1. WordPressのパーマリンクが正しく設定されているかどうかを確認するにはどうすればよいですか?
パーマリンクは、WordPressダッシュボードで設定 » パーマリンクに移動して確認できます。デフォルトの形式を選択すると、パーマリンクが正しく設定されます。
2. プラグインがJSONエラーを引き起こす可能性はありますか?
はい、プラグインが他のプラグインやWordPressコアと競合してJSONエラーが発生する場合があります。すべてのプラグインを無効化し、1つずつ再アクティブ化することで、問題のあるプラグインを特定できます。
3. クラシックエディターに切り替えても大丈夫ですか?
はい、プラグインでクラシックエディターに切り替えることで、REST APIへの依存度を減らし、JSONエラーを一時的に解決できます。
4. これらの手順のどれも JSON エラーを解決しない場合はどうすればよいですか?
エラーが続く場合は、サーバー構成の問題が原因である可能性があります。サーバー関連の問題に対処できるため、ホスティングプロバイダーに連絡してさらに支援を受けてください。
その他のWordPressトラブルシューティングガイドを探す
WordPress の操作には、時にいくつかの困難が伴うことがあります。ここでは、他の一般的な問題に対処するための役立つガイドを集めました。
- WordPressの更新に失敗した場合/公開に失敗した場合のエラーの修正方法
- WordPressブロックエディタの一般的な問題13個とその解決策
- WordPress管理AJAX 400(不正なリクエスト)エラーの修正方法
- WordPressウェブサイトがすぐに更新されない場合の対処法
- WordPressのエラーログを見つけてアクセスする方法(ステップバイステップ)
この記事がWordPressで無効なJSONエラーを修正する方法を学ぶのに役立ったことを願っています。「宛先フォルダが既に存在します」エラーを修正する方法に関するガイドや、最も一般的なWordPressエラーの完全なハンドブックも参照してください。
この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterやFacebookでも私たちを見つけることができます。


ブランダン
私はCloudwaysホスティングを利用しており、JSONエラーのせいで作業が遅れていました。いくつかの修正を試しましたがうまくいかず、新しいLightningスタックからHybridスタックに戻したところ、完全に解決しました。
WPBeginnerサポート
Cloudwaysで同じエラーが発生した場合に共有していただきありがとうございます
管理者
マーティン・ウィルズ
エラーメッセージが表示されて投稿が停止する前に、約3ヶ月間WPを投稿に使用していましたが、問題はありませんでした。解決策1で問題を解決しましたが、URLがどのように勝手に変更されたのか、例えばソフトウェアのアップデート、新しいユーザーの追加、またはその他の理由によるものなのか、説明が見つかりませんでした。
WPBeginnerサポート
複数の原因が考えられるため、断定するのは困難です。 bad update が原因の場合もあれば、ホスティングプロバイダー側の何かが原因で問題が発生した可能性もあります。万人に共通する正しい理由は存在しません。
管理者
デニス
非常に良い貢献です。私たちのケースでの同様の問題の解決策は、Apacheウェブサーバーモジュール「modSecurity」の設定を調整することでした。ModSecurityは、JSONリクエストに対して非常に制限的なデフォルト設定を持っています。
ティム・ホルド
私は、アップロードしようとしていたファイルの名前からアポストロフィを単純に削除することで、自分のウェブサイトの問題を解決しました。
WPBeginnerサポート
他の誰かがその問題に遭遇した場合に共有していただきありがとうございます
管理者
トマス・スヴィトルカ
素晴らしい記事で、この厄介な問題をすぐに解決するのに役立ちました!参考までに、私の解決策は単にhtaccessファイルを再生成することでした!
WPBeginnerサポート
ガイドがお役に立てて嬉しいです!
管理者
Ram
#3 がうまくいきました!! (設定 » パーマリンク ページの最下部にある「変更を保存」ボタンをクリックするだけです)
このような役立つブログを公開していただきありがとうございます!
WPBeginnerサポート
どういたしまして!エラーを解決できたとのこと、よかったです!
管理者
ベンジャミン
変な感じです。
新しい記事を作成して「テスト」というタイトルと「テスト」という本文で公開するテストをしました…うまくいきました。
しかし、必要なコンテンツをコピー/ペーストし始めると…JSONが再び表示されました。
WPBeginnerサポート
これらの手順を実行しても問題が再発した場合は、問題の解決のためにステップ4からやり直すことをお勧めします!
管理者
ベンジャミン
クラシックエディターのソリューションはうまく機能しました。
ありがとうございます
クリス
私の場合、問題はアップロードされた画像の寸法でした。2000ピクセルを超えるものはすべてエラーを引き起こしていました。
WPBeginnerサポート
エラーの原因を共有していただきありがとうございます。もし試していなければ、将来的に画像サイズが問題にならないように、サイトの最大アップロード制限を増やすことができるはずです。
管理者
アンジー
ありがとうございます。SSLをインストールした後、いくつかのページで404エラーが表示されていました。これにより、一般設定でhttp://をhttps://に変更する必要があることに気づき、問題が解決しました。
WPBeginnerサポート
当社の記事がお役に立てて嬉しいです!
管理者
マット
WordPressでこのJSONエラーを修正する方法についての詳細な指示をありがとうございます。上記すべてのアイデアを試しましたが、どれも機能しませんでした。私が発見した解決策は、ホスティングコントロールパネル(cpanel)でmod_securityを無効にすることでした。
ありがとうございました
WPBeginnerサポート
うまくいったことを共有していただきありがとうございます!
管理者
ブラッド・キャシー
非推奨または存在しないWordPress関数を使用している可能性もあります。
これは私に二度起こりました。どちらもエディターでページを保存しているときでした。functions.php の関数を体系的にコメントアウトしていき、最終的にエラーが止まりました。原因となった関数は、よく理解せずに誰かのブログから拝借したものでした。ですから、注意してください。
WPBeginnerサポート
サイトの問題の根本原因を探している方のために、これを共有していただきありがとうございます!
管理者
ウィット
この問題が発生しており、「削除する」というコンテンツを含むものを保存しようとしたことが原因だと特定しました。
これを確認するために深く掘り下げていませんが、Apache mod_securityがそのコンテンツでトリガーされ、SQLインジェクション攻撃の一部であると考えてリクエストをブロックしていると確信しています。
そのフレーズを避けるために、コンテンツを言い換えました。それがオプションでない場合は、mod_securityを無効にするか、例外を作成することができます。
WPBeginnerサポート
ユーザーがこの問題に遭遇する可能性のある別の理由を共有していただきありがとうございます!
管理者
マイク
本当に良い記事をありがとうございます。命の恩人です
WPBeginnerサポート
この問題を解決するお手伝いができて嬉しいです!
管理者
レトウォン・サイトティ・アブディ
.htaccessの行を変更したことで解決しました。本当に助かりました。
WPBeginnerサポート
当社の推奨が役立ったようで嬉しいです!
管理者
アレックス・スレーツ
もう1つ、愚かな原因がありました:apacheの設定でmod_rewriteが有効になっていませんでした。それを有効にするとエラーが修正されました。
WPBeginnerサポート
他の誰かがこの問題に遭遇した場合のために、共有していただきありがとうございます!
管理者
クリス・J
IISを使用している場合は、「HTTP VERBS」の1つとして「OPTIONS」が許可されていることを確認する必要があります。
Windowsのスタートメニュー > すべてのプログラム > Windows管理ツールからインターネット インフォメーション サービス (IIS) マネージャーを起動します。
IISマネージャーで、SERVERNAME > サイト > example.com をクリックし、(IISの下にある) ハンドラー マッピングをクリックします。
Webサイトで使用されているハンドラーを見つけてダブルクリックします。
PHPハンドラーをダブルクリックします (複数リストされている場合があります)。
要求の制限… をクリックします。
動詞タブに切り替えます。
動詞フィールドに、たとえば次のように必要な動詞を追加します。
GET,HEAD,POST,OPTIONS
OKをクリックして、両方のウィンドウで変更を適用します。
WPBeginnerサポート
IISを使用している方のために共有していただきありがとうございます。ほとんどのユーザーには、このレベルの変更についてはホスティングプロバイダーに連絡することをお勧めします
管理者
フサイン
ありがとう、2番目が私にはうまくいきました。
WPBeginnerサポート
ガイドがお役に立てて嬉しいです!
管理者
マイケル・クムサ
本当にありがとうございます。ちょうど25,000ドルのプロジェクトを終えたところで、このサイトがとても役に立ちました!大好きです!
WPBeginnerサポート
当社のコンテンツがお役に立てて嬉しいです!
管理者
アドリ
素晴らしい助けになります、本当にありがとうございます!!
WPBeginnerサポート
エラーを修正するお手伝いができてよかったです
管理者
アレックス
ご協力いただき、誠にありがとうございます
WPBeginnerサポート
私たちのガイドがお役に立てて嬉しいです
管理者
アバダット・アリ
私のサイトのエラー:
更新に失敗しました。レスポンスが有効なJSONレスポンスではありません。
この指示でエラーを解決しました。
WordPressのパーマリンク構造を修正する
助けてくれてありがとう。
WPBeginnerサポート
私たちのガイドが問題の解決に役立ったことを嬉しく思います
管理者
ショリー・ヤング
こんにちは、この詳細な記事を共有していただきありがとうございます。すべて読みましたが、非常に詳細で洞察に富んでいます。
しかし、私には未解決の質問があります。それは次のとおりです。
このエラーは、無効または期限切れのSSL証明書が原因である可能性がありますか?
WPBeginnerサポート
それはさまざまなエラーを引き起こす可能性がありますが、この特定のエラーは通常SSL証明書によって引き起こされるものではありません。
管理者