
XO Securityの設定方法と不具合対処【初心者/SWELL向け】
この記事では、プラグイン「XO Security(エックスオー セキュリティ)」の初期設定と使い方を、画像を用いてわかりやすくご紹介します。
WordPress(ワードプレス)で必ず最初にインストールするのが、セキュリティ対策プラグインです。
無料で簡単にセキュリティ対策ができるので、「XO Security」は初心者におすすめです。

ログインページのURL変更は定番ですね。



なるほど!大切なサイトを乗っ取りから守りたいですね。
- 「XO Security」の初期設定が完了できる
- 設定項目の重要度がわかる
- 管理画面にログインできないときの対処法がわかる
この記事を最後まで読めば、WordPress(ワードプレス)で不正アクセス対策がすぐ完了します。
ぜひ最後まで進めてみてください。
すでに途中まで進めている人は、目次から該当箇所に飛ぶこともできます。
セキュリティ対策プラグイン「XO Security」は必要か?
セキュリティ対策プラグインは、以下のような目的で必要になります。
- 自分の個人情報漏洩を防ぐため
- 顧客の個人情報漏洩を防ぐため(ビジネスサイト)
- サイトの改ざんや乗っ取りを防ぐため
- 踏み台にされて、第三者を攻撃しないため
公開されたサイトは、気づいていないだけで、悪意のあるロボットから毎日攻撃を受けています。



踏み台にされると、海外から警告が届いたりします。
WordPress(ワードプレス)を利用する場合は、必ずインストールするようにしてください。
以下のような対策も合わせて実施してください。
- サイト表示名(ニックネーム)をユーザー名(ログインID)から変更する
- 簡単なパスワードから複雑なパスワードに変更する
- サイトをSSL(https)対応する
セキュリティ対策をしていないとどうなるか?
例えば、よくあるパスワードリストを使った辞書攻撃をブロックすることができません。



時間はかかりますが、いずれ突破されます。



なるほど!対策が必要ですね。
例えば、自分以外の誰かがログインしても、気づくことができません。



設定しておけば、ログイン通知メールが届きます。



なるほど!すぐ気づけますね。
例えば、コメントスパムが毎日のように届きます。



ロボット判定機能でスパムを防止できます。



なるほど!余計な通知が減りますね。
例えば、トップページURLに「/wp-login.php」や「/wp-admin/」を追加すると、誰でもログインページにアクセスできます。





ログインURLの変更で対策できます。



なるほど!攻撃されにくくなりますね。
プラグイン「XO Security」とは
「XO Security」は、初心者向けのセキュリティ対策プラグインです。
- ログイン試行回数などを制限(プラグイン「Limit Login Attempts」が不要)
- CAPTCHA(画像認証)でログイン認証
- ログインURLの変更(管理画面と分けることができる)
- コメントスパム対策(プラグイン「Akismet」が不要)
- 投稿者スラッグの秘匿(プラグイン「Edit Author Slug」が不要)
「XO Security」と同様のセキュリティ対策プラグインで、.htaccessを使用する「SiteGuard WP Plugin」もあります。


