SHARE:

WordPressが急に403 Forbiddenになる7つの原因と対処法【2サイト同時ダウン→データ復旧の実例あり】

WordPressが急に403 Forbiddenになる7つの原因と対処法【2サイト同時ダウン→データ復旧の実例あり】

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

実は先日、Webサイト制作を行っている私のもとに「2つのサイトが同時に403エラーになり、アクセスが完全にゼロになってしまった」というご相談がありました。当初は、2026年7月に発覚したWordPress本体の緊急脆弱性「wp2shell」に伴うサーバー会社側のセキュリティ強化が原因かと思われたのですが、調べを進めると真相はまったく別のところにあり、さらに途中では「サイトのデータが過去の状態に巻き戻る」という背筋の凍る展開まで待っていました。

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

目次
目次を全て見る
  1. 403 Forbiddenエラーとは?
  2. サイトが急に403エラーになる7つの原因
    1. 原因1 サイト改ざん・マルウェア感染によるサーバー側の強制制限
    2. 原因2 乗っ取りによるスパムメール大量送信・不正リダイレクト
    3. 原因3 CloudflareなどのCDN経由の正常なアクセスまで遮断された
    4. 原因4 WordPress本体・プラグインのアップデートによる不具合
    5. 原因5 WAF・海外IPアクセス制限などサーバーのセキュリティ機能
    6. 原因6 パーミッション・.htaccessの設定ミス
    7. 原因7 サーバー移行後、DNSが旧サーバーを向いたままだった
  3. 【相談事例】2サイト同時に403→データが過去に巻き戻る→無事復旧までの一部始終
    1. 背景 WordPress本体の緊急脆弱性「wp2shell」の混乱期だった
    2. 症状 2つのサイトが同時に403、アクセス数が完全にゼロに
    3. 最初の仮説 ネームサーバーを戻したら「復旧したように見えた」
    4. 異変 サイトが「過去の状態」に巻き戻っていた
    5. 真の原因 「新サーバー簡単移行」とDNS書き換え漏れの合わせ技
    6. 解決 サポートへの問い合わせで「旧サーバーにデータが残存」と判明
  4. 急に403エラーが出たときの対処フロー
    1. STEP1 エラーページの「見た目」で遮断場所を特定する
    2. STEP2 サーバー会社からのメールと管理画面の通知を確認する
    3. STEP3 CloudflareなどのCDN利用中なら、一時的に経由を外す
    4. STEP4 WordPress本体・プラグインを最新版に更新する
    5. STEP5 解決しない場合はサーバーのサポートへ時系列を添えて問い合わせる
  5. 再発防止のためにやっておきたいこと
  6. まとめ

403 Forbiddenエラーとは?

WordPressが急に403 Forbiddenになる7つの原因と対処法(2サイト同時ダウンからデータ復旧までの実例あり)

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

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

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

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

急な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が基本です。

原因7 サーバー移行後、DNSが旧サーバーを向いたままだった

意外と見落とされがちなのがこのケースで、次章で紹介する相談事例の真の原因もこれでした。レンタルサーバーの移行機能(エックスサーバーの「新サーバー簡単移行」など)を使ってサーバーを切り替えたのに、ドメインのDNS(Aレコード)が旧サーバーのIPアドレスを指したままになっていると、サイトは旧サーバーで動き続けます。特にCloudflareなどの外部DNSを利用している場合、サーバー会社側で切り替え操作をしてもDNSは自動では書き換わらないため、この状態に気づきにくいのです。

旧サーバーには利用期限があるため、期限が切れた瞬間に旧サーバーへのアクセスは遮断され、ある日突然、全アクセスが403になります。それまで何ヶ月も普通に使えてしまうことがあるのが、このケースの怖いところです。

【相談事例】2サイト同時に403→データが過去に巻き戻る→無事復旧までの一部始終

