WordPress で無効な JSON エラーを修正する方法 (初心者向けガイド)

WordPress の「無効な JSON」エラーは、作業の途中で突然予期せぬ停止が発生したように感じられることがあります。これは単なるエラーメッセージではなく、ワークフロー全体に影響を与える可能性のある中断です。

WPBeginnerでは、クライアントサイトでこの問題に遭遇しました。多くの初心者にとって、これはパズルのように感じられますが、このエラーを修正するのは実際には非常に簡単です。

このガイドは、専門用語を使わずに、迅速に問題を解決できるように設計されています。そのエラーに対処し、安心を取り戻しましょう。

WordPressでJSONレスポンスが無効なエラー

WordPressで「無効なJSONレスポンス」エラーが発生する原因は何ですか?

サーバーから期待される応答を受信できないことが、WordPressで「無効なJSON応答」エラーが発生する原因となります。

基本的に、WordPressはブログ投稿を編集している間にサーバーと通信する必要があります。バックグラウンドでウェブホスティングサーバーからの応答を取得することに依存しています。この応答は通常、JavaScriptを使用してデータを迅速に転送するために使用されるJSON形式です。

何らかの理由で WordPress が応答を取得できなかった場合、または応答が JSON 形式でなかった場合、「無効な JSON 応答です」というエラーが表示されます。

WordPressに無効なJSONレスポンスエラーが表示される

このエラーは、いくつかの理由で表示される可能性があります。しかし、最も可能性の高い原因は、WordPress の URL 設定が間違っているか、パーマリンクが壊れていることです。

これを踏まえて、WordPressで無効なJSONエラーを簡単に修正する方法をご紹介します。以下のクイックリンクを使用して、さまざまな方法にジャンプできます。

注意: ウェブサイトに大きな変更を加える前に、WordPressの完全なバックアップを作成してください。これにより、ウェブサイトを以前の状態に簡単に復元できます。

準備はいいですか?始めましょう!

オプション1. 設定でWordPressのURLを確認する

まず、WordPressアドレスとサイトアドレスの設定が正しいことを確認する必要があります。

設定 » 一般 ページに移動するだけです。ここから、「WordPress アドレス (URL)」と「サイトアドレス (URL)」のフィールドを確認する必要があります。

WordPress URL設定

ほとんどのウェブサイトでは、この設定は両方のフィールドで同じURLである必要があります。

ただし、まれに、WordPress ユーザーが WordPress に独自のディレクトリを与え、別のアドレスでウェブサイトを提供している場合があります。その場合、ここでの URL が異なることがあります。

ただし、サイトアドレスが正しくないと、WordPressで無効なJSONエラーが発生します。

設定を変更した場合は、「変更を保存」ボタンをクリックすることを忘れないでください。これでブログ投稿を編集し、新しいブロックを追加したり、投稿を保存したりすると、「無効なJSON応答」エラーが発生するかどうかを確認できます。

エラーがまだ表示される場合は、読み進めてください。

WordPressには、投稿やページの人間が読めるURLを使用できるSEOフレンドリーなURL構造が付属しています。

しかし、ユーザーがパーマリンク設定を誤って変更してしまうことがあります。これにより、WordPressのブロックエディターは有効なJSONレスポンスを取得できなくなり、エラーが表示される原因となります。

これを修正するには、設定 » パーマリンク ページにアクセスするだけです。ここから、パーマリンクオプションを慎重に確認する必要があります。

WordPressでパーマリンクを修正する

正しい設定を使用しているかどうかわからない場合は、デフォルトのフォーマットのいずれかを選択してください。

その後、「変更を保存」ボタンをクリックして設定を保存してください。

これで、ブログ投稿またはページを編集して、エラーが消えたかどうかを確認できます。消えていない場合は、次のステップを試すことができます。

オプション3. WordPressの.htaccessファイルを再生成する

