API05004: WordPress APIが無効
意味
あなたのサイトではWordPress REST APIが無効になっています。WooCommerceやWCPOSなどのすべてのモダンなWordPress機能は、このAPIに依存しています。
一般的な原因
- セキュリティプラグイン — プラグインがREST APIアクセスをブロックしている
- ホスティング制限 — ホストがREST APIを無効にしている
- カスタムコード — テーマやプラグインがAPIを無効にしている
- ファイアウォールルール — WAFがREST APIエンドポイントをブロックしている
修正方法
1. REST APIをテストする
ブラウザでhttps://yoursite.com/wp-json/にアクセス:
- 利用可能なルートを含むJSONを返すべき
- エラーが出るか何も表示されない場合、ブロックされています
2. セキュリティプラグインを確認する
REST APIをブロックする一般的なプラグイン:
Wordfence:
- ファイアウォール → すべてのファイアウォールオプション
- 「REST APIを無効にする」オプションを無効にする
iThemes Security:
- セキュリティ → 設定 → WordPress調整
- REST APIを有効にする
REST API無効化プラグイン:
- このプラグインを完全に無効化する
3. カスタムコードを確認する
テーマのfunctions.phpやカスタムプラグイン内で以下を探す:
// This code disables REST API - remove it
add_filter('rest_authentication_errors', function($result) {
return new WP_Error('rest_disabled', 'REST API disabled');
});
4. .htaccessを確認する
/wp-json/をブロックしているルールを削除する:
# Bad - blocks REST API
RewriteRule ^wp-json - [F,L]
5. ホスティングプロバイダーに連絡する
一部のホストはデフォルトでREST APIをブロックしています:
- 有効にするよう依頼する
- セキュリティ制限について尋ねる
- ホスティングのドキュメントを確認する
なぜREST APIが重要なのか
WordPress REST APIは以下に不可欠です:
- モバイルアプリ
- サードパーティ統合
- WooCommerce機能
- WCPOS操作
これを無効にすると、多くの機能が壊れます。