スマホでWordPressブログを更新するのに、WordPressアプリ(iOS、Android)を使うと記事投稿が簡単にできます。
この記事では、WordPressアプリで設定時「XML RPC」に関するエラーが出て先に進めない、ログインや記事更新ができない時の原因と解決方法について解説します。
すぐに解決方法を知りたい場合は、読み飛ばしてジャンプできます => WordPressアプリの設定でエラーが出る原因
XML-RPCとは何かを簡単に
XMLを表現媒体として用いて、RPC(Remote Procedure Call)を行うことをXML-RPCという。
https://atmarkit.itmedia.co.jp/aig/01xml/xmlrpc.html
xml形式のデータをhttp経由でやり取りするプロトコル(通信手段)です。
XML-RPCを用いることで、WordPressの管理画面にアクセスしなくてもリモートで操作することが可能になります。
WordPressのXML-RPC機能は悪用される危険性がある
WordPressのXML-RPC機能はリリース当初からある機能です。
わざわざ管理画面にアクセスしなくても、記事を投稿したりファイルをアップロードすることができるとても便利な機能なのですが、脆弱な部分があり悪意のある攻撃の対象になる場合があります。
- XML-RPCピングバックによるDDoS攻撃
- XML-RPCによるブルートフォースアタック
などXML-RPCを利用した攻撃によりサーバーダウンやサイト改ざんなどが起きる可能性があるのです。
現在ではREST APIという新しい機能に代替されているため、XML-RPCは無効にしておくことが推奨されています。
WordPressのXML-RPC機能を制限する方法
WordPressのXML-RPC機能はxmlrpc.phpというファイルです。このxmlrpc.phpを無効する方法を挙げてみます。
プラグインを使わずに無効にする方法
.htaccessを編集する
「.htaccess」とはWebサーバー(Apache)の設定ファイルです。記述を間違えたりするとサーバーエラーになりサイトが表示されなくなるので、編集する場合は慎重に行う必要があります。
<Files “xmlrpc.php”>
order deny.allow
deny from all
</Files>
上記内容を.htaccessに記述します。
プラグインを使って無効にする
.htaccessを編集するのが難しい場合はWordPressのプラグインも利用できます。
- Remove & Disable XML-RPC Pingback
インストールするだけでXML-RPCを無効にしてくれます。 - SiteGuard
人気のある国産セキュリティプラグインです。
不正ログイン対策、管理ページ(/wp-admin/)への不正アクセス対策、コメントスパム対策ができるほか、xmlrpc.phpを無効にする機能もついています。 - All In One WP Security & Firewall
多機能な総合セキュリティプラグインです。こちらも人気のプラグイン。
不正ログイン、ブルートフォースアタック、コメントスパム対策のほか、ファイル、データベース保護ができます。日本語対応。
エックスサーバーでは「XML-RPC API アクセス制限」機能あり
エックスサーバーでは、WordPressのセキュリティ系の機能がついています。
- 国外IPアクセス制限設定
- ログイン試行回数制限設定
- コメント・トラックバック制限設定
この中で、国外IPアクセス制限の中に「XML-RPC API アクセス制限」があります。
上記の機能はデフォルトでONになっています。これが原因で、海外からアクセスできなかったり、プラグインが動かないなど不具合があることもあります。(Jetpackによるアクセスは対象外になっているとこのことです)
XML-RPC機能を無効にするとできなくなること
XML-RPC機能を無効にしてしまうとできなくなることもあります。
- スマホアプリから投稿
- Jetpackとの
- Microsoft Wordから直接投稿
- ピンバックとトラックバック
WordPressアプリの設定でエラーが出る原因
WordPressアプリで自分のWordPressブログを設定しようとした時にエラーになる場合があります。
接続できませんでした。サイトのXML RPCエンドポイントにアクセスしようとした際に403エラーを受け取りました。サイトと通信するために、アプリはこのエンドポイントにアクセスする必要があります。この問題を解決するには、ホスティングサービスに連絡してください。
私の場合、「All In One WP Security & Firewall」の ファイヤーウォール設定が原因でした。
ファイヤーウォール>WordPress XML-RPCとピンバック脆弱性保護
「XML-RPCへのアクセスを完全にブロック」にチェックを入れていると上記のようなエラーになります。
「XML-RPCへのアクセスを完全にブロック」のチェックは外し、「XML-RPCのピンバック機能を無効化」の方にだけチェックを入れます。
All In One WP Security & Firewall以外のプラグインでも同様の機能がある場合はそれが原因の可能性があります。
一旦プラグインを無効にして、設定が成功するか確認してみましょう。
まとめ
この記事では、アプリで自分のWordPressの設定をした際、「XML-RPC」に関するエラーが出て、先に進めない場合の原因と解決方法について解説しました。
WordPressアプリを使うと記事更新が簡単にできるのですが「XML-RPC」を有効にしておく必要があります。
「XML-RPC」はセキュリティ上のリスクがありますが、セキュリティ系プラグインやサーバーでのWordPress向けセキュリティ機能でリスク軽減が可能です。
みなさんの今後のブログ運営の参考にしてください。
「インストール型」の検索順位チェックツールなら【GRC】▼
「クラウド型」検索順位チェックツールなら【Nobilista】▼