SHARE:

WordPressが急に403 Forbiddenになる6つの原因と対処法(2026年7月wp2shell脆弱性で実際に起きた実例あり)

WordPressが急に403 Forbiddenになる6つの原因と対処法(2026年7月wp2shell脆弱性で実際に起きた実例あり)

昨日まで普通に見られていたWordPressサイトが、ある日突然「403 Forbidden アクセスしようとしたページは表示できませんでした。」と表示されてしまった――。サイト運営者にとって、これほど心臓に悪い瞬間はありません。

実は当サイトの運営者も、2026年7月に運営する2つのサイトが同時に403エラーとなり、アクセスが完全にゼロになるトラブルを経験しました。原因は、2026年7月に発覚したWordPress本体の緊急脆弱性「wp2shell」に対するサーバー会社側のセキュリティ強化と、高速化のために導入していたCloudflareの組み合わせという、少し意外なものでした。

この記事では、WordPressサイトが「急に」403エラーになる場合に考えられる原因を網羅的に解説したうえで、実際に体験したトラブルの経緯と解決方法を実例として紹介します。今まさに403エラーでお困りの方は、対処フローの章から読んでいただいても構いません。

403 Forbiddenエラーとは?

WordPressが急に403 Forbiddenになる6つの原因と対処法(2026年7月wp2shell脆弱性で実際に起きた実例あり)

403 Forbiddenは、「サーバーはリクエストを受け取ったが、アクセスを許可しなかった」ことを意味するHTTPステータスコードです。サーバーが落ちている(500系エラー)わけでも、ページが存在しない(404エラー)わけでもなく、サーバーが意図的にアクセスを拒否している状態を指します。

ここが重要なポイントで、「拒否している」ということは、サーバー側の何らかの設定・制限・防御機能が働いているということです。つまり原因は、大きく分けて「自分(サイト側)の設定の問題」か「サーバーやセキュリティ機能による遮断」のどちらかに絞られます。

特に「昨日まで正常だったのに急に403になった」場合は、自分で設定を触っていない限り、サーバー側で何かが変わった可能性が高いと考えられます。

サイトが急に403エラーになる6つの原因

急な403エラーの原因として代表的なものを、深刻度の高いものから順に見ていきます。

原因1 サイト改ざん・マルウェア感染によるサーバー側の強制制限

最も深刻なケースです。WordPressの脆弱性やプラグインの欠陥を突かれてサイトが改ざんされると、ファイルが書き換えられたり壊されたりして、サイト自体が正常に動かなくなることがあります。さらに、レンタルサーバー会社はサイトの改ざんやマルウェア設置を検知すると、被害の拡大を防ぐためにアカウント単位・ドメイン単位で強制的にアクセス制限をかけることがあります。この場合、サイト全体が403エラーになります。

このケースの特徴は、サーバー会社から「不正なファイルを検知したためアクセスを制限しました」といった趣旨の個別メールが届いていることです。403エラーが出たら、まずサーバー会社からのメールを確認しましょう。

原因2 乗っ取りによるスパムメール大量送信・不正リダイレクト

サイトが乗っ取られると、攻撃者はそのサーバーを踏み台にしてスパムメールを大量送信したり、訪問者を悪質なサイトへ強制的にリダイレクトさせる仕掛けを埋め込んだりします。サーバー会社はこうした異常な挙動(短時間での大量メール送信、不審な外部への大量リダイレクトなど)を監視しており、検知すると被害者を増やさないためにサイトを強制停止・アクセス制限します。

この場合も結果として403エラーになりますが、根本原因は乗っ取りなので、制限を解除してもらう前に改ざんファイルの除去・パスワード変更・脆弱性の修正といった復旧作業が必要になります。自力での対応が難しい場合は、サーバー会社のサポートや復旧専門業者に相談することをおすすめします。

原因3 CloudflareなどのCDN経由の正常なアクセスまで遮断された

今回、当サイト運営者が実際に遭遇したのがこのケースです。詳しくは次章の実体験で解説しますが、仕組みを簡単に説明します。