「XO Security」と「SiteGuard WP Plugin」の比較
セキュリティ対策プラグイン「XO Security」と「SiteGuard WP Plugin」の違いを比較してみましょう。
重要度 | 項目 | XO Security | SiteGuard |
---|---|---|---|
高 | ログイン障害の少なさ(.htaccess不要) | ○ | × |
低 | 管理ページアクセス制限 | × | ○ |
高 | ログインURLの変更 | ○ | ○ |
高 | ログインCAPTCHA(画像認証) | ○ | ○ |
高 | コメントCAPTCHA(画像認証) | ○ | ○ |
高 | コメントチェックボックス | ○ | × |
低 | コメント日本語のみ制限 | ○ | × |
中 | ログインエラーメッセージの簡略化 | ○ | ○ |
高 | ログインロック(試行回数制限など) | ○ | ○ |
高 | メールアドレスのログイン拒否 | ○ | × |
中 | ログインアラート(メール通知) | ○ | ○ |
中 | ログインログ(履歴) | ○ | ○ |
低 | フェールワンス(必ず一回ログイン失敗) | × | ○ |
高 | XML-RPC の無効化 | ○ | ○ |
中 | REST API の無効化 | ○ | ○ |
高 | 投稿者スラッグの秘匿 | ○ | × |
低 | 投稿者スラッグへリダイレクト禁止(ユーザー名漏えい防御) | × | ○ |
中 | WordPressバージョン情報の秘匿 | ○ | × |
低 | バージョンアップの更新通知(メール通知) | × | ○ |
低 | SiteGuard WAFのチューニング設定 | × | ○ |
高 | 設定内容の保持 | ○ | × |
「XO Security」は.htaccess
ファイルを改変しないため、設定ミスなどでログイン障害になりにくいです。
これだけでも「XO Security」がおすすめですが、他にもかゆいところに手が届くようになっています。
- 設定画面がシンプルでわかりやすい
- コメント荒らし(コメントスパム)をCAPTCHA(画像認証)なしでも対策できる
- メールアドレスでのログインを拒否できる
- プラグインを無効化しても設定が保存されている



XO Securityは初心者向け、SiteGuardは技術がわかる人向けです。
.htaccessとは、サーバーでディレクトリ単位に格納できるテキストファイルで、アクセス制限などが可能です。
ApacheやApache互換のLiteSpeedなどのWebサーバーで利用できます。
「XO Security」で不要になるプラグイン
「XO Security」を利用すると、機能が重複する以下のプラグインは不要になります。
プラグイン名 | 説明 |
---|---|
Limit Login Attempts | ログイン試行回数の制限 |
Akismet Spam Protection | コメントスパム対策 |
Edit Author Slug | 投稿者スラッグの秘匿 |



アンインストールしてしまいましょう。
セキュリティ対策プラグインとして「Wordfence Security」も有名ですが、初心者にはおすすめしません。
- 動作が重いため、サイト高速化(ページ表示速度)の妨げとなる
- WAF機能による不具合やログイン障害が増える
プラグイン「XO Security」を導入する流れ
WordPress(ワードプレス)の管理画面から「XO Security」プラグインをインストールします。
プラグインを有効化したら「ログインページ変更」などの設定を確認・変更していきます。
「ログインページURL」を変更した場合は、必ずブックマークしておきましょう。
1) プラグイン「XO Security」をインストール
作業を開始する前に、サーバーでバックアップを取得しておくことをおすすめします。
WordPress(ワードプレス)にログインしたら、左メニューの[プラグイン]→[新規追加]をクリックして、[プラグインの検索]をします。


[プラグイン]→[新規追加]から「XO Security」を検索して、[今すぐインストール]した後に[有効化]します。


2) プラグイン「XO Security」の設定方法
「XO Security」は、デフォルト設定がすべてOFFのため、必ず設定変更するようにしてください。
時間のない方は、画像だけ見ながら設定作業をしてみてください。
事前) ステータス
左メニューの[設定]→[XO Security]をクリックして、「XO Security 設定」を開きます。


「ステータス」を見ると、まだ何も設定されておらず、ログインログ(履歴)だけ記録が開始されています。
1) ログイン設定
タブメニューの[ログイン]をクリックして、「ログイン設定」画面を開きます。


試行回数制限、応答遅延、ログインページの変更、ログインIDの種類、ログインエラーメッセージを変更します。


重要度 | 設定項目 | 説明 |
---|---|---|
高 | 試行回数制限 | ロボット試行回数でログインロック → 12時間で4回までリトライ可能に設定 |
中 | ブロック時の応答遅延 | ログインロック時に応答遅延 → 最大(120秒)に設定 |
中 | 失敗時の応答遅延 | ログイン失敗時に応答遅延 → 最大(10秒)に設定 |
高 | ログインページの変更 | ログインURL(wp-login.php)の変更 → 変更したら必ずブックマーク |
高 | ログイン ID の種類 | ユーザー名とメールアドレスから選択 → 公開するメールアドレスはログイン拒否 |
低 | ログイン言語制限 | ログインする言語を制限 → PHP(プログラミングコード)の編集が必要 |
中 | ログインエラーメッセージ | ログイン失敗時のエラー表示 → 簡略化してログイン失敗理由を秘匿 |
ログインページの変更を設定した場合、必ず変更したログインページのURLをブックマークしておいてください。


