WordPressで「403 Forbidden」「アクセスが拒否されました」「このページへのアクセス権限がありません」などと表示された場合、Webサーバーはリクエストを受け取っているものの、何らかの理由でアクセスを拒否しています。
403エラーはWordPress本体だけが原因とは限りません。 WAF、セキュリティプラグイン、IP制限、.htaccess、ファイル権限、レンタルサーバー側の保護機能など、複数の場所で発生します。
そのため、いきなりファイル権限を変更したり、セキュリティ機能をすべて無効化したりせず、「どのURLで」「いつから」「誰の環境だけで」403が出るかを整理してから対処します。
30秒でわかる結論
- 403は、サーバーがリクエストを理解したうえでアクセスを拒否している状態
- WordPressではWAF・セキュリティプラグイン・IP制限・.htaccess・ファイル権限などが主な確認項目
- 「サイト全体」「管理画面だけ」「特定ページだけ」で原因候補が変わる
- 直前にプラグイン追加、WAF変更、.htaccess編集、サーバー移転をしていないか確認する
- ファイル権限は環境依存なので、むやみに777へ変更しない
- WAFが原因なら、機能を永久に切るより誤検知ルールや対象処理を確認する
- .htaccessを触る前に必ずバックアップする
- 自分だけ403ならIP制限・VPN・セキュリティ判定も疑う
- 原因不明ならアクセスログ・エラーログ・WAFログを確認し、サーバー会社へ発生時刻とURLを伝える
WordPressの403エラーとは?
HTTP 403 Forbiddenは、Webサーバーがリクエスト内容を理解したものの、そのリクエストを処理しないと判断したときに返すHTTPステータスコードです。
403を一言でいうと
「ページがない」のではなく、「アクセスを許可しない」状態です。
404 Not Foundは「対象が見つからない」、500 Internal Server Errorは「サーバー内部で処理に失敗した」という意味なので、403とは確認する場所が異なります。
| コード | 大まかな意味 |
|---|---|
| 401 | 認証が必要・認証できていない |
| 403 | アクセスが拒否されている |
| 404 | 対象が見つからない |
| 500 | サーバー内部で処理に失敗 |
403は「WordPress故障」とは限らない
403はWordPressのPHP処理まで到達する前に、Webサーバー・WAF・CDNなどで拒否されることもあります。 WordPress本体だけを修復しようとせず、どの層で拒否されているかを切り分けることが重要です。
最初に「どこで403が出るか」を確認する
403の原因を絞るには、最初に発生範囲を確認します。
| 症状 | 優先して確認する場所 |
|---|---|
| サイト全体が403 | .htaccess、権限、サーバー設定、WAF |
| 管理画面だけ403 | セキュリティプラグイン、IP制限、WAF |
| 特定ページだけ403 | WAF誤検知、URLルール、個別制限 |
| 画像だけ403 | ホットリンク防止、権限、CDN |
| 自分だけ403 | IP制限、VPN、アクセス回数制限 |
| 更新・保存時だけ403 | WAF、ModSecurity等のセキュリティ判定 |
最初にメモする5項目
- 403が出るURL
- 発生した日時
- 直前に変更した設定
- 全員で起きるか、自分だけか
- 管理画面へログインできるか
原因1.WAFが正常な操作を拒否している
WAF(Web Application Firewall)は、不正なHTTPリクエストを検知してWebサイトを守る仕組みです。 レンタルサーバー側で標準提供されていることもあります。
WordPressの投稿保存、テーマ編集、フォーム送信などに含まれる文字列が攻撃パターンに似ていると、正常な操作でも誤検知され403になる場合があります。
WAFを疑いやすい状況
- 投稿本文を保存した瞬間だけ403になる
- 特定のHTMLやコードを入力すると403になる
- お問い合わせフォーム送信時だけ403になる
- サーバーのWAFを有効化した直後から発生した
確認方法
レンタルサーバー管理画面にWAFログや検知ログがあれば、403が出た時刻と照合します。
対処方法
誤検知が確認できた場合は、サーバー会社の案内に従って対象ルールの調整や除外設定を検討します。
WAFを永久にOFFにしない
403を直すためだけにWAF全体を恒久的に無効化すると、防御機能まで失います。 原因確認のため一時的に切り分ける場合でも、確認後は元へ戻し、可能なら誤検知したルールだけを調整してください。
原因2.セキュリティプラグインがアクセスを拒否している
WordPressのセキュリティプラグインには、次のような機能があります。
- IPアドレスのブロック
- ログイン試行回数制限
- 不審アクセス遮断
- 国・地域によるアクセス制限
- 管理画面URLの保護
- Bot判定
設定が厳しすぎたり、自分のIPが誤ってブロックされたりすると、管理画面やサイトで403が出ることがあります。
確認方法
管理画面へ入れる場合は、セキュリティプラグインのブロック履歴やアクセスログを確認します。 管理画面へ入れない場合は、サーバーのファイルマネージャーやSFTP/FTPからプラグインを一時停止して切り分ける方法があります。
全プラグインを一度に削除しない
プラグインのファイルを削除すると設定や復旧が複雑になる場合があります。 まず無効化またはフォルダー名変更など、元に戻せる方法で切り分けてください。
原因3.IPアドレス制限に引っかかっている
管理画面や特定ディレクトリを、許可したIPアドレスからだけアクセスできるように設定している場合があります。
固定IPではない回線では、ルーター再接続や通信会社側の都合でグローバルIPアドレスが変わることがあります。 その結果、昨日までアクセスできたのに突然403になる場合があります。
IP制限を疑うケース
- 会社では開けるが自宅では403
- Wi-Fiでは403だがスマホ回線では開ける
- VPN接続時だけ403
- 管理画面だけ403
- IP制限設定を追加した直後
別回線で試して結果が変わるなら、IP制限やWAFによる接続元判定を確認します。
原因4..htaccessの記述に問題がある
Apache系のWebサーバーでは、.htaccessにアクセス制御やリダイレクトなどの設定が書かれていることがあります。
WordPress、セキュリティプラグイン、キャッシュプラグイン、手動設定などが.htaccessへルールを追加することがあり、誤った拒否設定が入ると403の原因になります。
確認方法
必ずダウンロードまたはコピーして戻せる状態にします。
アクセス拒否やIP制限に関する変更がないか確認します。
バックアップとの差分を確認しながら切り分けます。
.htaccessを空にして試す前にバックアップ
.htaccessにはパーマリンク、リダイレクト、セキュリティ、キャッシュ設定などが含まれる場合があります。 内容を消すと別の問題が起きるため、必ず元へ戻せる状態で操作してください。
原因5.ファイル・フォルダー権限が正しくない
Linux系サーバーでは、ファイルやフォルダーに「誰が読み書き・実行できるか」という権限があります。 この設定が厳しすぎると、Webサーバーが必要なファイルへアクセスできず403になる場合があります。
WordPress公式では、一般的な例としてディレクトリ755、ファイル644などが示されていますが、実際の適切な権限はホスティング環境によって異なります。
| 対象 | 一般的な例 |
|---|---|
| ディレクトリ | 755 |
| 通常ファイル | 644 |
この数字を「どのサーバーでも必ず正しい固定値」と考えないでください。 所有者・グループ・PHPの実行方式によって適切な設定は変わります。
777への一括変更は禁止
403を直そうとしてWordPress全体を777へ変更するのは危険です。 全ユーザーに書き込み・実行権限を与えることになり、セキュリティ上の問題を増やします。 権限エラーが疑われる場合は、レンタルサーバーの推奨値を確認してください。
原因6.レンタルサーバー側のアクセス制限
共用レンタルサーバーでは、利用者自身が設定したWordPressとは別に、サーバー会社側のセキュリティ機能が動いています。
- 国外IP制限
- 管理画面保護
- WAF
- 不正アクセス検知
- 大量アクセス制限
- 特定ファイルへのアクセス制限
管理画面や特定URLだけ403になる場合は、レンタルサーバー管理画面のセキュリティ設定も確認します。
設定した覚えがなくても確認
初期状態で保護機能が有効なサービスもあります。 WordPress側で原因が見つからなければ、サーバー会社の管理画面・マニュアル・障害情報を確認してください。
原因7.画像のホットリンク防止が誤作動している
画像ファイルだけ403になる場合は、ホットリンク防止機能を確認します。
ホットリンク防止は、他サイトから自分の画像ファイルを直接読み込まれるのを防ぐ機能です。 Refererなどを基にアクセスを拒否するため、設定ミスがあると自分のサイトから画像を表示するときまで403になる場合があります。
確認ポイント
- 画像URLを直接開くと403になるか
- すべての画像か、一部画像だけか
- CDN導入後に発生していないか
- ドメイン変更後に旧ドメイン設定が残っていないか
原因8.CDN・リバースプロキシ側で拒否されている
CloudflareなどのCDNやリバースプロキシを利用している場合、WordPressサーバーへ届く前にアクセスが拒否されることがあります。
CDN側のファイアウォールルール、Bot対策、国別制限、レート制限などを確認します。
403画面にCDNサービス名や独自のエラー表示が出ている場合は、WordPress側よりCDN側のログ・ルールを先に確認すると切り分けやすくなります。
403エラーの確認・対処手順
原因が分からない場合は、次の順番で確認します。
全体・管理画面・特定ページ・画像だけ・自分だけ、のどれかを確認します。
WAF、プラグイン、.htaccess、移転、CDN、権限変更などを思い出します。
自分のIP・VPN・ブラウザだけの問題かを切り分けます。
403発生時刻と一致する遮断履歴がないか確認します。
自分のIPブロックやアクセス制限を確認します。
バックアップを取り、直前の変更とサーバー推奨値を確認します。
403が発生したURL・時刻・接続元を照合します。
原因が分からなければ、発生時刻・URL・試した対処を伝えます。
管理画面だけ403になる場合
/wp-admin/やログイン画面だけ403になる場合は、サイト全体のファイル破損よりアクセス制限を優先して疑います。
管理画面403の確認項目
- セキュリティプラグインのIPブロック
- ログイン試行回数制限
- 国外IP制限
- Basic認証やIP制限
- .htaccessの管理画面保護
- レンタルサーバーのWordPress保護機能
- WAFの誤検知
スマートフォン回線では入れるのに、自宅Wi-Fiでは403になる場合は、接続元IPに関係する制限の可能性が高くなります。
投稿を保存するときだけ403になる場合
閲覧やログインはできるのに、投稿・固定ページを保存したときだけ403になる場合は、WAFやセキュリティルールを重点的に確認します。
特定の文字列・HTML・URLを本文へ追加したときだけ発生するなら、WAFがSQLインジェクションやXSSに似たパターンとして検知している可能性があります。
切り分け方法
記事全体を削除するのではなく、直前に追加した部分を一時的に外して保存し、403が変化するか確認します。 同時にWAFログを見て、検知時刻と一致するか確認します。
ただし、攻撃検知を回避するための具体的な文字列や回避方法を探すのではなく、正常な投稿が誤検知されていることをサーバー側で確認して調整します。
403でやってはいけない対処
- WordPress全体の権限を777にする
- .htaccessをバックアップなしで削除する
- WAFを原因確認せず恒久OFFにする
- セキュリティプラグインをすべて削除する
- 複数設定を同時に変更する
- 403を直すためにWordPressをいきなり再インストールする
- ログを確認せずサーバー移転する
「アクセスを広げれば直る」は危険
403はアクセス制御で起きるため、権限や防御を緩くすれば一時的に表示されることがあります。 しかし、それでセキュリティを弱めては本末転倒です。必要なアクセスだけ許可する状態へ戻してください。
ログを確認すると原因を絞りやすい
画面に「403 Forbidden」としか出ない場合でも、サーバー側のログには手掛かりが残っていることがあります。
| ログ | 確認できること |
|---|---|
| アクセスログ | 403になったURL・時刻・IP |
| エラーログ | サーバー側の拒否理由や関連エラー |
| WAFログ | 検知したルール・対象リクエスト |
| セキュリティプラグインログ | IPブロック・ログイン制限など |
時刻を記録してからログを見る
403が出た時刻を「10月29日 14:35」のように記録しておくと、大量のログから該当箇所を探しやすくなります。
どこまで自分で対処する?
初心者
自分で:切り分けまで
発生URL、時刻、直前変更、別回線での結果を確認し、危険な権限変更は避けます。
共用サーバー
サポート活用:高
WAF・サーバー側制限は自分で変更できない場合があるため、ログと症状を整理して問い合わせます。
会社サイト
復旧優先:高
本番環境の設定を何度も試すより、バックアップ・変更履歴を確認して制作会社や管理者へ連絡します。
VPS
管理知識:必要
Webサーバー設定、所有者、権限、WAF、OS側ファイアウォールまで管理対象になります。
教科書判定
403は「権限を広げる」のではなく「どこで拒否されたか」を特定する
WordPress初心者が403に遭遇したら、最初にファイル権限を変更する必要はありません。 まず「サイト全体か、管理画面だけか、特定ページだけか、自分だけか」を確認します。
そのうえで、直前の変更、WAF、セキュリティプラグイン、IP制限、.htaccessの順に確認してください。
ファイル権限はサーバー環境によって適切な値が変わります。 777へ一括変更する対処は避け、レンタルサーバーの公式推奨値を確認するのが安全です。
原因が見つからない場合は、403が出たURL・時刻・接続環境・試した対処を整理し、アクセスログやWAFログを確認できるサーバー会社へ相談してください。
よくある質問
Q.403エラーはWordPressを再インストールすれば直りますか?
おすすめしません。403はWAF、IP制限、.htaccess、ファイル権限などWordPress本体以外が原因の場合があります。まず原因を切り分けてください。
Q.403と404の違いは何ですか?
403はサーバーがアクセスを拒否している状態、404は要求されたリソースが見つからない状態です。確認する原因が異なります。
Q.ファイル権限を777にすれば403は直りますか?
一時的に挙動が変わる可能性はありますが、安全な対処ではありません。777は必要以上に権限を広げるため、WordPress公式もより制限された権限から確認する考え方を示しています。サーバー会社の推奨設定を確認してください。
Q.自分だけ403になるのはなぜですか?
自分のIPアドレスがセキュリティプラグインやWAF、IP制限でブロックされている可能性があります。スマートフォン回線など別回線で試すと切り分けやすくなります。
Q.投稿を保存すると403になる場合は何を確認しますか?
WAFの誤検知を優先して確認します。403が出た時刻を記録し、レンタルサーバーのWAFログと照合してください。セキュリティプラグインの遮断履歴も確認します。
まとめ
この記事の結論
- 403はサーバーがリクエストを理解したうえでアクセスを拒否している状態
- 最初にサイト全体・管理画面・特定URL・自分だけのどれかを切り分ける
- WAF、セキュリティプラグイン、IP制限が代表的な原因
- .htaccessはバックアップしてから確認する
- ファイル権限は環境依存なので777へ一括変更しない
- 画像だけ403ならホットリンク防止も確認する
- CDN利用時はCDN側のファイアウォールルールも確認する
- アクセスログ・エラーログ・WAFログを使うと原因を絞りやすい
- 原因不明なら発生URL・時刻・試した対処を整理してサーバー会社へ相談する
403エラーでは、アクセス制限を片っ端から解除するのではなく、「どの仕組みが、どのリクエストを拒否したか」を確認することが重要です。 戻せる状態を確保し、1つずつ原因を切り分けてください。
「WordPressで404エラーが出る原因と対処法」もあわせて確認してください。