Cloudflareのような CDN(コンテンツ配信ネットワーク)を導入すると、訪問者のアクセスはすべてCloudflareのサーバーを経由してレンタルサーバーに届きます。つまりレンタルサーバーから見ると、訪問者が誰であれ、アクセス元はすべて「Cloudflareの(国外)IPアドレス」になります。

ここでサーバー会社がセキュリティ強化を行い、攻撃を送ってくるIPアドレスや国外IPからのアクセスを遮断すると、CloudflareのIPがまとめてブロック対象になってしまうことがあります。CloudflareのIPが遮断されるということは、そこを経由してくる正常な訪問者のアクセスまで全部403になるということです。不正なことは何もしていないのに、サイト全体が突然表示されなくなります。

原因4 WordPress本体・プラグインのアップデートによる不具合

WordPress本体やセキュリティ系プラグインのアップデート(自動更新を含む)をきっかけに403エラーが発生することもあります。よくあるのは次のようなパターンです。

  • アップデート時に.htaccessファイルが書き換えられ、記述エラーや意図しないアクセス制限が発生した
  • セキュリティプラグイン(SiteGuard、Wordfenceなど)が更新後に誤検知を起こし、正常なアクセスをブロックするようになった
  • アップデートが途中で失敗し、ファイルやパーミッションが不正な状態になった

「アップデートした直後から」という時系列の一致があれば、このケースを疑いましょう。セキュリティプラグインを一時的に無効化する(FTPやファイルマネージャーでプラグインフォルダの名前を変える)ことで切り分けができます。

原因5 WAF・海外IPアクセス制限などサーバーのセキュリティ機能

エックスサーバーをはじめとする国内レンタルサーバーには、WAF(Webアプリケーションファイアウォール)や海外IPからのアクセス制限といったセキュリティ機能が用意されています。これらは通常はサイトを守ってくれる心強い機能ですが、まれに正常な操作を攻撃と誤検知して403を返すことがあります。

「記事の保存だけ403になる」「特定のページだけ403になる」といった部分的な403は、WAFの誤検知が典型です。サーバーパネルのWAF設定を一時的にオフにして再現するか確認すれば切り分けできます(確認後は必ずオンに戻しましょう)。

原因6 パーミッション・.htaccessの設定ミス

ファイルやフォルダのパーミッション(権限設定)を誤って700や000などに変更してしまった場合や、.htaccessに誤った記述をしてしまった場合も403エラーになります。心当たりのある操作(FTPソフトでの作業、プラグインでの一括変更など)をした直後であれば、このケースです。フォルダは755、ファイルは644が基本です。

【実体験】WordPress緊急脆弱性「wp2shell」の余波で2サイトが同時に403になった話

ここからは、2026年7月に当サイト運営者が実際に経験したトラブルを時系列で紹介します。同じ状況の方の参考になれば幸いです。

背景 WordPress本体の緊急脆弱性「wp2shell」とは

2026年7月中旬、WordPress本体に「wp2shell」(CVE-2026-63030)と呼ばれる重大な脆弱性が発覚しました。REST APIのバッチ機能(/wp-json/batch/v1)を起点に、ログイン不要(認証不要)でサイトを乗っ取れてしまうという極めて深刻なもので、WordPress運営元が異例の強制アップデートを実施したほか、世界中でこの脆弱性を狙った攻撃・スキャンが大量に発生しました。

影響を受けるバージョンと修正版は次のとおりです。

影響を受けるバージョン修正版(これ以降に更新)
6.8.0〜6.8.56.8.6以降
6.9.0〜6.9.46.9.5以降
7.0.0〜7.0.17.0.2以降

これを受けてエックスサーバーは2026年7月19日早朝、サーバー側の暫定対策として当該エンドポイントへの通信遮断を実施し、利用者に注意喚起のメールを配信しました。攻撃の流行に伴い、サーバー側のセキュリティ全体が厳しくなったタイミングだったといえます。

症状 2つのサイトが同時に403、アクセス数が完全にゼロに

