WordPress(ワードプレス)のセキュリティ対策プラグインとして注目されている「XO Security(エックスオー・セキュリティ)」。
本記事では、XO Securityの基本的な使い方から設定方法、ログインページの変更、ログイントラブルの対処法まで、初心者にもわかりやすく解説します。
目次
WordPressテーマ「GLUE」
無料で高機能なWordPressテーマが手に入る。XO Securityとは?
XO Securityは、WordPressサイト向けの無料セキュリティプラグインで、主にログイン関連の保護機能に特化しています。
日本人開発者によって作られており、日本語環境で使いやすいのが特徴です。
主な特徴
- 完全無料(広告なし・追加課金なし)
- 軽量でWordPressの動作に負担をかけにくい
- プラグイン画面も含めてすべて日本語対応
- 高機能なわりに初心者でも設定しやすいUI
必要な機能だけをシンプルに導入したい方に、XO Securityは検討に値します。
特に、セキュリティ対策にコストをかけたくない個人・中小企業、海外製プラグインが不安な方に向いています。
XO Securityのインストールと有効化
プラグインのインストールは、WordPressの管理画面にログイン後、以下の操作を行います。
- プラグイン > プラグインを追加をクリックする
- 検索窓から「XO Security」と検索
- 「今すぐインストール」をクリックする
その後、「今すぐインストール」の表示が「有効化」に変わりますので、クリックしたら完了です。
XO Securityの設定方法
WordPress管理画面で「設定」>「XO Security」の順に開きます。
ステータスの画面が表示されますので、こちらで設定した項目を確認できます。
各項目の左側に丸が付いていますが、こちらを押して設定するのではなく、上部のタブから設定します。
ログイン
「ログイン」のタブをクリックすると、WordPressサイトのログインページのセキュリティ設定ができます。
- 試行回数制限:回数制限なし、または1時間、12時間、24時間、48時間の間で任意の回数を選択。
- ブロック時の応答遅延:ログイン試行がブロックされているIPアドレスからのアクセスに対して、応答を遅らせる秒数を設定(0から120秒までを指定)。
- 失敗時の応答遅延:ユーザー名やパスワードを間違ってログインに失敗した場合に、応答を遅らせる秒数(0から10秒までを指定)。
- ログインページの変更:英小文字や数字など任意の文字列でログインURLを設定でき、元のURLは無効になります。
- ログインIDの種類:ユーザー名とメールアドレス(デフォルト)、ユーザー名のみ、メールアドレスのみから選択。
- ログイン言語制限(※):特定の言語(ブラウザの言語設定)のユーザーだけログインができる設定。WordPress内のファイル「wp-login.php」に指定のコードを記述。中上級者または開発者向け。
- ログインエラーメッセージ:ログイン失敗時に表示されるエラーメッセージの内容を選択(デフォルトと簡略化から選択)。攻撃者に余計な情報を与えないようにできる。
- 2要素認証(※):通常のログイン情報入力後、さらに認証アプリに表示されたコードを入力してログインする設定。国際標準であるTOTP対応の認証アプリ(Google Authenticatorなど)であれば利用可能。
- ログインフォーム:CAPTCHA(無効、英数字、ひらがなから選択)、パスワードリセットリンクとサイトへ移動リンク(有効・無効から選択)。
- ログインアラート:ログイン後のメール通知設定(件名と本文の入力、管理者のみのチェックボックス)。
※ログイン言語制限と2要素認証の設定方法は別の項目で解説します。
ログインURLを変更すると、従来のログインURLが利用できなくなりますので、必ずブックマークをしてください。
ログイン言語制限(任意)
ログイン言語制限をする場合は、WordPressの「wp-config.php」ファイルを開き、コードを一行記述して設定します。
やり方としては、レンタルサーバーのファイルマネージャー上で編集、またはFTP(ファイル転送ソフト)でファイルをダウンロード、編集、アップロードして設定します。

