WordPressのiPhoneアプリで画像をアップロードしようとしたら、「XML-RPCが無効」や「HTTP403エラー」と表示されてしまう。
設定は間違っていないはずなのに使えないと、かなり混乱しますよね。
自分も同じ状態になって、XML-RPCが原因だと思い込んで遠回りしたことがあります。
でも実際は、別のところで通信がブロックされているだけでした。
この記事では、こうしたエラーが起きる原因と、セキュリティを保ちながら解決する方法を体験ベースでまとめています。
読み進めてもらえれば、「どこを見直せばいいのか」が整理できるはずです。
- XML-RPCエラーの本当の原因
- 403エラーが出る仕組み
- 実際に解決できた方法
- 安全に使うための設定の考え方
WordPressアプリで画像アップできない!

結論から言うと、「XML-RPCが無効」と表示されていても、実際には有効な状態で、別のところで通信がブロックされている可能性が高いです。
今回のようにブラウザでxmlrpc.phpにアクセスしてメッセージが表示される場合は、少なくとも機能自体は動いている状態です。
自分も同じような状況になったことがあって、最初はかなり混乱しました。
XML-RPCが有効でもエラーになる理由
XML-RPCは有効でも、その通信がサーバー側やセキュリティ設定によって遮断されていることがあります。
つまり、「使える状態ではあるけど通してもらえていない」という状態です。
この状態だと、アプリ側では「無効」と誤認されることもあります。
機能の有効・無効と通信の許可は別問題というのがポイントです。
403エラーが出る仕組み
HTTP403エラーは「アクセスは禁止されています」という意味です。
つまり、サーバーやセキュリティ機能が「このアクセスは怪しい」と判断して止めている状態です。
WordPressアプリからの通信は外部アクセス扱いになるため、ここで引っかかることがあります。
正常な通信でもブロックされることがあるのがややこしいところです。
自分が最初に勘違いしたポイント
自分も最初は「XML-RPCが無効だからダメなんだ」と思い込んでいました。
でも実際は有効で、別の場所で止められていただけでした。
この切り分けができていないと、ずっと設定を見直し続けることになります。
なので、まずは「どこで止まっているか」を考えるのが重要だと感じました。
WordPressアプリで画像アップできない原因と実際に多いパターン

このエラーは一見ややこしそうに見えますが、原因として多いパターンはある程度決まっています。
自分もいくつか試していく中で、「だいたいこのあたりだな」というのが見えてきました。
WAFやサーバー側の制限
一番多いのが、サーバー側のWAF(ウェブアプリケーションファイアウォール)によるブロックです。
XML-RPCは攻撃にも使われることがあるため、最初から制限されていることがあります。
特にレンタルサーバーでは、デフォルトで強めに設定されているケースが多いです。
安全のために止めているが、正規通信も巻き込まれるという状況です。
セキュリティプラグインの影響
WordPress側に入れているセキュリティプラグインも原因になることがあります。
XML-RPCを無効化したり、外部アクセスを制限する機能があるためです。
自分もこれで引っかかっていて、プラグインを一時停止したらすぐ使えるようになりました。
プラグインが裏で通信を止めているケースはかなり多いです。
Basic認証やIP制限の影響
他にも、Basic認証やIP制限が原因になることがあります。
これらはセキュリティ的には有効ですが、アプリからのアクセスも同時にブロックしてしまいます。
特にスマホからのアクセスはIPが変わりやすいので、影響を受けやすいです。
なので、設定している制限を一度見直してみるのが重要です。
WordPressアプリで画像アップできない時に実際に試して解決した方法

ここからは、自分が実際に試して「これで直った」と感じた方法をまとめていきます。
全部一気にやるというより、原因を切り分けながら一つずつ確認していくのがポイントです。
WAF設定の見直し
まず最初に確認したのが、サーバー側のWAF設定でした。
自分の場合、これが一番の原因で、一時的にOFFにしたらすぐにアプリからアップロードできるようになりました。
ただし、そのままOFFにするのは不安だったので、動作確認後に再度ONに戻しました。
一時的に解除して原因を特定する使い方が現実的だと思います。
プラグインの一時停止と確認
次にやったのが、セキュリティ系プラグインの停止です。
1つずつ止めていくことで、どれが影響しているかを確認しました。
実際に1つのプラグインが原因で通信が止まっていたことが分かりました。
原因特定のために一時的に止めるのはかなり有効です。
XML-RPC関連の許可設定
最後に、XML-RPCを完全に開放するのではなく、必要な通信だけ許可する設定にしました。
プラグインによっては「一部機能だけ許可」できるものもあります。
これによってセキュリティを大きく下げずにアプリを使えるようになりました。
なので、全部許可ではなく必要最小限に調整するのが安心だと感じました。
セキュリティを下げずに使うための考え方

今回のようなエラーを解決しようとすると、「全部開放すればいいのでは」と考えてしまいがちです。
自分も最初はそう思って、色々と制限を外しかけました。
ただ、そこは少し注意が必要だと感じました。
完全開放が危険な理由
XML-RPCは便利な反面、攻撃にも使われやすい機能です。
そのため、多くの環境で制限されているのには理由があります。
全部開放してしまうと、不要なアクセスまで通してしまう可能性があります。
使える状態と安全な状態は必ずしも同じではないという点は重要です。
必要な通信だけ許可する方法
現実的なのは、必要な通信だけを許可する形です。
例えばアプリからの接続に必要な部分だけを通して、それ以外は制限するという考え方です。
プラグインやサーバー設定で細かく調整できる場合もあります。
「全部OK」ではなく「必要な分だけOK」にするのが基本です。
自分なりに落ち着いた設定
最終的に自分は、WAFはONのままにして、問題のない範囲で例外設定を追加する形に落ち着きました。
これでアプリも使えるし、セキュリティも大きく崩さずに済んでいます。
最初はかなり迷いましたが、少しずつ調整していくことでバランスが取れました。
なので、一気に変えるのではなく段階的に調整するのが一番安全だと思います。
まとめ
WordPressアプリで画像アップロードができない問題は、XML-RPCそのものではなく、通信がブロックされているケースが多いです。
一見ややこしく感じますが、原因を分解していくと対応しやすくなります。
| 項目 | 内容 |
|---|---|
| 主な原因 | WAFやプラグインによる通信ブロック |
| エラーの意味 | 403はアクセス拒否を示す |
| 対処方法 | 設定を見直し必要な通信だけ許可 |
自分も最初はXML-RPCが原因だと思い込んで、かなり遠回りしました。
でも実際は「どこで止まっているか」を切り分けるだけで、一気に解決に近づきました。
原因を1つずつ潰していくことが一番の近道だと感じています。
エラーが出ると焦ってしまいますが、ほとんどの場合は設定のどこかで引っかかっているだけです。
一つずつ確認していけば、必ず原因にはたどり着きます。
焦らず順番に見ていくことが、結果的に一番早く解決する方法だと思います。

コメント