当時の状況を整理すると次のとおりです。

  • エックスサーバーで運用する2つのWordPressサイトに、高速化のためCloudflareを導入して快調に運用していた
  • ある日突然、2つのサイトがどちらも「403 Forbidden アクセスしようとしたページは表示できませんでした。」と表示され、閲覧不能に
  • 自分の環境だけでなく、Googleアナリティクスを確認するとすべてのアクセスがゼロ。つまり全世界の訪問者が遮断されている状態
  • 表示されていたエラーページはエックスサーバーの標準403ページ(青い背景のもの)。つまり遮断していたのはCloudflareではなくエックスサーバー側

「Cloudflareを使っている2サイトだけが」「同時に」「全アクセス」ダウンした――この共通点が、原因究明の大きなヒントになりました。

原因 セキュリティ強化でCloudflareのIPが遮断対象に

前述のとおり、Cloudflare経由のサイトでは、すべてのアクセスがCloudflareの国外IPアドレスからエックスサーバーに届きます。そしてwp2shellの流行期には、攻撃者による大量のスキャン・攻撃トラフィックも同じCloudflareのIPを通ってサーバーに届いていたはずです。

エックスサーバー側で強化された不正アクセス対策が「攻撃を送ってくるIP」としてCloudflareのIP群を遮断した結果、そこを経由する正常なアクセスまで全部403になった――というのが今回の原因と考えられます。サイト自体は改ざんもされておらず、まったくの無実でした。

対処 ネームサーバーを戻したら約30分で復旧

行った対処はシンプルで、ドメインのネームサーバーをCloudflareからエックスサーバーのネームサーバーに戻し、Cloudflareを経由しない元の構成に戻しただけです。DNSの切り替わりを待つこと約30分、2サイトとも表示が回復し、エラーは消えました。

ネームサーバーを戻しただけで直ったということは、逆説的に「サーバーやサイト自体には問題がなく、Cloudflare経由という経路だけが遮断されていた」ことの証明にもなります。なお、DNSの切り替わりは環境によって数時間〜48時間程度かかる場合もあるため、30分で回復したのはやや早いケースだと思ってください。

復旧後にやるべきこととして、WordPress本体を修正版(前掲の表を参照)へ更新し、実際のバージョン番号を管理画面で目視確認しました。また、Cloudflareをすぐに再開すると同じ403が再発するおそれがあるため、再開はサーバー会社のサポートに「CloudflareのIPが遮断対象になっていないか」を確認してからにするのが安全です。

急に403エラーが出たときの対処フロー

ここまでの内容を踏まえて、急な403エラーに遭遇したときの対処手順をフローとしてまとめます。

STEP1 エラーページの「見た目」で遮断場所を特定する

まず、表示されている403ページがどこのものかを確認します。CloudflareのロゴやRay IDが表示されていればCloudflare側での遮断、レンタルサーバーの標準エラーページ(エックスサーバーなら青背景の403ページ)ならサーバー側での遮断です。スクリーンショットを撮っておくと、後でサポートに問い合わせる際にも役立ちます。

STEP2 サーバー会社からのメールと管理画面の通知を確認する

改ざん検知や不正利用による強制制限の場合、サーバー会社から個別の通知メールが届いているはずです。全員向けの注意喚起メールと、自分のアカウント宛の個別通知は別物なので、両方確認しましょう。サーバーパネルにログインして、制限に関する警告が出ていないかも確認します。個別の制限通知があった場合は、乗っ取り・改ざんの可能性が高いため、サポートの指示に従って復旧作業を進めてください。

STEP3 CloudflareなどのCDN利用中なら、一時的に経由を外す

CDNを利用している場合は、ネームサーバーをレンタルサーバー側に戻す(またはCloudflareのプロキシをDNSのみモードにする)ことで、CDN経由が原因かどうかを切り分けられます。戻して復旧すれば、原因はCDN経由アクセスの遮断で確定です。切り替え後はSSL証明書(レンタルサーバー側の無料SSL)が有効かも確認しましょう。

STEP4 WordPress本体・プラグインを最新版に更新する

管理画面に入れるようになったら、WordPress本体・プラグイン・テーマを最新版に更新します。特に重大な脆弱性が公表されている時期は、「自動更新されているはず」で済ませず、必ずバージョン番号を目視確認してください。更新をきっかけに403になったと思われる場合は、直前に更新したプラグインを一時無効化して切り分けます。

