WordPressのiPhoneアプリでメディアをアップロードできず、「XML-RPCが無効」やHTTP 403エラーが出る場合、サーバー側のセキュリティ設定やアプリの接続方法が原因であることが多いです。本記事では、安全性を保ちながらXML-RPC経由での投稿や画像アップロードを可能にする方法を解説します。
XML-RPCの有効確認
ブラウザで「https://自分のドメイン/xmlrpc.php」にアクセスし、「XML-RPC server accepts POST requests only.」と表示される場合、XML-RPC自体は有効です。しかし、アクセス制限やセキュリティプラグインでブロックされている可能性があります。
実例として、WordfenceなどのセキュリティプラグインでXML-RPCへのアクセスが制限されると、アプリからの投稿が拒否されHTTP 403が返されることがあります。
セキュリティプラグインの設定確認
セキュリティプラグインでXML-RPCを制限している場合、例外設定でiPhoneアプリの接続を許可する必要があります。Wordfenceなら「防御」→「XML-RPC攻撃防止」を確認し、アプリアクセスを許可してください。
また、Jetpackやその他のセキュリティプラグインでもXML-RPCのブロック機能があるため、プラグイン設定を見直します。
.htaccessやサーバー側の設定確認
サーバーの.htaccessやWAF設定でXML-RPCへのアクセスが制限されている場合があります。403エラーが返る場合は、XML-RPCへのPOSTリクエストを許可するルールを追加してください。
例として、Apacheの場合は以下の記述を追加することでXML-RPCへのアクセスが許可されます。 <Files xmlrpc.php>
Order allow,deny
Allow from all
</Files>
アプリ側の接続方法
WordPressアプリでは、サイトURL、ユーザー名、アプリパスワードを使用して接続します。パスワードは通常のログインパスワードではなく、アプリ用パスワードを設定することで安全に接続可能です。
例として、WordPress管理画面で「ユーザー」→「プロフィール」→「アプリパスワード」を生成し、iPhoneアプリのログイン時に使用します。
まとめ
XML-RPCが有効でも、403エラーで投稿できない場合は、セキュリティプラグインやサーバー設定が原因であることが多いです。プラグインの例外設定や.htaccessの修正、アプリパスワードの利用で、安全にiPhoneアプリからメディアアップロードや投稿編集が可能になります。


コメント