WordPressの外部連携はREST APIが安心 XML-RPCを無効化してみた記録
はじめに
WordPressを外部から操作するときに、XML-RPC や REST API という言葉を見かけることがあります。
ただ、どちらも似たように見えて、「結局どちらが安全なのか」「今は何を使えばよいのか」が分かりづらいと感じることはないでしょうか。
今回は、WordPressを外部から操作する仕組みとして使われてきた XML-RPC と REST API の違いを、セキュリティ面の観点から整理してみました。あわせて、実際に XML-RPC を無効化してみたメモも残しておきます。
この記事では、次のような内容をまとめます。
- XML-RPC と REST API の違い
- なぜ XML-RPC が危険と言われやすいのか
- 実際に XML-RPC を無効化した方法
結論
先に結論を書くと、今回の理解では、XML-RPC は古い仕組みでリスクが大きく、REST API のほうが安全に扱いやすい という整理になりました。
XML-RPC は、外部アプリが通信するたびに本来のログイン情報を直接使うイメージに近く、攻撃の対象になりやすい面があります。
一方で REST API は、アプリ専用のパスワードやトークンのような形で管理しやすく、必要になればその連携だけを止めやすいのが大きな違いだと感じました。
XML-RPCの危険なところ
今回調べた中で印象に残ったのは、XML-RPC は古い仕組みで、セキュリティ面の不安が大きいという点でした。
イメージとしては、家の鍵でたとえると、普段使っている本当の鍵をそのまま渡してやり取りしているような状態です。
そのため、次のような危険があると理解しました。
- ログイン情報を何度も試される総当たり攻撃の対象になりやすい
- 1回の通信で複数回の試行ができる仕組みが悪用されやすい
- 大量アクセスによる負荷攻撃に使われることがある
こうした点から、使っていないのであれば無効化を検討したほうが安心だと感じました。
REST APIが比較的安心な理由
今回の整理では、REST API は XML-RPC に比べてかなり扱いやすい仕組みだと感じました。
こちらは、家の鍵でいえば専用のゲスト用カードキーのようなイメージです。
本来のログインパスワードをそのまま外部連携に使うのではなく、アプリ専用のパスワードなどで管理できるため、万が一トラブルがあったときにもその連携だけ止めやすいのが利点です。
- 普段使っているログイン情報を直接使わずに済む
- 専用のパスワードだけを無効化できる
- 外部連携ごとに管理しやすい
そのため、今後 WordPress を外部から操作するなら、XML-RPC より REST API を使うほうが安心だと感じました。

実際にXML-RPCを無効化してみた
今回、XML-RPC を無効化する方法を調べたところ、プラグインを使う方法、functions.php を使う方法、.htaccess を使う方法があることが分かりました。
その中で、今回は .htaccess を使う方法を試しました。
というかfunctions.php の方法ががうまくいかなかったので、.htaccess の方法を試したら無効化できたって感じです^^;
.htaccess に追加した内容
WordPress のコメント終端付近に、次の内容を追加しました。
# xml-rpc.phpを無効化する
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
設定後に保存して反映させます。
無効化できているか確認する方法
無効化されているかどうかは、次のように xmlrpc.php へ直接アクセスして確認できます。
あなたのサイトURL/xmlrpc.php
アクセスしたときの状態は、次のように見分けられます。
- 無効化されていない場合: 「XML-RPC server accepts POST requests only.」と表示される
- 無効化されている場合: 403 エラーや 404 エラーになる
環境によって表示は多少異なることがあるようですが、今回実際に https://blog.astha.jp/xmlrpc.php にアクセスしたところ、403 エラーになっていて無効化を確認できました。
無効化するときの注意点
XML-RPC を無効化すると、安全性の面では安心しやすくなりますが、その一方で影響する機能もあります。
たとえば、次のようなものが使えなくなる可能性があるそうです。
- WordPress のスマホアプリからの投稿や編集
- Jetpack など一部プラグインの機能
要はXML-RPCを使っている機能がある場合は当然使えなくなると。
そのため、これらを利用している場合は、完全に無効化する前に運用への影響を確認したほうがよさそうです。
もし XML-RPC を残す必要があるなら、Basic認証や IP 制限など、別の対策を組み合わせる考え方もあると理解しました。