WordPress の.htaccess ファイルは、SEO に優しい URL(パーマリンク)を管理するための設定ファイルとして使用されます。

通常、WordPressはファイルを自動的に再生成および更新できます。また、設定 » パーマリンク ページの最下部にある「変更を保存」ボタンをクリックするだけで、その更新をトリガーすることもできます。

ただし、更新されない場合や設定が間違っている場合があります。これはWordPressのパーマリンクに影響を与え、無効なJSONレスポンスエラーの原因となる可能性もあります。

これを修正するには、FTP クライアントを使用してウェブサイトに接続するか、WordPress ホスティングアカウントダッシュボードのファイルマネージャーアプリを使用する必要があります。

接続したら、ウェブサイトのルートフォルダーにある.htaccessファイルを見つけ、コンピューターへのバックアップとしてダウンロードする必要があります。

.htaccess ファイルをバックアップとしてダウンロードする

専門家のアドバイス: .htaccessファイルが見つかりませんか? その場合は、.htaccessファイルの見つけ方に関するこの記事をご覧ください。

その後、FTPクライアントまたはファイルマネージャーアプリを使用して.htaccessファイルを編集する必要があります。

.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サイトヘルス」ツールで確認できます。ツール » サイトヘルスページにアクセスしてください。

WordPressのREST APIの問題

ここから、「REST API が予期しない結果を検出しました」という問題が表示される場合があります。

クリックすると詳細が表示され、どのプラグインまたはサードパーティサービスが問題を引き起こしているかについてのヒントが得られる場合があります。

これでも手がかりが得られない場合は、次のステップに進むことができます。

オプション5. すべてのWordPressプラグインを無効にする

WordPressプラグインが互いに、またはWordPressコアソフトウェアと競合する場合があります。これにより予期しない動作が発生する可能性があり、無効なJSONエラーの潜在的な原因となることがあります。

単純に「プラグイン » インストール済みプラグイン」ページに移動します。ここから、すべてのWordPressプラグインを選択し、「一括操作」ドロップダウンメニューから「非アクティブ化」を選択します。次に、「適用」ボタンをクリックして続行します。

すべてのプラグインを無効化する

WordPressは、インストールされているすべてのプラグインを非アクティブ化します。

これで、エラーを再現しようとすることができます。エラーが消えた場合、それはウェブサイトにインストールされているプラグインのいずれかが原因であったことを意味します。

どのプラグインが問題なのかを特定するには、プラグインを1つずつ有効化し、エラーを再現してみてください。これを繰り返して、原因を突き止めてください。

その後、プラグインの作者にサポートを依頼するか、代替プラグインを見つけることができます。

オプション6. 一時的にクラシックエディターに切り替える

次のオプションは、WordPress のクラシックエディターに一時的に切り替えることです。

WordPressエディターのこの古いバージョンは、よりシンプルなテキストエディターを使用しており、JSON応答を取得するためにREST APIにあまり依存していません。

使用するには、Classic Editor プラグインをインストールして有効化する必要があります。詳細については、WordPress プラグインのインストール方法のステップバイステップガイドをご覧ください。

このプラグインはすぐに機能し、有効化するとGutenbergエディターが無効になります。

または、WPCode を使用して、Gutenberg エディターを無効にし、クラシックエディターを安全に有効化することもできます。これは、WordPress にコードスニペットを挿入するための最も簡単で安全なプラグインです。

WPCodeライブラリでGutenbergを無効にするスニペットを検索

WPCodeプラグインを使用してGutenbergを無効にする方法については、この記事を参照してください。

これで、ウェブサイトでの作業を続行し、後でトラブルシューティングに戻ることができます。

オプション7. デフォルトのWordPressテーマに切り替える

サードパーティのWordPressテーマは、特にコードが適切に記述されていなかったりメンテナンスされていなかったりする場合、WordPressコアや他のプラグインとの競合を引き起こすことがあります。これらの競合は、無効なJSONエラーを含むさまざまな方法で表示される可能性があります。