ここからは、実際にご相談いただいた事例を、特定できない形で時系列に沿って紹介します。原因の「思い込み」がいかに危ないか、そして「データが消えたように見えても諦めてはいけない」ことがよくわかる事例です。

背景 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を経由しない構成に変更。DNSの切り替わりを待つこと約30分、2サイトとも表示が回復し、エラーは消えました。

この時点では「仮説どおり、Cloudflare経由が遮断されていたのだろう」と誰もが思っていました。ところが、本当の問題はここからだったのです。

異変 サイトが「過去の状態」に巻き戻っていた

復旧したはずのサイトをよく見ると、様子がおかしいことに気づきます。最近書いたはずの記事が消えている。WordPress本体のバージョンが古い。プラグインには大量の更新通知。――サイト全体が、数週間前の状態に丸ごと巻き戻っていたのです。

「データが消えてしまったのか」と青ざめる場面ですが、ここで冷静になるべきポイントがあります。ネームサーバーの変更は「どのサーバーに案内するか」を切り替えるだけで、サーバー上のデータを巻き戻したり消したりする力はありません。バージョンやプラグインまで古いということは、データが消えたのではなく、「別の(古い)WordPress」に接続先が切り替わったと考えるのが自然です。つまり、どこかに2つのコピーが存在しているはずなのです。

真の原因 「新サーバー簡単移行」とDNS書き換え漏れの合わせ技

運営者に確認すると、少し前にエックスサーバーの「新サーバー簡単移行」を利用してサーバーを移行していたことがわかりました。これですべての辻褄が合います。時系列で整理すると、こういうことでした。

  • 「新サーバー簡単移行」で旧サーバーから新サーバーへデータをコピーし、切り替え操作も実施した
  • しかしDNSはCloudflareで管理しており、Aレコードは旧サーバーのIPを指したままだった。そのため実際の運用(記事の投稿・更新)は、切り替え後も旧サーバーで続いていた
  • 新しい記事のデータは旧サーバーにだけ保存され、新サーバーには「移行時点のスナップショット」だけが残った
  • 旧サーバーの利用期限が切れた瞬間、旧サーバーへのアクセスが遮断され、Cloudflare経由の全アクセスが403に(=最初のトラブルの正体)
  • ネームサーバーをエックスサーバーに戻したことで新サーバーに接続され、「移行時点の古いサイト」が表示された(=巻き戻りの正体)

wp2shellのセキュリティ強化はまったくの無関係で、タイミングが重なっただけの「偶然の一致」でした。思い込みで動いていたら、真の原因には永遠にたどり着けなかったかもしれません。

解決 サポートへの問い合わせで「旧サーバーにデータが残存」と判明

最新データは利用期限の切れた旧サーバーの中。頼みの綱はサーバー会社です。エックスサーバーのサポートに「新サーバー簡単移行を利用したが、外部DNSが旧サーバーを参照し続けていたため、最新データが旧サーバー側にのみ存在する。旧サーバー上のWeb領域とMySQLデータベースの提供・復旧が可能か確認してほしい」と、経緯を時系列で添えて問い合わせました。

結果は――「移行元サーバーにデータが残存しておりました」。サーバー会社側で移行元データへアクセスできるよう調整してもらえることになり、最新データのバックアップを取得して無事復旧できました。利用期限が切れて画面上はアクセスできなくなっていても、サーバー会社側にデータが残っているケースはあるのです。夜遅い時間の問い合わせにも迅速・丁寧に対応いただけたことも付け加えておきます。

この事例のポイントは3つあります。(1)「復旧したように見える」状態を鵜呑みにせず異変に気づけたこと、(2)「データが消えた」と早合点してサイトの再構築や上書き操作をしなかったこと、(3)事実関係を時系列で整理してサーバー会社に問い合わせたこと。特に(2)は重要で、慌てて古いサイトに記事を投稿したり移行のデータコピーをやり直したりしていたら、本当にデータを失っていた可能性があります。

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

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

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

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

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