ログインできない場合、ワードプレス のファイルを操作できるぐらいの知見があれば自分で原因を突き止めるためにファイルサーバーに入ったり FTP で接続していじってみたりしても良いと思いますが、経験がない人は余計なことをしないでまずはサーバーのサポートに連絡をして解決方法が糸口を教えてもらいそのやり方が自分ではできない場合には専門業者にお願いした方が良いです。

私のもとにもこの段階でご連絡いただければスムーズに解決できることが多いですが、自分でファイルの中身をぐちゃぐちゃにしてしまってバックアップもないという状態だと、余計な変更をしてしまったところを私の方で探して直さないといけないので何十倍もやることが増えて費用も時間も何倍もかかる可能性があります。

ぐちゃぐちゃになる前にご相談ください
お問い合わせはこちら

STEP5 解決しない場合はサーバーのサポートへ時系列を添えて問い合わせる

ここまでで解決しない場合は、サーバー会社のサポートに問い合わせます。その際、「いつから」「どのサイトが」「どんなエラーページが」「何を試したか」を時系列で伝えると、調査が格段に早くなります。今回のケースでいえば「7月19日のセキュリティ対策以降、Cloudflare経由の2サイトが全アクセス403になった。ネームサーバーは戻し済み」といった具合です。

再発防止のためにやっておきたいこと

  • WordPress本体・プラグイン・テーマを常に最新に保つ
    今回のwp2shellのように、認証不要で乗っ取られる脆弱性は「更新の先延ばし」が命取りになります。
  • サーバー会社からのメールを見逃さない
    緊急対応の告知メールは、トラブルの予兆を知る最重要の情報源です。
  • バックアップを自動化しておく
    改ざん被害からの復旧はバックアップの有無で難易度が激変します。サーバー標準の自動バックアップに加え、プラグイン等での二重化がおすすめです。
  • CDN導入時は「経路が変わる」ことを理解しておく
    Cloudflare導入は高速化に有効ですが、サーバーから見たアクセス元がすべてCloudflareのIPになるという構造は、今回のようなトラブルの火種にもなります。導入時はサーバー側の海外IP制限・WAFとの相性を確認しておきましょう。
  • アナリティクスの急変に気づける体制を作る
    アクセスゼロにいち早く気づけたのは、アナリティクスを日常的に見ていたからでした。異常検知の通知設定も有効です。

まとめ

WordPressサイトが急に403 Forbiddenになる原因は、深刻なもの(改ざん・乗っ取りによる強制制限)から、今回のような「無実なのに巻き込まれた」ケース(CDN経由アクセスの遮断)、アップデートや設定に起因するものまでさまざまです。

共通する初動は、

(1)エラーページの見た目で遮断場所を特定する、
(2)サーバー会社からの通知を確認する、
(3)直前に変わったこと(セキュリティ強化・アップデート・設定変更)と突き合わせる、の3つです。

特にCloudflareなどのCDNを使っている方は、「全アクセスが同時にゼロになる403」はCDN経由の遮断を真っ先に疑ってみてください。ネームサーバーを戻すだけで復旧するなら、サイト自体は無事です。

そして何より、この記事を読んだ今、お使いのWordPressのバージョンが修正版になっているか、ぜひ一度確認してみてください。

ぐちゃぐちゃになる前にご相談ください
お問い合わせはこちら

アドセンスの審査が心配な方、落ちてしまう方へ。30サイト以上アドセンス審査で合格している筆者が、Googleアドセンスの審査について、公式ポリシーをベースにした対策とチェックリスト33項目をnoteにまとめています。
Googleアドセンス審査に通るための本当のことを話します(note)

WordPressの設定・サイト診断のご相談はこちらから。
ワードプレスプラクティス(coconala)

WordPressのトラブル対応について、原因別の対処手順をまとめたマニュアルをnoteにまとめています。
WordPressが突然表示されなくなった…原因別・完全対処マニュアル(note)

自分での対応が難しい場合は、ココナラのサポートサービスもご利用いただけます。
ワードプレスプラクティス(coconala)

この記事が気に入ったら
フォローしよう
最新情報をお届けします
あなたへのおすすめ