ログインページからでないと、管理画面やダッシュボード(/wp-admin/)にアクセスできなくなります。
SWELLテーマを使用している場合に、ログインURLを変更すると勝手にログアウトすることがあります。
以下の記事を参考に、Prefetchの除外設定をしてください。
- ログインURLの変更は、他の技術的な対策をしっかりやっているなら不要な場合もあります。
ログイン ID の種類は、メールアドレスのログインを拒否するため、「ユーザー名のみ」にするのがおすすめです。
悪意のある人物・ロボットが、公開されているメールアドレスを収集して、不正ログインに用いる恐れがあります。
ログインエラーメッセージは、存在するユーザー名を秘匿するため簡略化するのがおすすめです。
WordPress(ワードプレス)では、以下のようにユーザーが存在するかどうか、エラーメッセージで判別できてしまいます。
ユーザーが存在しない場合


ユーザーが存在する場合


このエラーメッセージを同じにすることで、ユーザー名やメールアドレスが特定されるのを防止します。
CAPTCHA、ログインアラートを変更して[変更を保存]をクリックします。


重要度 | 設定項目 | 説明 |
---|---|---|
高 | CAPTCHA | ログインフォームに画像認証を設置 → 海外ロボットが対応しにくい「ひらがな」を選択 |
低 | パスワードリセットリンク | 「パスワードをお忘れですか?」のリンク表示 → 本当に忘れたときのために「有効」のまま |
低 | サイトへ移動リンク | 「← デモサイト へ移動」のリンク表示 → ドメイン同じなら「有効」のまま |
中 | ログインアラート | 誰かがログインしたときのメール通知 → 自分以外のログインに気づくためにON |
画像認証(CAPTCHA)は、日本語サイトであれば、「英数字」ではなく「ひらがな」に設定することをおすすめします。
日本語対応のロボットは少ないため、日本語にするだけで強力なロボット対策になります。
画像認証(CAPTCHA)を「ひらがな」に設定すると、以下のようなログインページになります。


画像認証(CAPTCHA)は、キャッシュプラグインやCDNなどを利用している場合、ログインできなくなる恐れがあります。
「WP Rocket」「LiteSpeed Cache」「W3 Total Cache」「WP Fastest Cache」「WP Super Cache」などを利用している場合は、CAPTCHA機能のオフ(OFF)を推奨します。
2) コメント設定
タブメニューの[コメント]をクリックして、「コメント設定」画面を開きます。


CAPTCHAを「ひらがな」に設定して[変更を保存]をクリックします。


重要度 | 設定項目 | 説明 |
---|---|---|
高 | CAPTCHA | コメントフォームに画像認証を設置 → ユーザーはひらがなで画像認証を入力 |
低 | スパム保護フィルター | コメントフォームを日本語のみに制限 → ユーザーは気にならないが、bot増加 |
低 | スパムコメント | スパムコメントをどうするか → ブロック/ スパムとして保存 / ゴミ箱 から選択 |
高 | ボット保護チェックボックス | 「私はロボットではありません。」チェックボックスを追加 → ユーザーはチェックボックスをチェック |
「スパム保護フィルター」では、日本語タイトルをコピペするBotに突破されました。
ユーザー操作が必要になりますが、「CAPTCHA(画像認証)」か「ボット保護チェックボックス」のどちらかを設定するのをおすすめします。
両方設定してしまうと、ユーザビリティが損なわれるため、必ず片方だけ設定するようにしましょう。
「ボット保護チェックボックス」をONにすると、以下のようにコメント入力の際にチェックボックスに同意が必要になります。


