WordPressセキュリティ対策を徹底解説|今すぐできる12の防御策

WordPressセキュリティ対策を徹底解説|今すぐできる12の防御策

WordPressのセキュリティ対策、つい後回しにしていませんか?

世界のWebサイトの約43%がWordPressで構築されている今、攻撃者にとって最も「効率の良いターゲット」がWordPressサイトです。実際、2023年だけでWordPress関連の脆弱性は5,948件報告されており、その97%がプラグインに起因しています。

本記事では、初心者でも今すぐ実行できる12のセキュリティ対策を基本編・応用編に分けて解説するとともに、実際のハッキング被害事例や万が一の復旧手順まで網羅しました。読み終えたあとには、自社サイトの防御力を引き上げるために「今日やるべきこと」が明確になっているはずです。

WordPressのセキュリティリスクを正しく理解する

WordPressのセキュリティリスクを正しく理解する

対策に取り組む前に、まず「なぜWordPressが攻撃対象になりやすいのか」を知ることが重要です。リスクの構造を理解すれば、どの対策をどの順番で実行すべきかが自然と見えてきます。

WordPressが攻撃者に狙われやすい3つの理由

1つ目の理由は、圧倒的な市場シェアです。WordPressはCMS市場の60.1%を占めており、攻撃者から見れば「1つの攻撃手法を開発すれば、世界中の膨大な数のサイトに使い回せる」という効率の良さがあります。大企業だけが標的になるわけではなく、ボットによる自動スキャンで脆弱なサイトが規模に関係なく検出される点を忘れてはなりません。

2つ目は、オープンソースであること。ソースコードが公開されているため、攻撃者もコードの脆弱性を分析できてしまいます。もちろんオープンソースだからこそ世界中の開発者が脆弱性を早期発見・修正するメリットもありますが、更新を怠れば「既知の弱点をさらし続ける」状態になるのは大きなリスクでしょう。

3つ目は、プラグイン・テーマへの依存度の高さです。WordPress公式ディレクトリには59,000以上のプラグインが登録されており、サイトの機能拡張に欠かせない存在となっています。しかし、プラグインの開発品質にはばらつきがあり、更新が止まったプラグインやセキュリティ意識の低い開発者の成果物が脆弱性の温床になるケースが後を絶ちません。

脆弱性はどこに潜んでいるのか——コア・プラグイン・テーマの3層構造

WordPressの脆弱性は大きく「コア(本体)」「プラグイン」「テーマ」の3層に分類されます。WordPress本体は専任のセキュリティチームが継続的に監査・修正を行っているため、コアに起因する重大な脆弱性は年々減少傾向にあります。

問題はプラグインとテーマです。セキュリティ企業Patchstackの調査によると、WordPressの脆弱性の97%はプラグインに起因しており、テーマが残りの大部分を占めています。また、脆弱性の種類としてはクロスサイトスクリプティング(XSS)が53.3%と最多で、次いでSQLインジェクション、クロスサイトリクエストフォージェリ(CSRF)が続きます。

つまり、WordPress本体を最新に保つだけでは不十分です。プラグインとテーマの管理こそがセキュリティ対策の本丸であるという認識を持つことが、すべての出発点になります。

実際に起きたWordPressハッキング被害の事例

実際に起きたWordPressハッキング被害の事例

「うちは小さいサイトだから大丈夫」——そう考えている方にこそ知ってほしい、実際の被害事例を紹介します。ハッキングは決して大手企業だけの問題ではありません。

企業サイトが改ざんされフィッシング詐欺の踏み台に

ある中小企業のコーポレートサイトが、古いプラグインの脆弱性を突かれて改ざんされた事例があります。トップページの見た目は変わらないものの、内部にフィッシング詐欺用のページが大量に生成されていました。Googleの検索結果に詐欺ページがインデックスされた結果、サイト全体が「危険なサイト」として警告表示される事態に発展しています。

この企業は復旧までに約2週間を要し、その間Webからの問い合わせがゼロになるという営業面の被害も受けました。原因となったプラグインは1年以上更新されていないもので、管理画面に更新通知が出ていたにもかかわらず放置されていたことが判明しています。

プラグインの脆弱性から顧客情報が流出したケース

