WordPressのセキュリティ対策は、「更新する」「入口を守る」「戻せるようにする」の3つにまとめられます。どれも一度設定して終わりではなく、続けることで効果が出ます。毎月の点検を続けられない場合は、保守を頼む、Cloudflareを前に置く、攻撃される場所そのものを減らす、のどれかを選ぶのが現実的です。
この記事は、会社やお店のWordPressサイトを自分たちで管理している人や、制作会社に任せているけれど何をしてもらっているのか分からない人に向けて書いています。
結論:対策は「更新」「入口を守る」「戻せるようにする」の3つ
セキュリティ対策の記事には、10個、20個と対策が並んでいることがよくあります。全部をやろうとして手が止まるより、まず次の3つの役割で考えると整理しやすくなります。
| 役割 | 防ぐもの | 主な作業 |
|---|---|---|
| ① 更新する | 見つかった穴を突く攻撃 | 本体・テーマ・プラグイン・PHPを新しくする。使っていないものは消す |
| ② 入口を守る | パスワードを当てる攻撃、管理画面への侵入 | 強いパスワードと2段階認証、ログインの回数制限、XML-RPCの停止、WAF |
| ③ 戻せるようにする | 被害が起きたときの長期の停止 | 複数の時点のバックアップを、サーバーとは別の場所に残す |
①と②は「入られない」ための対策、③は「入られても立ち直れる」ための対策です。どれか1つでは足りず、3つがそろって初めて守りになります。
対策① 更新する(本体・テーマ・プラグイン・PHP)
いちばん効果が大きいのは、更新です。Patchstackの2026年の報告によると、2025年にWordPressの周辺で見つかった新しい脆弱性は11,334件で、その91%がプラグイン、9%がテーマでした。大量に悪用された脆弱性では、公表から最初の攻撃までの時間の中央値が5時間だったとされています。
本体:自動更新が働いているか確かめる
WordPressは、3.7からセキュリティのための小さな更新を自動で行う仕組みを持っています。ただ、サーバーの設定やプラグインによって止まっていることがあります。管理画面の「ダッシュボード」→「更新」を開き、「最新バージョンのWordPressをお使いです」と出ているか確かめましょう。2026年10月30日時点の最新版は7.1.4(10月28日公開)です。
プラグインとテーマ:自動更新を1つずつ有効にする
WordPress 5.5から、プラグインとテーマも自動更新を選べるようになりました。
- プラグイン
「プラグイン」→「インストール済みプラグイン」の一覧に「自動更新」の列があります。プラグインごとに「自動更新を有効化」を押します。一覧の左のチェックボックスで複数選び、上の「一括操作」からまとめて有効にすることもできます。 - テーマ
「外観」→「テーマ」でテーマの画像を押すと、作者名の下に「自動更新を有効化」があります。テーマは1つずつ設定します。 - 動いているか確かめる
自動更新は、標準では1日2回行われます。更新に成功・失敗すると、管理者にメールが届きます。メールが一度も届かない場合は、「ツール」→「サイトヘルス」で、予定された処理(WP-Cron)のエラーが出ていないか見てください。
PHP:WordPressの外側も古くなる
WordPressを最新にしても、土台のPHPが古いままだと守れません。2026年10月には、サポートが終わったPHP 8.1以前に修正が出ない脆弱性も明らかになりました。確かめ方はPHPのバージョンとサポート期限の確認方法で解説しています。
対策② 入口を守る
パスワードと2段階認証
- ユーザー名に「admin」を使わない。WordPressの公式ドキュメントもはっきりそう書いています。すでに使っている場合は、別の名前で管理者を作り、古いユーザーを消します。
- 管理者の数を減らす。記事を書くだけの人は「編集者」や「投稿者」にします。辞めた人や、昔の制作会社のユーザーが残っていないか、「ユーザー」の一覧で確かめましょう。
- 長くて使い回さないパスワードにし、パスワード管理ソフトを使います。
- 2段階認証を入れる。WordPress本体には2段階認証の機能がないため、プラグインで足します。たとえば、WordPress.orgのコミュニティが開発している「Two Factor」は、認証アプリ、メールのコード、予備のコードに対応しています。
ログインの回数制限
パスワードを総当たりで試す攻撃には、短い時間に何度も失敗したら一時的に止める仕組みが効きます。WordPressの公式ドキュメントでは、Webサーバーや、サーバーの手前(Cloudflareなど)で回数を制限する方法と、セキュリティプラグインで制限する方法が紹介されています。あわせて、大量の攻撃を受けるとプラグインはPHPの処理を使うため、サーバーの負担になるという注意も書かれています。ログイン画面にCAPTCHA(ロボットでないことの確認)を置くのも一つの手です。
XML-RPCを止める
xmlrpc.phpは、外部のアプリからWordPressを操作するための古い入口です。1回の通信で多くのパスワードを試せるため、総当たり攻撃によく使われます。公式ドキュメントでは、使っていなければ止め、Jetpackやスマートフォンのアプリなどで必要な場合は、WAFのルールと厳しい回数制限で絞るようすすめています。
WAFを使う
WAF(Webアプリケーションファイアウォール)は、怪しい通信をWordPressに届く前に止める仕組みです。レンタルサーバーに付いているものと、Cloudflareのように手前に置くものがあります。
- Cloudflareの無料プランにも、WAFと「Free Managed Ruleset」(Cloudflareが用意した無料のルール)、DDoS攻撃への防御が含まれています。
- より多くのルールを含む「Cloudflare Managed Ruleset」は、有料のProプラン(年払いで月20ドル、月払いで月25ドル)から使えます。
ただし、WAFは更新の代わりにはなりません。Patchstackの同じ報告では、サーバー側の一般的な防御で止められたのは、試した攻撃の26%でした。
管理画面からファイルを書き換えられないようにする
WordPressには、管理画面からテーマやプラグインのプログラムを直接編集する機能があります。普段使わないなら、wp-config.phpにdefine( 'DISALLOW_FILE_EDIT', true );の1行を足して止めておきます。公式ドキュメントも「不正なファイルのアップロードは防げないが、一部の攻撃は止められるかもしれない」としています。作業はサーバーのファイルを触るため、慣れていなければ制作会社やサーバー会社に頼みましょう。
対策③ 戻せるようにする(バックアップ)
どれだけ守っても、被害の可能性はゼロにはなりません。そのときに短い時間で立ち直れるかを決めるのが、バックアップです。
- ファイルとデータベースの両方を取る(記事や設定はデータベースに入っています)
- 複数の時点の分を残す。不正なプログラムがしばらく潜んでいると、直前のバックアップも汚染されていることがあります
- サーバーとは別の場所にも置く。サーバーごと被害にあうと、同じ場所のバックアップも使えなくなります
- 戻し方を一度試す。取っていても、戻せなければ意味がありません
WordPressの公式ドキュメントも、被害の前と後の両方のコピーが残るよう、定期的に丸ごとのスナップショットを取り、信頼できる場所に保管することをすすめています。当ラボの運営会社が2018年ごろに自社サイトで被害にあったときも、数日前のバックアップがすでに汚染されていて、復旧に時間がかかりました(詳しい経緯はこちら)。
セキュリティプラグインの選び方
WordPressの公式ドキュメントでは、ファイアウォールや強化の機能を持つプラグインの例として、Wordfence、All in One WP Security、Shieldなどが挙げられています。どれを選ぶにしても、次の点を確かめてください。
| 見るところ | 確かめ方 | 目安 |
|---|---|---|
| 今も手入れされているか | WordPress.orgのプラグインのページにある最終更新日 | 長く更新が止まっているものは避ける |
| 今のWordPressで試されているか | 同じページの、どの版のWordPressまで検証したかの表示(英語版では「Tested up to」) | 最新の版に近いこと |
| 機能が重なっていないか | サーバーのWAFやCloudflareと同じことをしていないか | 同じ役割のものは1つにする |
| 使いこなせるか | 通知の量、設定画面の分かりやすさ | 通知を誰も見ないなら、入れても効果は薄い |
セキュリティプラグインも、プラグインの1つです。入れたものは更新が必要で、穴が見つかることもあります。「たくさん入れるほど安全」ではない点に注意してください。
毎月15分の点検表
設定が終わったら、あとは続けることです。月に1回、次の項目を順に確かめます。慣れれば15分ほどで終わります。
- 更新が残っていないか
「ダッシュボード」→「更新」で、本体・プラグイン・テーマ・翻訳の更新が残っていないか見ます。 - 自動更新のメールが届いているか
失敗の知らせが来ていれば、手で更新します。 - サイトヘルスに重要な問題がないか
「ツール」→「サイトヘルス」で、PHPのバージョンや予定された処理のエラーを確かめます。 - 知らないユーザーがいないか
「ユーザー」の一覧で、管理者の数と名前を確かめます。 - 使っていないプラグインがないか
停止したままのものは削除します。 - バックアップが取れているか
最後のバックアップの日付と、保存先を確かめます。 - 検索結果に知らないページが出ていないか
Googleで「site:自社のドメイン」と検索し、身に覚えのないページがないか見ます。
点検の担当者と日付を決め、結果を一言でも記録しておくと、担当が変わっても続けやすくなります。WordPress本体に重大な穴が見つかったときは、月1回を待たずにすぐ対応が必要です。2026年7月のwp2shellがその例です。
対策を続けられないときの選択肢
ここまで読んで「毎月はとても無理だ」と感じた方もいると思います。その場合は、無理に続けるより、続けなくても済む形に変えるほうが安全です。
保守を外に頼む
制作会社や保守サービスに、更新と点検を任せる方法です。サイトの作りは変わりません。契約するときは、「緊急の脆弱性が出たとき、何時間以内に対応するか」「バックアップをどこに、何日分残すか」「どこまでが料金に含まれるか」を書面で確かめておきましょう。
Cloudflareを前に置く
WordPressはそのまま残し、手前にCloudflareを置いて、怪しいアクセスやログイン画面への攻撃を減らす方法です。無料プランから始められます。ただし、本体やプラグインの更新は引き続き必要です。やり方はWordPressをCloudflareへ移す4つの方法で解説しています。
攻撃される場所そのものを減らす(静的化など)
更新が年に数回のサイトなら、WordPressで作ったページをHTMLのファイルとして書き出して公開する「静的化」や、別の仕組みへの乗り換えで、公開している場所ではPHPもデータベースも動かない状態にできます。守る場所が減るぶん、毎月の点検の手間も減ります。どれが合うかはWordPressからの乗り換え先5つを比較で整理しています。
よくある質問
セキュリティプラグインを入れれば、更新しなくても大丈夫ですか?
大丈夫ではありません。WordPressの公式ドキュメントも、まずプラグインを常に最新にすることを挙げています。セキュリティプラグインは怪しいアクセスを止める助けにはなりますが、本体やプラグインの穴そのものはふさげません。更新とあわせて使うものと考えてください。
プラグインの自動更新を有効にすると、サイトが壊れませんか?
まれに、更新の組み合わせで表示や動きがおかしくなることはあります。WordPressの公式ドキュメントも、自動更新を有効にする前に、元に戻せるバックアップを用意しておくことをすすめています。更新されたプラグインはメールで知らされるため、届いたらサイトを開いて表示を確かめる習慣をつけると安心です。
XML-RPCは止めても問題ありませんか?
使っていなければ止めて構いません。ただし、Jetpackやスマートフォンのアプリから投稿している場合などは、XML-RPCを使っていることがあります。止める前に、使っている機能がないか確かめてください。使っている場合は、止める代わりにWAFでアクセスを絞る方法があります。
レンタルサーバーのセキュリティ機能があれば、自分では何もしなくてよいですか?
それだけでは足りません。Patchstackの2026年の報告では、サーバー側の一般的な防御で止められた攻撃は全体の26%でした。サーバーの機能は役に立ちますが、WordPressの更新やユーザーの管理は、サイトの持ち主か保守の担当者が行う必要があります。
バックアップは、サーバーの自動バックアップだけで足りますか?
足りない場合があります。サーバーの自動バックアップは保存期間が短いことが多く、不正なプログラムが潜んでいる間に、汚染されたものしか残らなくなることがあります。WordPressの公式ドキュメントも、被害の前と後の両方のコピーが残るよう、定期的なスナップショットを信頼できる場所に保管することをすすめています。
どこまでやれば「十分」ですか?
この記事の3つの対策と、毎月の点検を続けられていれば、多くの小さなサイトでは基本はできていると言えます。ただし、セキュリティに「これで完全」はありません。続けるのが難しいと感じたら、保守を頼む、Cloudflareを前に置く、攻撃される場所を減らす、のどれかを検討してください。
参照元
- WordPress Developer Resources:Hardening WordPress(2026年10月14日更新)
- WordPress Developer Resources:Brute Force Attacks
- WordPress.org Documentation:Plugin and themes auto-updates
- WordPress.org:Two Factor(プラグイン)
- WordPress.org:WordPress 7.1.4(2026年10月28日)
- Patchstack:State of WordPress Security in 2026
- Cloudflare:料金プラン
- Cloudflare Docs:WAF Managed Rules
- 最終確認日:2026年10月30日
URLを送るだけで、外から確認できる範囲で、更新の状況や危険度をお返しします。