無料で使える初心者におすすめのファイル転送FTPソフトをご紹介します。 WordPressでは管理画面から直接画像がアップできたり、テーマの編集なども行えるため、FTPを使用せずにサイト構築を行うことが可能です。なので、WordPressユーザーの中には「FTPって何?」という方もいらっしゃる...
以下、人気レンタルサーバー「エックスサーバー」のファイルマネージャーの画面で解説します。
はじめに、ファイルマネージャーから「wp-config.php」を探します。ファイルを見つけたら、事前に該当ファイルをダウンロードしておくなど、必ずバックアップをしておいてください。
※エックスサーバーの場合は、「public_html」というフォルダに、WordPressのファイルが入っていますが、サーバー会社によってフォルダ名が違う場合があります。
- 「wp-config.php」を選択
- 「編集」をクリックする
以下のコードをファイルに記述します。
▼言語を1つだけ設定する場合
define( 'XO_SECURITY_LANGUAGE_WHITE_LIST', 'ja' );
▼言語を2つ以上設定する場合
define( 'XO_SECURITY_LANGUAGE_WHITE_LIST', 'ja,en' );
- 上記のコードを
/* That's all, stop editing!〜
の上に追加 - 「更新」をクリックする(FTPをご利用の方は、編集したファイルをアップロード)
これで言語設定は完了です。動作確認は、ログイン状態やキャッシュの影響を受けないようにするため、普段とは異なるブラウザやシークレットモードを使用します。
そのブラウザの言語設定を、指定した言語以外で設定してログインしてみてください。
2要素認証の有効化(任意)
2要素認証を使う場合は、ログインタブで有効化後、次の手順を実行します。
WordPressの管理画面から、ユーザー > プロフィールの順にアクセスし、下にスクロールします。
ページ下部に秘密鍵とQRコードが表示され、以下の操作を行います。
- 認証アプリで、QRコードの読み取りまたは秘密鍵の入力
- アプリに表示された6桁のコードを入力
- 「プロフィールを更新」を押して完了
※Google Authenticatorのアプリでは、右下の「+」でQRコードを読み取れます。
次回以降にログインする場合は、ログイン情報の入力後、さらに入力欄が表示されます。アプリ上に表示されている6桁のコードを入力してログインします。
コメント
「コメント」のタブをクリックすると、記事下などに表示されるコメント欄のセキュリティ設定ができます。
- CAPTCHA:コメント投稿時に画像認証(CAPTCHA)を表示して、ボットによる自動投稿を防ぎます(無効・英数字・ひらがなから設定)。
- スパム保護フィルター:日本語文字を含まない場合、自動的にスパム扱いし、任意のメッセージを表示。スパムとして保存されているコメントのメールアドレスを、自動的にスパム扱い。
- スパムコメント:検出されたスパムコメントの処理方法(ブロック、スパムとして保存、ゴミ箱へ移動)を指定。
- ボット保護チェックボックス:コメントフォームに「私はロボットではありません」などのチェックボックスを表示。
Akismet Anti-Spam(アキスメット アンチスパム)など、スパムコメント対策のプラグインを利用されている場合は機能が重複しますので、設定にご注意ください。
また、コメント欄を非表示にしたい場合は、以下を参照してください。

2021/3/26 情報を更新いたしました。 WordPressには、ユーザーが記事にコメントを送信できる機能が備わっていますが、制作するサイトによっては使用しない方が多いです。 当記事では、コメントを無効化する方法をご紹介します。 WordPressのコメントを無効化する方法 コメント...
XML-RPC
XML-RPC(エックスエムエル・アールピーシー)は、WordPressに標準で備わっている外部からリモート操作をするための機能です。
例えば、スマホから記事を投稿するなど便利な機能がある一方でセキュリティリスクもあります。
- XML-RPCの無効化(部分的にブロック):WordPressへのログインや投稿操作など、認証が必要な機能だけをブロック。
- XML-RPCピンバックの無効化(完全にブロック):ピンバック機能も含めて、XML-RPCを完全に停止。
XML-RPCピンバックとは、自身のWebページに他者のWebページのリンクを貼ると、相手に「リンクされましたよ」と通知(ピンバック)を送ることができます。
逆に、他の誰かがあなたのサイトにリンクを貼ると、あなたのサイトにも通知が届くという双方向の仕組みです。
WordPressを外部アプリやAPI(外部連携のための仕組み)で操作していない場合、XO Securityで「XML-RPCピンバックの無効化」にチェックを入れておけば、セキュリティリスクを下げることができます。

IT・WEB業界で働いている方は、「API」という言葉を目にしたり、耳にしたりすることは多いでしょう。実は一般の方々も、知らず知らずのうちに活用しています。 しかし、一般の方はもちろん、エンジニアの方でさえも初心者の方に向けて上手く説明できるかといわれれば、そうとは限りません。というわけで、当...
REST API
XO Securityの「REST API の無効化」設定は、不要なエンドポイントを制限してセキュリティを高めるためのものです。
エンドポイントとは、WordPressの情報にアクセスしたり操作したりするための「住所のようなもの(URLの一部)」です。
個別のエンドポイントを無効化できますので、細かいセキュリティ対策ができますが、知識がないと設定し辛いのが難点です。
- oEmbed 関連(
/oembed/1.0
): 外部サイトの埋め込みの情報やコードの取得(セキュリティリスクあり)。 - WordPressコア REST API 関連(
/wp/v2/
):投稿、ページ、リビジョン(投稿の履歴)、自動保存、メディア、ナビゲーション、テーマなど、WordPressの機能全般を外部から操作・取得。 - WordPressのサイトヘルス関連(
/wp-site-health/v1
):WordPress管理画面の「ツール → サイトヘルス」での診断に使われている機能。 - ブロックエディター補助API関連(
/wp-block-editor/v1
):Gutenbergブロックエディターの補助的な処理を行うAPI。
その他、各種プラグインをインストールすると、無効化できるエンドポイントが追加される場合があります。
無効化すると安心なエンドポイント
どれを無効化すれば良いかわからない場合は、以下のエンドポイントの無効化を参考にしてください。
ただし、これらのエンドポイントの多くは、認証されたユーザー(ログイン済み)でなければ取得できないものも含まれます。プラグインやテーマの設定次第で認証不要になることがあり、不要なものは無効化するのが安全です。
無効化する場合は、事前のバックアップ取得と、無効化した後の動作チェックを必ず行いましょう。
/oembed/1.0
関連:oEmbed
は、外部サイトからWordPress記事を埋め込むための機能で、埋め込み情報(author_name
やauthor_url
)からユーザー名が漏洩する可能性あり。/wp/v2/media
関連:アップロード済み画像・ファイル情報を取得可能。顔写真など個人・企業情報の漏洩リスクあり。/wp/v2/users
関連:ユーザー一覧を取得可能=情報漏えいリスクあり。/wp/v2/settings
:サイトタイトル・メール・初期設定が外部に漏れるリスクあり。/wp/v2/block-renderer/
:任意のブロックをAPI経由で取得。サイト構造の漏洩・無用な負荷。/wp/v2/plugins
関連:プラグインの状態取得・操作(一部環境)、プラグイン構成の把握・脆弱性把握に悪用されるリスク。/wp/v2/search
:サイト内検索API。攻撃者による大量アクセスによる負荷や、投稿内容の構造解析のリスクあり。
その他、未使用のプラグインのエンドポイントを公開していると、未認証アクセスや脆弱性の攻撃対象になります 。無効化するか、不要であればアンインストールしておくと安心です。
注意点としては、無効化しすぎると一部のプラグインやテーマ機能、Gutenbergエディタ、ブロックエディタ関連の動作に支障をきたす場合があります。以下の2点を考慮して設定してください。
- APIを使う外部連携ツールなどを利用していない:REST APIをある程度制限しても問題なし
- ブロックエディタは未使用で、クラシックエディタを使用:多くのエンドポイントを無効化してもOK
秘匿
「秘匿」タブでは、サイトの情報漏洩を防ぎ、セキュリティを強化できます。
- 投稿者スラッグの編集:投稿者スラッグ(Nicename)をプロフィール画面で編集できるようにします。初期設定ではログインIDがそのまま使われるため、ログイン名の漏洩防止に効果的です。
- 投稿者ベースの編集:URL構造にある /author/ を任意の別の文字列(例:/writer/)に変更できます。
- 投稿者アーカイブの無効化:投稿者ページ(例:/author/〇〇/)を無効化します。投稿者名一覧ページの存在をなくすことで、ユーザー名の特定を防止できます。
- コメント投稿者クラスの削除:HTML内のコメントタグに付与される class=”comment-author-○○” を削除します。HTMLソースからユーザー名が推測されるのを防ぎます。
- oEmbedユーザー名の削除:外部サイトから埋め込まれる記事情報(oEmbed)に含まれる author_name や author_url を削除。埋め込み経由でのユーザー名漏洩を防ぎます。
- RSS/Atomフィードの無効化(※):WordPressの自動生成フィード(例:/feed/)を無効にします。コンテンツの自動取得防止、クロール負荷の軽減に役立ちます。
- WordPressバージョン情報の削除:HTMLの <meta name=”generator”> などに出力されるWordPressのバージョン番号を削除します。特定バージョンの脆弱性を狙った攻撃を回避できます。
- readme.html の削除:WordPressインストール時に生成される readme.html ファイルを削除します。このファイルにはWordPressのバージョンが書かれており、同様に特定バージョンの脆弱性を狙った攻撃を回避できます。
※RSS/Atomフィードを無効化すると、Feedlyなどの更新情報の取得・閲覧ツールを使っているユーザーがいた場合、機会損失になる場合があります。無効化すべきかよくご検討ください。

Webサイト(ブログ、ニュースサイト等)から情報収集する際に、直接サイトに訪れていませんか? その場合、閲覧するサイト数が多いと、行き来するだけで時間がかかりますよね。「Feedly」を使えば、あらゆるサイトの更新情報をツール1つで管理できるため、その手間を無くすことができます。 当記事...
メンテナンス
こちらの設定は、サイト全体を一時的に訪問者から非表示にして「メンテナンス中」と表示するモードです。サイト全体のリニューアルや修正を行う場合に利用します。
ONにすると、管理者以外のユーザーにメンテナンス画面が表示されます。
環境
XO Securityの「環境」設定では、ログ管理と認証保護に関する基本動作の調整が行えます。これにより、不正アクセスの把握や対策を効率的にサポートできます。
- IPアドレス取得方法:サイトにアクセスしてきたユーザーの IPアドレスをどのヘッダーから取得するかを設定します。通常は「自動」でOKです(XO Securityが最適な取得方法を選びます)。
- ダッシュボード > ログイン情報ウィジェット:WordPressの管理画面ダッシュボードに、ログイン履歴(成功・失敗)を表示するウィジェットを追加します。
- ログインログ:「自動削除」は、ログインログ(履歴)を指定期間が経過したら自動削除。「デフォルトで表示する結果」は、ログインログ表示画面で、最初に表示する対象を選べます(すべての結果、成功のみ、失敗のみなど)。
- CAPTCHAタイプ:デフォルト(ゴシック体のようなフォント)、彫刻体フォント、おまかせから選択
設定後の注意点
- ログインURLを変更した場合は、必ず記録しておきましょう。
- 設定ミスでログインできなくなった場合は、レンタルサーバーのファイルマネージャーやFTPソフトでプラグインを一時的に無効化できます(後述します)。
- 他のセキュリティ系プラグインと併用すると干渉することがあるため注意が必要です。
設定をひと通り済ませれば、XO Securityは自動的に不正アクセスや不審な挙動をブロックしてくれます。
XO Securityのトラブルとその対処法
「XO Securityでログインできない」というトラブルは、主に以下が原因です。
- ログインURLを変更後、ブックマークしておらずアクセスできない → プラグインを一時停止する
- 2要素認証の設定ミス → ログインタブでのチェックと、プロフィールページで認証しているか確認
- IPアドレス制限で自分のアクセスがブロックされた → ファイルマネージャーやデータベースでブロック解除(またはプラグイン一時停止)
- ログイン失敗回数の制限に引っかかった → 時間経過で自動解除されるか、FTPからログファイルを削除
- ログイン言語制限の設定ミス → ブラウザの言語設定を日本語に戻す、または wp-config.php の該当行を削除

「WordPressにログインできなくなった」 そんな時に試しておきたい対処法と原因をまとめました。ログインできなくなっても、冷静に「何が原因なのか」を1つずつ探っていくことが大切です。 問題の対処法を理解して、ストレスフリーなサイト運営を目指しましょう。 WordPres...
プラグインの一時無効化とバックアップの復元方法
これらの対処法として、以下の2つの対処法のどちらかを選択してください。
- ファイルマネージャーやFTPでプラグインを一時無効化:
/wp-content/plugins/xo-security/
フォルダ名を一時変更(/xo-security-backup/
など)すると、一時的に無効化できます。 - バックアップから復元:レンタルサーバーのバックアップ機能からの復元や、バックアップ・プラグインをインストールされている方は、そちらから復元します。

WordPressサイトの運営において、バックアップは欠かせない作業のひとつです。不具合やエラーが起きた際、事前にとっておいたバックアップデータから復元できれば安心ですよね。 そこで当記事では、WordPressサイトのバックアップをとれるプラグインを4個ご紹介いたします。それぞれの特徴をまと...
まとめ
XO Securityは、WordPress初心者でも簡単に使えるセキュリティ対策プラグインです。無料ながら必要十分なセキュリティ機能を提供してくれます。
設定が不安な方は、インストール前にバックアップを取ることをおすすめします。ぜひXO Securityを活用してみてください。
WordPressテーマ「GLUE」
無料で高機能なWordPressテーマが手に入る。
コメント