ECサイトを運営していた企業では、フォーム系プラグインの脆弱性を突かれ、データベース内の顧客情報(氏名・メールアドレス・住所)が外部に漏洩しました。2025年にはWordPressの人気プラグイン「Forminator」に未認証の状態から攻撃可能な深刻な脆弱性が発見され、60万以上のサイトに影響が及んだと報告されています。

個人情報の漏洩は法的責任を問われるだけでなく、顧客からの信頼を失う致命的なダメージです。特にECサイトやお問い合わせフォームで個人情報を扱っている場合、セキュリティ対策の優先度は最高レベルに引き上げる必要があるでしょう。

スパムメール送信の踏み台にされIPがブラックリスト入り

サイト自体の改ざんは行われなかったものの、サーバーにバックドア(裏口)を仕掛けられ、大量のスパムメールの送信元として利用された事例もあります。この場合の被害はさらに深刻で、サーバーのIPアドレスがスパム送信元としてブラックリストに登録されてしまいます。

IPがブラックリストに載ると、そのサーバーから送信する正規のメール(問い合わせ通知や注文確認など)もすべて迷惑メール扱いになります。ブラックリストからの解除には申請と時間が必要で、ビジネスへの影響は長期にわたる可能性が高いのが特徴です。

【基本編】今すぐ実施すべきWordPressセキュリティ対策6選

【基本編】今すぐ実施すべきWordPressセキュリティ対策6選

ここからは具体的な対策に入ります。まずは専門知識がなくても実行できる6つの基本対策です。これらを実施するだけでも、WordPress サイトへの攻撃リスクは大幅に低減できます。

対策1:WordPress本体・テーマ・プラグインを常に最新バージョンに保つ

セキュリティ対策として最も効果が高く、かつ最も簡単なのが「すべてを最新の状態に保つ」ことです。Sucuriの調査では、ハッキングされたWordPressサイトの約39.1%が感染時に古いバージョンのソフトウェアを実行していたと報告されています。

WordPress管理画面の「ダッシュボード > 更新」から、本体・プラグイン・テーマの更新状況を一括で確認できます。WordPress本体のマイナーアップデート(セキュリティ修正)は自動適用される設定がデフォルトですが、プラグインとテーマの更新は手動で行う必要があるため、最低でも週1回は管理画面を確認する習慣をつけましょう。

なお、更新前にバックアップを取得しておくことも忘れてはいけません。まれに更新後の互換性問題でサイトが崩れるケースがあるため、復元手段を確保してから更新するのが安全な運用です。

対策2:管理者パスワードを強化し、ユーザー名「admin」を変更する

ブルートフォース攻撃(総当たり攻撃)はWordPressサイトへの攻撃手法として最も一般的なものの1つです。特にユーザー名が「admin」のままになっているサイトは、攻撃者がパスワードの総当たりだけに集中できるため、非常に危険な状態にあります。

パスワードは最低でも12文字以上、英大文字・小文字・数字・記号を組み合わせたものを設定してください。WordPressの管理画面でパスワードを変更する際に表示される「強力」の評価を目安にするとよいでしょう。ユーザー名「admin」はWordPressの管理画面から直接変更できないため、新しい管理者アカウントを作成したうえで旧アカウントを削除する手順が必要です。

対策3:不要なプラグイン・テーマは「無効化」ではなく「削除」する

使っていないプラグインやテーマを「無効化」のまま放置しているサイトは少なくありません。しかし、無効化した状態でもファイルはサーバー上に残っているため、脆弱性を突かれるリスクは変わらないのです。

特に注意が必要なのは、更新が1年以上止まっているプラグインや、WordPress公式ディレクトリから削除されたプラグインでしょう。これらは既知の脆弱性が修正されないまま放置されている可能性が高いため、即座に削除すべきです。テーマについても、使用中のテーマ以外はすべて削除することを推奨します。

WordPressで本当に必要なプラグインの選び方については、WordPressのおすすめプラグイン15選|目的別に厳選&入れすぎ対策も解説の記事でも詳しく解説しています。

対策4:SSL化(HTTPS)を確実に設定する

SSL証明書を導入してサイトをHTTPS化することは、セキュリティとSEOの両面で必須の対策です。HTTPのままでは、ユーザーがフォームに入力した情報(ログイン情報・お問い合わせ内容など)が暗号化されずに通信されるため、盗聴のリスクがあります。