これは、人とロボットプログラムの挙動を判別するためのものです。
「XO Security」を導入していれば、スパム対策プラグイン「Akismet」が不要になります。
プラグインを減らせば、それだけ不具合が減り、サイト表示速度も速くなるためSEO対策にもなります。
3) XML-RPC 設定
タブメニューの[XML-RPC]をクリックして、「XML-RPC設定」画面を開きます。


XML-RPC ピンバックの無効化のトグルをONに変更して[変更を保存]をクリックします。


XML-RPCとは、プログラム開発に利用する通信方式(プロトコル)の一種です。
ブルートフォースアタック(総当たり攻撃)などの攻撃に悪用されることがあります。
ただし、XML-RPCを無効にすると、プラグインが動かなくなってしまうことがあります。
そのため、DDoS攻撃(過負荷攻撃)に悪用されるXML-RPC ピンバックだけ無効化します。
XML-RPCがONのままだと、アクセスログにたくさん攻撃のログインログが残るはずです。
それが嫌な場合は[XML-RPCの無効化]をONに変更してください。
ただし、プラグインが動かなくなる不具合の可能性があるため、必ずサイトの動作確認を行います。
4) REST API 設定
タブメニューの[REST API]をクリックして、「REST API設定」画面を開きます。


REST API の無効化を設定して[変更を保存]をクリックします。


REST APIとは、プログラム開発に利用する通信方式(プロトコル)の一種です。
これまでに、サイト改ざんなどの脆弱性を悪用する攻撃が行われています。
ただし、REST APIを無効にすると、プラグインが動かなくなってしまうことがあります。
そのため、ユーザー名の秘匿に関わる以下の項目のみ無効化するのをおすすめします。
/wp/v2/users
/wp/v2/users/(?P<id>[\d]+)
WordPress(ワードプレス)の脆弱性を悪用されないように、定期的にアップデート(更新)して最新のバージョンに保ちましょう。
5) 秘匿設定
タブメニューの[秘匿]をクリックして、「秘匿設定」画面を開きます。


投稿者スラッグの編集、コメント投稿者クラスの削除、バージョン情報の削除をONにして[変更を保存]をクリックします。


重要度 | 設定項目 | 説明 |
---|---|---|
中 | 投稿者スラッグの編集 | 投稿者アーカイブ(著者ページ)URLに含まれるIDの変更 → ユーザー名を秘匿するためONに変更 |
低 | 投稿者アーカイブの無効化 | 投稿者アーカイブ(著者ページ)のアクセス制限 → 記事一覧を表示するためOFFのまま |
中 | コメント投稿者クラスの削除 | コメント投稿者に含まれるIDの削除 → ユーザー名を秘匿するためONに変更 |
低 | RSS/Atom フィードの無効化 | RSSフィードの無効化 → 「要約」配信ならOFFのまま |
中 | バージョン情報の削除 | WordPressバージョン情報の削除 → 古い脆弱性を狙われないようにONに変更 |
WordPressの「表示設定」で、「フィードの各投稿に含める内容」を[要約]に設定している場合は、RSS/Atom フィードの無効化をする必要はありません。


その他のWordPress(ワードプレス)の初期設定については、以下を参考にしてください。


投稿者スラッグの編集をONにした場合、投稿者スラッグをデフォルト設定(ユーザー名)から変更する必要があります。
左メニューの[ユーザー]→[プロフィール]もしくは右上のアイコンから、「プロフィール設定」画面を開きます。
ページ下部の「投稿者スラッグ」をユーザー名以外に変更して[プロフィールを更新]をクリックします。


投稿者スラッグを「空白」にしてしまうと、ユーザー名(ログインID)が設定されるため注意してください。
投稿者アーカイブとは、投稿者ごとに記事一覧を表示するアーカイブページです。著者ページとも呼びます。



私(suya)の投稿者アーカイブは以下です。
https://manuon.com/author/suya/
投稿者スラッグとは、投稿者アーカイブページのURLのユーザー名(例:suya)を表す部分です。
WordPressでは、この「ユーザー名=ログインID」になっているため、簡単にログインIDがわかってしまいます。