デフォルトテーマに切り替えることで、現在使用しているテーマによって導入されたカスタムコードや機能は基本的に削除されます。

これにより、問題がテーマ自体から発生しているのか、それともWordPressの他の設定から発生しているのかを特定するのに役立ちます。

これを行うには、WordPressダッシュボードの外観 » テーマに移動します。次に、Twenty Twenty-FourやTwenty Twenty-Threeなどのデフォルトテーマを見つけて、「有効化」をクリックします。

デフォルトのWordPressテーマを有効にする

オプション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 サポートを適切に依頼する方法に関するガイドをお読みください。

よくある質問

1. WordPressのパーマリンクが正しく設定されているかどうかを確認するにはどうすればよいですか?

パーマリンクは、WordPressダッシュボードで設定 » パーマリンクに移動して確認できます。デフォルトの形式を選択すると、パーマリンクが正しく設定されます。

2. プラグインがJSONエラーを引き起こす可能性はありますか?

はい、プラグインが他のプラグインやWordPressコアと競合してJSONエラーが発生する場合があります。すべてのプラグインを無効化し、1つずつ再アクティブ化することで、問題のあるプラグインを特定できます。

3. クラシックエディターに切り替えても大丈夫ですか?

はい、プラグインでクラシックエディターに切り替えることで、REST APIへの依存度を減らし、JSONエラーを一時的に解決できます。

4. これらの手順のどれも JSON エラーを解決しない場合はどうすればよいですか?

エラーが続く場合は、サーバー構成の問題が原因である可能性があります。サーバー関連の問題に対処できるため、ホスティングプロバイダーに連絡してさらに支援を受けてください。

その他のWordPressトラブルシューティングガイドを探す

WordPress の操作には、時にいくつかの困難が伴うことがあります。ここでは、他の一般的な問題に対処するための役立つガイドを集めました。

この記事がWordPressで無効なJSONエラーを修正する方法を学ぶのに役立ったことを願っています。また、「宛先フォルダが既に存在します」エラーを修正する方法に関するガイドや、最も一般的なWordPressエラーの完全なハンドブックもご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