現在、ほとんどのレンタルサーバーが無料のSSL証明書(Let’s Encrypt等)を提供しています。エックスサーバーやConoHa WINGなどの主要サーバーでは、管理画面からワンクリックで設定可能です。SSL化はGoogleのランキング要因の1つでもあるため、まだ対応していない場合は最優先で設定しましょう。

SSLの設定方法やSEOへの影響については、WordPress SEO対策|10の必須設定を徹底解説の記事でも詳しく触れています。

対策5:ログインURLをデフォルトから変更する

WordPressのログインページはデフォルトで/wp-admin/または/wp-login.phpに設定されています。この事実は攻撃者も当然知っており、ボットが自動的にこれらのURLにアクセスしてログイン試行を繰り返す攻撃が日常的に行われています。

ログインURLを独自のものに変更するだけで、この種の自動攻撃の大部分をシャットアウトできます。SiteGuard WP Pluginなどのセキュリティプラグインを使えば、プログラミングの知識がなくてもURLの変更が可能です。変更後のURLは社内で共有し、ブックマークに登録しておくことを忘れないようにしてください。

対策6:定期的なバックアップ体制を構築する

バックアップはセキュリティ対策の「最後の砦」です。どれだけ対策を講じても、ゼロデイ攻撃(修正パッチが公開される前の脆弱性を突く攻撃)のように防ぎきれないケースは存在します。そのときにサイトを迅速に復旧できるかどうかは、バックアップの有無にかかっているのです。

バックアップは「ファイル」と「データベース」の両方を対象とし、最低でも週1回、可能であれば毎日自動で取得する設定にしておくのが理想的でしょう。保存先はサーバーと同一のサーバーではなく、Google DriveやDropboxなどの外部ストレージに保管することで、サーバー自体が被害を受けた場合でも復元が可能になります。

UpdraftPlusやBackWPupなどのバックアッププラグインを使えば、スケジュール設定から外部保存先への自動転送まで無料で設定できます。

【応用編】セキュリティをさらに強化する6つの施策

【応用編】セキュリティをさらに強化する6つの施策

基本対策を完了したら、次はもう一段階踏み込んだ対策に取り組みましょう。ここで紹介する施策は少し技術的な要素を含みますが、手順通りに進めれば初心者でも実装できるものばかりです。

対策7:二段階認証(2FA)を導入してログインを二重防御する

二段階認証は、パスワードに加えてスマートフォンアプリ(Google Authenticator等)で生成されるワンタイムコードの入力を求める仕組みです。仮にパスワードが漏洩しても、攻撃者はスマートフォンを物理的に所持していなければログインできないため、不正アクセスのリスクが劇的に低下します。

「WP 2FA」や「Two Factor Authentication」などの無料プラグインで導入できます。設定にかかる時間は10分程度で、効果は非常に大きいため、コストパフォーマンスの高い対策と言えるでしょう。管理者アカウントだけでなく、編集者や投稿者など全ユーザーに適用することを推奨します。

対策8:WAF(Web Application Firewall)でサーバーレベルの防御を追加する

WAFは、SQLインジェクションやXSSといったWebアプリケーション層への攻撃を自動的に検出・遮断するファイアウォールです。WordPressのプラグインレベルではなく、通信がサーバーに到達する前の段階でフィルタリングするため、WordPress自体の脆弱性を突かれる前にブロックできるのが大きな利点でしょう。

エックスサーバーやConoHa WINGなどの主要レンタルサーバーでは、管理画面からWAFのON/OFFを切り替えるだけで導入できます。プラグインベースのWAFとしてはWordfenceが有名ですが、サーバー側のWAFとプラグインのWAFを併用する場合は競合に注意が必要です。

対策9:ファイルパーミッション(権限設定)を適切に管理する

ファイルパーミッションとは、「誰がそのファイルを読み書き・実行できるか」を制御する仕組みです。WordPressのファイルに不適切なパーミッションが設定されていると、攻撃者がファイルを改ざんしたり、不正なファイルをアップロードしたりできるようになります。

WordPress.orgが推奨するパーミッション設定は以下の通りです。