以下のURLにアクセスしてみてください。
ユーザー名を知らなくても、上記のURLからリダイレクトされるので、簡単にユーザー名がわかります。
そして、不正ログイン攻撃は、ほぼこのユーザー名を特定して行われます。
そのため、投稿者スラッグからログインIDを推測できないような対策を行うわけです。
「XO Security」を導入していれば、プラグイン「Edit Author Slug」が不要になります。
プラグインを減らせば、それだけ不具合が減り、サイト表示速度も速くなるためSEO対策にもなります。
6) 環境設定
「環境設定」画面は、デフォルト設定(自動)のままで大丈夫です。


重要度 | 設定項目 | 説明 |
---|---|---|
低 | IP アドレス取得方法 | 接続IPアドレスの取得方法 → デフォルト設定(自動)のまま |
低 | 自動削除 | ログインログ(履歴)の保存期間 → デフォルト設定(365日以前)のまま |
低 | デフォルトで表示する結果 | ログインログのデフォルト表示 → ご自由に |
CDN、ロードバランサー、プロキシサーバーなどを使用している場合は、IPアドレス取得方法を変更することがあります。
以上で、セキュリティ対策プラグイン「XO Security」の設定は完了です。
ログインページの変更を設定した場合、必ず変更したログインページのURLをブックマークしておいてください。


ログインページからでないと、管理画面やダッシュボード(/wp-admin/)にアクセスできなくなります。
参考)フッターやサイドバーのログインリンクを非表示にする方法
WordPress(ワードプレス)では、最初サイドバーやフッターにログインページへのリンクが表示されています。


このままでは、せっかく変更したログインURLが公開されてしまいます。



忘れないうちに、ログインURLを非表示しておきましょう。
左メニューの[外観]→[ウィジェット]から、サイドバーやフッターの[メタ情報]ブロックを[削除]してください。
参考) ログインログの確認
左メニューの[ユーザー]→[ログインログ]をクリックすると、「ログインログ(ログイン履歴)」を確認することができます。


3) URLを忘れたとき / 管理画面にログインできないときの対処法
FTPソフトやレンタルサーバーのファイルマネージャーでサーバーディレクトリにアクセスします。
/public_html/サイト/wp-content/plugins/xo-security/
を「xo-security2」などに変更します。
/サイト/public_html/wp-content/plugins/xo-security/
などの場合もあります。
プラグイン「XO Security」が無効化された状態でログインできるはずです。
/public_html/サイト/wp-content/plugins/xo-security2/
を「xo-security」に戻します。
/サイト/public_html/wp-content/plugins/xo-security2/
などの場合もあります。
必ず変更したログインページのURLをブックマークしておきましょう。
画面が変わらない場合は、Cookie(クッキー)やブラウザキャッシュをクリアするか、別のブラウザでアクセスしてみてください。
4) その他の対処法
404エラーページ(Not Found)が表示されるときの対処方法
ログアウトした状態で、間違ったログインページや管理画面にアクセスしようとすると、「404 Not Found」などと表示されます。
ブックマークなどから、変更したログインページURLにアクセスしてください。
変更したログインページURLがわからなくなった場合は、1つ上の「3) URLを忘れたとき / 管理画面にログインできないときの対処法」をご覧ください。
この記事のまとめ
プラグイン「XO Security」の初期設定と管理画面にログインできなくなったときの復旧方法を見てきました。
重要度の高いところは、必ず設定するようにしてください。



設定忘れてました。
セキュリティプラグインとしては、「BBQ Firewall」もおすすめです。
WordPress(ワードプレス)で最初に入れるその他の基本プラグインは、以下を参考にしてください。


WordPress(ワードプレス)の初期設定がまだの場合は、以下を参考にしてください。


読者の声を紹介させてください
この記事をご紹介いただいた方がいらっしゃいましたら、読者の声として掲載させていただきます。
ぜひご連絡いただければと思います。
コメント