改ざん検知や不正利用による強制制限の場合、サーバー会社から個別の通知メールが届いているはずです。全員向けの注意喚起メールと、自分のアカウント宛の個別通知は別物なので、両方確認しましょう。サーバーパネルにログインして、制限に関する警告が出ていないかも確認します。あわせて、サーバー移行・プラン変更・ドメイン設定変更など「過去に行った操作」も思い出してください。今回の事例のように、数週間〜数ヶ月前の操作が時限爆弾になっていることがあります。

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

CDNを利用している場合は、ネームサーバーをレンタルサーバー側に戻す(またはCloudflareのプロキシをDNSのみモードにする)ことで、CDN経由が原因かどうかを切り分けられます。切り替え後はSSL証明書(レンタルサーバー側の無料SSL)が有効かも確認しましょう。ただし今回の事例のとおり、「表示が戻った=解決」とは限りません。記事の欠落やバージョンの巻き戻りがないか、必ず中身まで確認してください。もし巻き戻っていたら、それは「別のコピーに繋がった」サインです。

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

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

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

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

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

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

ここまでで解決しない場合は、サーバー会社のサポートに問い合わせます。その際、「いつから」「どのサイトが」「どんなエラーページが」「何を試したか」「過去にどんな操作をしたか」を時系列で伝えると、調査が格段に早くなります。今回の事例では、この整理された問い合わせが「旧サーバーにデータが残っている」という回答を引き出し、復旧の決め手になりました。

そして覚えておいてほしいのは、データが消えた・巻き戻ったように見えても、サーバー会社側にデータやバックアップが残っていることがあるということです。諦めてサイトを作り直したり、古いデータの上に新しい変更を重ねたりする前に、まず問い合わせてください。上書きしてしまうと、残っていたはずのデータまで本当に失われかねません。

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

  • WordPress本体・プラグイン・テーマを常に最新に保つ
    wp2shellのように、認証不要で乗っ取られる脆弱性は「更新の先延ばし」が命取りになります。
  • サーバー移行をしたら、DNSの向き先を必ず確認する
    今回の事例の根本原因はここでした。特にCloudflareなど外部DNSを使っている場合、Aレコードは自動では書き換わりません。移行完了後に「どのIPを指しているか」を必ず確認し、旧サーバーのIPが残っていたら書き換えましょう。
  • サーバー会社からのメールを見逃さない
    緊急対応の告知や移行・利用期限に関するメールは、トラブルの予兆を知る最重要の情報源です。
  • バックアップを自動化しておく
    トラブルからの復旧はバックアップの有無で難易度が激変します。サーバー標準の自動バックアップに加え、プラグイン等での二重化がおすすめです。
  • CDN導入時は「経路が変わる」ことを理解しておく
    Cloudflare導入は高速化に有効ですが、DNSの管理がサーバー会社の外に出るということでもあります。サーバー側の設定変更や移行がDNSに自動反映されなくなる点は、今回のようなトラブルの火種になります。
  • アナリティクスの急変に気づける体制を作る
    アクセスゼロにいち早く気づけたのは、アナリティクスを日常的に見ていたからでした。異常検知の通知設定も有効です。

まとめ

WordPressサイトが急に403 Forbiddenになる原因は、深刻なもの(改ざん・乗っ取りによる強制制限)から、セキュリティ機能の巻き込まれ遮断、アップデートや設定に起因するもの、そして今回の事例のような「過去のサーバー移行が時限爆弾になっていた」ケースまでさまざまです。

共通する初動は、

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

そして、表示が戻っても中身まで無事かを必ず確認すること。データが消えた・巻き戻ったように見えても、慌てて上書きせず、まずサーバー会社に問い合わせること。今回の事例では、この2つが最新データの救出につながりました。

最後に、この記事を読んだ今、お使いのWordPressのバージョンが修正版になっているか、そして過去にサーバー移行をした方はDNSの向き先が正しいか、ぜひ一度確認してみてください。

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

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

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

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

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

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