対象推奨パーミッション
ディレクトリ755
通常ファイル644
wp-config.php400 または 440
.htaccess644

特にwp-config.phpはデータベースの接続情報が記載されている最重要ファイルのため、400(所有者のみ読み取り可)に設定するのが理想です。FTPクライアントやサーバーの管理画面から確認・変更が可能なので、一度確認しておきましょう。

対策10:XML-RPCとREST APIの不要な機能を無効化する

XML-RPCは、外部アプリケーションからWordPressを操作するための仕組みで、xmlrpc.phpというファイルを通じて動作します。しかし現在では、ほとんどの操作がREST APIで代替可能であり、XML-RPCはブルートフォース攻撃やDDoS攻撃の入り口として悪用されるケースが多いのが実態です。

外部アプリからの投稿(Jetpackなど)を利用していない場合は、XML-RPCを無効化することをおすすめします。.htaccessに以下を追記することで無効化できます。

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

REST APIについても、ユーザー情報の列挙(/wp-json/wp/v2/users)を無効化しておくと、ユーザー名の漏洩を防止できます。ただし、REST APIはGutenbergエディタやプラグインが利用しているため、全面的に無効化するとサイトの動作に影響が出る場合がある点には注意してください。

対策11:データベースのテーブル接頭辞をデフォルトから変更する

WordPressをデフォルトのままインストールすると、データベースのテーブル名はすべてwp_で始まります。この事実を攻撃者も把握しているため、SQLインジェクション攻撃の際にテーブル名を推測しやすくなる問題があります。

接頭辞をwp_以外のランダムな文字列(例:xk7f_)に変更するだけで、SQLインジェクション攻撃の成功率を下げる効果が期待できます。新規インストール時であればwp-config.php$table_prefixを変更するだけで済みますが、既存サイトの場合はデータベースのテーブル名とオプション値の変更が必要なため、必ずバックアップを取ってから作業してください。

対策12:ログイン試行回数を制限してブルートフォース攻撃を防ぐ

WordPressのデフォルト設定では、ログインの試行回数に制限がありません。これは攻撃者がパスワードを何万通りも試行できることを意味しており、ブルートフォース攻撃の格好の的になってしまいます。

「5回失敗したら30分間ロック」といったログイン試行制限を設けることで、総当たり攻撃を事実上無力化できます。「Limit Login Attempts Reloaded」プラグインを使えば、ログイン試行回数・ロック時間・通知メールの設定を無料で行えます。SiteGuard WP Pluginにもログイン試行回数制限の機能が含まれているので、すでに導入済みの方は設定を確認しておくとよいでしょう。

WordPressセキュリティプラグインの選び方と比較

WordPressセキュリティプラグインの選び方と比較

セキュリティ対策の多くはプラグインで実現できますが、「どのプラグインを選ぶべきか」で迷う方は多いはずです。ここでは主要な3つのセキュリティプラグインを比較し、選び方のポイントを解説します。

セキュリティプラグインで何ができるのか

セキュリティプラグインの主な機能は、ファイアウォール(WAF)、マルウェアスキャン、ログイン保護、ファイル改ざん検知、ブラックリスト監視の5つに大別されます。プラグインによって得意な領域が異なるため、自サイトに必要な機能を見極めてから選ぶことが重要です。

ただし注意しておきたいのは、セキュリティプラグインは「万能の盾」ではないという点でしょう。プラグインだけに頼るのではなく、ここまで解説してきた基本対策(更新・パスワード強化・バックアップなど)と組み合わせて初めて効果を発揮します。

主要セキュリティプラグイン3選の機能比較

機能Wordfence SecuritySiteGuard WP PluginSucuri Security
ファイアウォール◎(エンドポイントWAF)△(限定的)◎(クラウドWAF)
マルウェアスキャン×
ログインURL変更××
ログイン試行制限
二段階認証◎(有料版)××
日本語対応△(一部)◎(完全日本語)×
料金無料(有料版あり)完全無料無料(有料版あり)
おすすめ用途総合的な防御日本語環境のログイン保護外部WAF+監視

初心者にはSiteGuard WP Pluginが最もおすすめです。日本製で管理画面が完全日本語化されており、ログインURL変更やログイン試行制限など基本的な防御機能を無料で利用できます。より高度な防御が必要な場合は、Wordfenceの併用を検討してもよいでしょう。