まとめ
今回は、WordPress を外部から操作する仕組みとしての XML-RPC と REST API の違いを、セキュリティの観点から整理しました。
今回のポイントをまとめると、次のようになります。
- XML-RPC は古い仕組みで、セキュリティ面のリスクが大きいと感じた
- REST API は専用パスワードなどで管理しやすく、より安心して扱いやすい
- 使っていない XML-RPC は無効化を検討する価値がありそうだと感じた
WordPress を外部連携で使う予定があるなら、まずは自分の環境で XML-RPC が必要かどうかを確認し、そのうえで REST API を中心に考えるのが良さそうです。







ディスカッション
コメント一覧
まだ、コメントがありません
無料相談受付中!
ひとり起業家が時短化しながら最大の成果を出すための方法を教えます。
無料相談を予約する ▶「ライティングに時間がかかる…」
「メルマガのネタが思いつかない…」
「開封率が上がらない…」
そんなお悩みを生成AIで解決!
ラクして効果的なメルマガ運用を学ぶための無料相談を実施中!
✅️ 知識ゼロでメルマガ運用ロケットスタート
✅️ 開封率の高い件名を自動作成
✅️ ファンを作るステップメールの自動校正
✅️ ネタ切れゼロ!AIの活用術
✅️ スキル不要でプロと同等のライティングが可能
今なら無料相談だけでも豪華4大特典をプレゼント!
メルマガが迷惑メールになってしまう・・・
「メルマガが迷惑メールになってしまう・・・」
「メルマガの到達率を上げたい」
そんなあなたに朗報です!
今なら登録者限定で、
「迷惑メールにならない メールの作り方」をプレゼント!
詳しくは以下のリンクをクリック!
>> 今すぐメルマガの到達率をなんとかしたい新着記事
: WordPress
WordPressの外部連携はREST APIが安心 XML-RPCを無効化してみた記録
WordPressのXML-RPCとREST APIの違いを、セキュリティ面から ...: IT活用
CSSプロパティはどう並べると見やすい?視覚順で整理した備忘録
CSSプロパティの書き順を視覚順で整理した備忘録です。レイアウト、サイズ、余白、 ...: IT活用
MySQLをローカルで試してわかったこと 初心者向け基本コマンドまとめ
はじめに 「Pythonで取得したデータって、そのあとどこに保存されるのだろう? ...: IT活用
Obsidianのプラグイン「MarkMind」の設定項目の翻訳
Mindmap Render Type 訳:マインドマップの描画タイプ 説明:マ ...: WordPress
【サポート事例】WordPressでプラグインを使わずにサイトを移行する方法
今回、WordPressのサイトをプラグインを使わずに移行したので、その手順を備 ...アーカイブ
カテゴリー
タグ
プロフィール
名前:株式会社アスタのヒロです。
毎日同じことの繰り返しに嫌気が差して、長年務めたIT関連の会社を退職。
現在はそれまでの経験を活かして、ITを活用した業務効率化支援とメルマガの導入/運用アドバイスをメインに活動中。
趣味は落語、将棋、釣り、日本酒(新潟限定)、料理、漫画、PCゲームと老人と若者が混在したような節操のない趣味だが、おかげで幅広い年齢層の人と雑談するのに困らないです(笑)
ブログでは仕事で得たノウハウをわかりやすい記事に変えて発信します。
知っておくと効率化につながるIT知識やメルマガの運用についてまとめています。
35歳の時に孫ができました。家族のためにも頑張ります!
【今なら初回1100円】