
WordPressのXML-RPC無効化は、不正ログインや攻撃の踏み台化を防ぐために有効なセキュリティ対策のひとつです。ただ、「どうやって無効化すればいいのか」「無効化して大丈夫なのか」がわからず不安に感じる方も多いのではないでしょうか。
この記事では、次の3点をわかりやすく解説します。
- XML-RPCとは何か、なぜ無効化したほうがいいのか
- 無料プラグイン「Disable XML-RPC」を使った無効化の具体的な手順
- 正しく無効化できているかを確認する方法
プラグインを有効化するだけで完了するシンプルな方法なので、専門知識がなくても対応できます。画像付きで順番に見ていきましょう。
目次
XML-RPCとは?無効化したほうがいい理由
XML-RPCは、WordPressが外部アプリと通信するための仕組みです。サイトのなかにあるxmlrpc.phpというファイルが、その通信の窓口の役割を担っています。
現在のWordPressは、外部アプリとのやり取りに主に「REST API」という新しい仕組みを使っています。XML-RPCは、古いアプリとの互換性を保つために残されている、いわば後方互換用の機能です。
問題は、このxmlrpc.phpがリクエストのたびにユーザー名やパスワードといった認証情報を送信する仕様になっている点です。この仕様が悪用されると、パスワードを片っ端から試す総当たり攻撃や、ピンバック機能を踏み台にしたDDoS攻撃に利用されるリスクがあります。
とはいえ、これはあくまでXML-RPCという一機能に限った話です。この記事の手順でXML-RPCだけを個別に無効化すれば対処できるので、WordPress自体の利用をやめる必要はありません。安心して読み進めてください。
無効化する前に確認しておきたいこと
今回使う「Disable XML-RPC」は、管理画面や設定項目が一切ないプラグインです。有効化するだけでXML-RPCが無効になる、とてもシンプルな仕組みになっています。
ただし、無効化する前にひとつだけ確認しておきたいことがあります。それは、XML-RPC経由で通信するクライアントを使って投稿していないか、という点です。
たとえばWordPress公式のモバイルアプリなどは、XML-RPCを使ってサイトと通信しています。無効化すると、こうしたアプリではこのサイト上では XML-RPC サービスが無効になっています。というエラーが表示され、投稿できなくなります。
スマホの公式アプリなどから投稿している場合は、無効化するとその方法で投稿できなくなります。無効化する前に、XML-RPC経由で投稿しているクライアントがないか確認しておきましょう。
STEP1:「Disable XML-RPC」プラグインをインストール・有効化する
WordPress管理画面の「プラグイン」→「新規追加」を開き、検索窓に「Disable XML-RPC」と入力します。表示された同名のプラグインの「今すぐインストール」→「有効化」ボタンを順にクリックすれば導入は完了です。
このプラグインには設定画面がありません。有効化した時点でXML-RPCの無効化が反映されるため、追加の設定作業は不要です。


STEP2:XML-RPCが無効化されているか確認する
プラグインを有効化するだけでXML-RPCが無効になる仕組みですが、実際に無効化できているか気になる方もいるでしょう。ここでは、無効化が正しく反映されているかを確認する2つの方法を紹介します。
方法1:外部の検証ツールで確認する
手軽に確認したい場合は、外部の検証ツール「XML-RPC Validation Service」を使う方法がおすすめです。ツールのページにあなたのサイトのURLを入力して検証すると、XML-RPCが有効か無効かをチェックできます。
ここで少し紛らわしいのが、結果の読み方です。このツールは本来「XML-RPCが正しく動作するか」を検証するものなので、無効化が成功していると検証は「失敗」という結果になります。つまり、検証が失敗する=無効化が正しくできている、という状態です。