プラグインを入れすぎないための考え方

セキュリティ対策に力を入れるあまり、セキュリティプラグインを何個も入れてしまうのは逆効果です。プラグイン同士の競合により誤作動を起こしたり、サイトの表示速度が低下したりするリスクが高まります。セキュリティプラグインは基本的に1つ、多くても2つまでにとどめるのが鉄則でしょう。

そもそもプラグインの数が増えること自体がセキュリティリスクの増大を意味します。セキュリティ・SEO・パフォーマンス改善とプラグインが増えていくと、更新の管理だけでも大きな負担になるため、機能を統合した「オールインワン型プラグイン」の導入を検討する価値は十分にあります。

ハッキングされてしまったら?被害発覚時の緊急対応手順

ハッキングされてしまったら?被害発覚時の緊急対応手順

どれだけ対策を講じていても、100%安全なサイトは存在しません。万が一ハッキングの被害に遭った場合に備えて、復旧の手順を把握しておくことが重要です。

Step 1:サイトをメンテナンスモードにし被害拡大を止める

ハッキングが疑われる場合、最初にすべきことはサイトを一時的に非公開にして被害の拡大を防ぐことです。メンテナンスモードのプラグインを使用するか、.htaccessでアクセスを制限します。

Googleの検索結果にフィッシングページやマルウェアが表示されている場合は、Google Search Consoleから「URL の削除」をリクエストすることで、被害ページの表示を一時的に停止できます。同時に、サーバーのFTPアカウントやデータベースのパスワードも変更しておきましょう。

Step 2:バックアップからの復旧とマルウェアスキャン

改ざん前のバックアップがある場合は、サーバーのデータを完全に初期化してからバックアップで復元するのが最も確実な方法です。部分的なファイル修正だけでは、バックドアが残っている可能性があるため推奨しません。

バックアップがない場合は、WordPress公式サイトからクリーンなWordPressファイルをダウンロードし、手動で復旧する必要があります。Wordfenceなどのマルウェアスキャン機能を活用して、改ざんされたファイルを特定しましょう。

Step 3:パスワード変更・原因調査・再発防止策

サイトを復旧したら、すべてのパスワード(WordPress管理者・FTP・データベース・サーバー管理画面)を変更してください。1つでも古いパスワードが残っていると、同じ経路から再侵入されるリスクがあります。

原因調査では、サーバーのアクセスログを確認し、不正アクセスの経路を特定します。原因となったプラグインやテーマが判明した場合は、削除または最新版への更新を行いましょう。そのうえで、本記事で紹介した12の対策を改めて実施することが再発防止の基本になります。

自力復旧が難しい場合の専門業者への相談

データベースの破損やサーバー全体への感染など、被害が広範囲に及んでいる場合は、WordPress専門の復旧業者に相談するのも選択肢の1つです。軽度の改ざんであれば数時間で復旧できるケースもありますが、大規模な被害では調査を含めて数週間かかることもあります。

復旧費用はケースによって異なりますが、相場は5万〜30万円程度。費用は決して安くありませんが、自力での不完全な復旧でバックドアが残るリスクを考えると、専門家に任せたほうが結果的にコストを抑えられる場合も少なくないでしょう。

セキュリティ対策の手間を減らすオールインワンという選択肢

セキュリティ対策の手間を減らすオールインワンという選択肢

ここまで12の対策を紹介してきましたが、「プラグインを何個も入れて管理するのが大変」と感じた方もいるのではないでしょうか。実は、プラグインの増加自体がセキュリティリスクを高めるという皮肉な構造があるのです。

複数プラグインの管理がセキュリティリスクになる理由

セキュリティ対策にSiteGuard、バックアップにUpdraftPlus、画像最適化にEWWW、SEO対策にYoast SEO……と機能ごとにプラグインを追加していくと、あっという間に10個、20個と膨れ上がります。プラグインが1つ増えるごとに、脆弱性の「攻撃対象面(アタックサーフェス)」が広がるのは前述の通りです。

さらに、プラグインの数が多いほど更新管理の手間が増え、「つい放置してしまう」状態に陥りやすくなります。更新忘れのプラグインが1つでもあれば、そこが侵入口になりかねません。

