WordPressで「更新に失敗しました。返答が正しい JSON レスポンスではありません」というエラーが発生する場合、いくつかの要因が考えられます。以下の対処法を試してみてください。
1. パーマリンクの再設定
WordPressのパーマリンク設定が原因でJSONレスポンスが失敗することがあります。次の手順で再設定を試してください。
- WordPressダッシュボードで「設定」 > 「パーマリンク」にアクセス。
- 「保存」ボタンをクリックしてパーマリンク設定を再保存します(設定を変更せずにそのまま保存するだけでOKです)。
2. .htaccessファイルの確認
.htaccessファイルに問題があると、サーバーが正しいレスポンスを返せなくなることがあります。以下の手順で確認しましょう。
- サイトのルートディレクトリにある
.htaccess
ファイルをバックアップします。 - 以下の内容に置き換えて保存します。plaintextコードをコピーする
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
- 変更後、WordPressでページを更新してエラーが解消されるか確認してください。
3. REST APIが有効か確認
「ツール」>「サイトヘルス」>「状態」にアクセスし、REST APIが有効か確認します。エラーが表示されている場合、以下の対策を検討してください。
- プラグインの競合が原因である場合が多いため、すべてのプラグインを一旦無効化してから一つずつ有効化し、原因となるプラグインを特定します。
- テーマの競合も考えられるため、WordPressのデフォルトテーマ(例:Twenty Twenty-One)に切り替えて確認します。
4. セキュリティプラグインやキャッシュプラグインの設定確認
特にセキュリティやキャッシュプラグインが、WordPressのREST API通信を妨げることがあります。
- 「Wordfence」や「All In One WP Security & Firewall」などのセキュリティプラグインの設定を確認し、REST APIをブロックしていないか確認してください。
- キャッシュプラグイン(例:WP Super Cache, W3 Total Cache)を利用している場合、キャッシュを削除し、ページを更新して再確認してください。
5. サイトURLの確認
WordPressの一般設定で「WordPressアドレス (URL)」と「サイトアドレス (URL)」が正しいか確認します。もしURLが一致していない場合は、統一することでエラーが解消する場合があります。
6. SSL証明書の確認
SSL証明書に問題があると、サーバーが正しくレスポンスを返せないことがあります。SSLが正しく適用されているか確認し、必要であれば再設定してください。SSL関連のプラグイン(例:Really Simple SSL)を利用することで簡単に設定が可能です。
7. ブラウザキャッシュのクリアと異なるブラウザでの確認
ブラウザのキャッシュが原因でエラーが発生している場合もありますので、キャッシュをクリアして、異なるブラウザで更新を試してみてください。
8. PHPバージョンとサーバーの設定を確認
PHPのバージョンやサーバーの設定がWordPressと互換性がない場合、エラーが発生することがあります。WordPressの推奨PHPバージョン(7.4以上)に設定されているか確認し、サーバーのエラーログも確認して問題がないか確認しましょう。
上記の手順を試してみて、エラーが解消されるか確認してください。