方法2:curlコマンドで確認する
コマンド操作に慣れている方は、ターミナルからcurlコマンドで確認する方法もあります。ただし、system.listMethodsのようなログイン不要のメソッドを送っても、これは無効化の判定には使われないため常に応答が返ってしまいます。無効化の判定には、wp.getUsersBlogsのようにログイン処理を伴うメソッドを使う必要があります。次のようなコマンドを実行して、xmlrpc.phpに直接リクエストを送ってみましょう。
curl -d "<?xml version=\"1.0\"?><methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value><string>任意のユーザー名</string></value></param><param><value><string>任意のパスワード</string></value></param></params></methodCall>" https://対象サイトのURL/xmlrpc.php
コマンドを実行した結果、このサイト上では XML-RPC サービスが無効になっています。というfaultStringが返ってくれば、無効化は成功しています(ユーザー名・パスワードは実在しないものでかまいません。認証情報をチェックする前の段階でこのエラーが返るためです)。下の画像は、curlコマンドを実行した際の結果画面です。


XML-RPCを再度有効にしたい場合
無効化したあとで、やっぱりXML-RPCを使いたくなることもあるかもしれません。その場合は、プラグイン一覧から「Disable XML-RPC」を「停止」するだけで、元のXML-RPCが有効な状態に戻せます。
プラグインを削除する必要はありません。停止と有効化を切り替えるだけで、XML-RPCのオン・オフを簡単にコントロールできます。
XML-RPCの無効化はWordPress側でできる有効な対策ですが、サーバー側の防御体制もあわせて見直すと安心です。
ラッコサーバーは稼働率99.99%以上・高速Webサーバー「LiteSpeed」採用に加え、万が一の不正アクセス・改ざんに備えた30日間の自動バックアップも標準搭載。プラグインでの対策とあわせて、サーバー環境ごと安心をプラスできます。
月額330円(税込)〜から利用でき、30日間の無料お試し期間中に環境を試すことも可能です。
よくある質問

WordPressでXML-RPCを有効にするには?
「Disable XML-RPC」プラグインには管理画面がなく、有効化=無効状態、停止(非アクティブ化)=有効状態という、シンプルな仕組みになっています。再度XML-RPCを使いたい場合は、プラグイン一覧から停止するだけで元の状態に戻せます。詳しくは「XML-RPCを再度有効にしたい場合」をご覧ください。
XML-RPCとは何ですか?
XML-RPCは、外部アプリからWordPressへ投稿や設定変更を行うための通信の仕組みです。WordPress公式のモバイルアプリなど、一部のクライアントがこの仕組みを利用しています。仕組みの詳細は「XML-RPCとは?無効化したほうがいい理由」で解説しています。
XML-RPCを無効化するとJetpackや投稿アプリに影響はありますか?
WordPress公式モバイルアプリなど、XML-RPCで通信するクライアントは、無効化後にこのサイト上では XML-RPC サービスが無効になっています。というエラーが表示され、投稿操作ができなくなります。モバイルアプリから投稿している場合は、無効化する前に利用状況を確認してください。
XML-RPCを無効化するとどんな攻撃を防げますか?
xmlrpc.phpはリクエストごとに認証情報を送信する仕様のため、これを悪用した総当たり(ブルートフォース)攻撃や、ピンバック機能を使ったDDoS攻撃の踏み台化を防ぐことができます。
「Disable XML-RPC」は無料で使えますか?
はい、無料で使えます。Disable XML-RPC(WordPress.org公式)ディレクトリで配布されている無料のプラグインです。(2026年7月時点)
プラグインを使わずにXML-RPCを無効化する方法はありますか?
functions.phpにadd_filter('xmlrpc_enabled', '__return_false')を追加する方法や、.htaccessでxmlrpc.phpへのアクセスをブロックする方法もあります。ただし、テーマを更新するとfunctions.phpの変更が失われるリスクがあるため、本記事ではプラグインでの対応をおすすめします。
まとめ
XML-RPCは外部アプリとの通信に使われる仕組みですが、認証情報を送信する仕様のため、総当たり攻撃やDDoS攻撃の踏み台として悪用されるリスクがあります。
無料プラグイン「Disable XML-RPC」を使えば、有効化するだけでXML-RPCを無効化でき、専門知識がなくてもすぐに対策できます。無効化できているかは、外部の検証ツールやcurlコマンドで確認しておくと安心です。
もしXML-RPCを再び使いたくなっても、プラグインを停止するだけで元に戻せます。まずは自分のサイトでモバイルアプリ投稿の有無を確認したうえで、気軽にセキュリティ対策を進めてみてください。