Eio WP Expansionのセキュリティ機能と導入メリット

この課題に対する1つの解決策が、複数の機能を1つのプラグインに統合するオールインワンの考え方です。

私たちが開発・販売しているEio WP Expansionは、セキュリティ強化・管理画面カスタマイズ・画像最適化など50以上の機能を1つのプラグインに統合したWordPress用の国産プラグインです。5〜6個のプラグインを1つに集約できるため、プラグインの管理負担とセキュリティリスクを同時に軽減できます。

管理画面は100%日本語対応で、¥16,500の買い切り型(年額サブスク不要)。マーケティングとSEOの実務経験を持つ開発チームが設計しているため、セキュリティだけでなくサイト運営全体の効率化に貢献します。「プラグインの管理に疲れた」「何を入れるべきかわからない」という方は、ぜひ一度ご覧ください。

よくある質問

WordPressは本当にセキュリティが弱いのですか?

WordPress本体のセキュリティは専任チームが継続的に監査しており、コア自体は堅牢です。リスクの大半はプラグインの脆弱性や更新の放置、弱いパスワードといった運用面の問題に起因しています。正しく管理・運用すれば、安全に使い続けられるCMSだと言えるでしょう。

無料のセキュリティプラグインだけで十分ですか?

基本的なログイン保護やファイル改ざん検知は無料プラグインでもカバー可能です。ただし、リアルタイムの脅威データベースやIP国別ブロックなどの高度な機能は有料版が優位になります。まずは無料版で基本対策を固め、必要に応じて有料版へのアップグレードを検討するのが現実的な進め方です。

セキュリティ対策でサイトの表示速度は遅くなりますか?

プラグインの入れすぎは速度低下の原因になり得ます。セキュリティプラグインは常時バックグラウンドで動作するため、複数導入すると処理が重複してパフォーマンスに影響を与えるケースがあります。機能を統合したオールインワン型のプラグインを選ぶことで、影響を最小限に抑えることが可能です。

WordPressがハッキングされたかどうか、どうやって確認できますか?

身に覚えのない別サイトへのリダイレクト、検索結果での異常な表示(見知らぬ外国語のタイトルなど)、管理画面にログインできないといった症状が典型的なサインです。Google Search Consoleの「セキュリティの問題」レポートに警告が表示される場合もあるため、定期的にチェックしておくことを推奨します。

小規模サイトでもセキュリティ対策は必要ですか?

はい、必要です。WordPress への攻撃はボットによる自動スキャンが大半で、サイト規模に関係なく脆弱なサイトを片端から攻撃します。むしろ、対策が手薄な小規模サイトほど侵入されやすく、スパムメール送信の踏み台やフィッシング詐欺の温床にされるリスクが高いのが現実です。

WordPressセキュリティは「やるかやらないか」で差がつく

WordPressセキュリティは「やるかやらないか」で差がつく

WordPressのセキュリティ対策は、特別な技術力がなくても実行できるものがほとんどです。本記事で紹介した12の対策を改めて整理すると、以下の通りになります。

【基本編】

  1. 本体・テーマ・プラグインの最新版への更新
  2. パスワード強化とユーザー名「admin」の変更
  3. 不要なプラグイン・テーマの削除
  4. SSL化(HTTPS)の設定
  5. ログインURLの変更
  6. 定期的なバックアップ

【応用編】

  1. 二段階認証(2FA)の導入
  2. WAFの導入
  3. ファイルパーミッションの適正化
  4. XML-RPC・REST APIの不要機能の無効化
  5. データベーステーブル接頭辞の変更
  6. ログイン試行回数の制限

基本編の6つは、今日中にすべて実行できる対策ばかりです。「あとでやろう」と思っている間にも、世界中のボットがあなたのサイトをスキャンしていると考えてください。被害を受けてからの復旧コスト(時間・費用・信頼の損失)に比べれば、事前の対策にかかる手間は微々たるものでしょう。

まずは基本編の6つから着手し、余裕ができたら応用編へ進めてみてください。プラグインの管理負担が気になる場合は、Eio WP Expansionのようなオールインワン型プラグインの活用もご検討ください。

自社サイトのWordPressセキュリティについて不安がある方は、お気軽にご相談ください。