42 CommentsLeave a Reply

  1. エラーメッセージが表示されて投稿が停止する前に、約3ヶ月間WPを投稿に使用していましたが、問題はありませんでした。解決策1で問題を解決しましたが、URLがどのように勝手に変更されたのか、例えばソフトウェアのアップデート、新しいユーザーの追加、またはその他の理由によるものなのか、説明が見つかりませんでした。

    • 複数の原因が考えられるため、断定するのは困難です。 bad update が原因の場合もあれば、ホスティングプロバイダー側の何かが原因で問題が発生した可能性もあります。万人に共通する正しい理由は存在しません。

      管理者

  2. 非常に良い貢献です。私たちのケースでの同様の問題の解決策は、Apacheウェブサーバーモジュール「modSecurity」の設定を調整することでした。ModSecurityは、JSONリクエストに対して非常に制限的なデフォルト設定を持っています。

  3. 私は、アップロードしようとしていたファイルの名前からアポストロフィを単純に削除することで、自分のウェブサイトの問題を解決しました。

  4. 素晴らしい記事で、この厄介な問題をすぐに解決するのに役立ちました!参考までに、私の解決策は単にhtaccessファイルを再生成することでした!

  5. #3 がうまくいきました!! (設定 » パーマリンク ページの最下部にある「変更を保存」ボタンをクリックするだけです)

    このような役立つブログを公開していただきありがとうございます!

  6. 変な感じです。
    新しい記事を作成して「テスト」というタイトルと「テスト」という本文で公開するテストをしました…うまくいきました。
    しかし、必要なコンテンツをコピー/ペーストし始めると…JSONが再び表示されました。

  7. 私の場合、問題はアップロードされた画像の寸法でした。2000ピクセルを超えるものはすべてエラーを引き起こしていました。

    • エラーの原因を共有していただきありがとうございます。もし試していなければ、将来的に画像サイズが問題にならないように、サイトの最大アップロード制限を増やすことができるはずです。

      管理者

  8. ありがとうございます。SSLをインストールした後、いくつかのページで404エラーが表示されていました。これにより、一般設定でhttp://をhttps://に変更する必要があることに気づき、問題が解決しました。

  9. WordPressでこのJSONエラーを修正する方法についての詳細な指示をありがとうございます。上記すべてのアイデアを試しましたが、どれも機能しませんでした。私が発見した解決策は、ホスティングコントロールパネル(cpanel)でmod_securityを無効にすることでした。
    ありがとうございました

  10. 非推奨または存在しないWordPress関数を使用している可能性もあります。

    これは私に二度起こりました。どちらもエディターでページを保存しているときでした。functions.php の関数を体系的にコメントアウトしていき、最終的にエラーが止まりました。原因となった関数は、よく理解せずに誰かのブログから拝借したものでした。ですから、注意してください。

    • サイトの問題の根本原因を探している方のために、これを共有していただきありがとうございます!

      管理者

  11. この問題が発生しており、「削除する」というコンテンツを含むものを保存しようとしたことが原因だと特定しました。

    これを確認するために深く掘り下げていませんが、Apache mod_securityがそのコンテンツでトリガーされ、SQLインジェクション攻撃の一部であると考えてリクエストをブロックしていると確信しています。

    そのフレーズを避けるために、コンテンツを言い換えました。それがオプションでない場合は、mod_securityを無効にするか、例外を作成することができます。

    • ユーザーがこの問題に遭遇する可能性のある別の理由を共有していただきありがとうございます!

      管理者

  12. もう1つ、愚かな原因がありました:apacheの設定でmod_rewriteが有効になっていませんでした。それを有効にするとエラーが修正されました。

    • 他の誰かがこの問題に遭遇した場合のために、共有していただきありがとうございます!

      管理者

  13. IISを使用している場合は、「HTTP VERBS」の1つとして「OPTIONS」が許可されていることを確認する必要があります。

    Windowsのスタートメニュー > すべてのプログラム > Windows管理ツールからインターネット インフォメーション サービス (IIS) マネージャーを起動します。
    IISマネージャーで、SERVERNAME > サイト > example.com をクリックし、(IISの下にある) ハンドラー マッピングをクリックします。
    Webサイトで使用されているハンドラーを見つけてダブルクリックします。
    PHPハンドラーをダブルクリックします (複数リストされている場合があります)。
    要求の制限… をクリックします。
    動詞タブに切り替えます。
    動詞フィールドに、たとえば次のように必要な動詞を追加します。
    GET,HEAD,POST,OPTIONS
    OKをクリックして、両方のウィンドウで変更を適用します。

    • Thank you for sharing this for those using IIS, for most users we would normally recommend reaching out to your hosting provider for this level of modification :)

      管理者

  14. 本当にありがとうございます。ちょうど25,000ドルのプロジェクトを終えたところで、このサイトがとても役に立ちました!大好きです!

  15. 私のサイトのエラー:
    更新に失敗しました。レスポンスが有効なJSONレスポンスではありません。
    この指示でエラーを解決しました。
    WordPressのパーマリンク構造を修正する
    助けてくれてありがとう。

  16. こんにちは、この詳細な記事を共有していただきありがとうございます。すべて読みましたが、非常に詳細で洞察に富んでいます。

    しかし、私には未解決の質問があります。それは次のとおりです。
    このエラーは、無効または期限切れのSSL証明書が原因である可能性がありますか?

    • それはさまざまなエラーを引き起こす可能性がありますが、この特定のエラーは通常SSL証明書によって引き起こされるものではありません。

      管理者

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。