API04001: 無効なレスポンス形式
意味
サーバーは応答しましたが、レスポンス形式がPOSが期待しているものとは異なります。サーバーはJSONデータを返す必要がありますが、他の何かが受信されました。
一般的な原因
- PHPエラーが表示されている — JSONの前にPHPエラーが出力されています
- プラグインの競合 — 別のプラグインがコンテンツを出力しています
- メンテナンスモード — サイトがメンテナンスページを表示しています
- 間違ったコンテンツタイプ — サーバーがJSONの代わりにHTMLを送信しています
- キャッシュの問題 — キャッシュされたエラーページが配信されています
修正方法
1. サイトを確認する
ブラウザでWordPressサイトを訪問します:
- 通常通り表示されていますか?
- 目に見えるエラーはありますか?
- メンテナンスモードですか?
2. PHPエラーを確認する
wp-config.phpで、一時的にデバッグを有効にします:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
wp-content/debug.logをチェックしてエラーを確認します。
3. REST APIを直接テストする
ブラウザでhttps://yoursite.com/wp-json/を訪問します:
- JSONデータを返すべきです
- HTMLまたはエラーが表示された場合、問題があります
- プラグイン関連の出力をチェックします
4. 一時的にキャッシュを無効にする
キャッシュプラグインが過去の応答を提供する可能性があります:
- すべてのキャッシュをクリアします
- キャッシュプラグインを一時的に無効にします
- REST APIをキャッシュから除外します
5. プラグインの競合を確認する
プラグインがすべてのページでコンテンツを出力する場合:
- 必要のないすべてのプラグインを無効にします
- POSをテストします
- プラグインを1つずつ再有効化します