2026年5月20日
2026年5月20日
WordPressで403エラーが出る場合の解決方法【完全ガイド】
はじめに
「403 Forbidden」エラーは「アクセス拒否」を意味します。サーバーはリクエストを受け取りましたが、そのリソースへのアクセスを許可しないということです。500エラーはサーバー内部の問題ですが、403エラーはアクセス権限の問題です。
403エラーの主な原因
| 原因 | 発生頻度 | 確認場所 |
|------|---------|---------|
| .htaccessの設定ミス | 高 | FTPでルートの.htaccess |
| ファイルパーミッションの誤り | 高 | FTPで確認・755/644 |
| セキュリティプラグインのブロック | 高 | Wordfence等の設定 |
| mod_securityによる誤検知 | 中 | サーバーエラーログ |
| IPアドレス制限 | 中 | .htaccess・プラグイン設定 |
| Cloudflare等CDNのルール | 低〜中 | CDNの管理画面 |
| インデックスファイルがない | 低 | FTPでindex.phpを確認 |
ステップ1:.htaccessを一時的に無効化する
最もよくある原因です:
.htaccess → .htaccess_backup
復旧した場合は.htaccessの内容を確認し、不正な設定を削除してから再生成します。
ステップ2:ファイルパーミッションを確認する
フォルダ:755
ファイル:644
wp-config.php:600
FTPクライアントで確認・修正します。
ステップ3:セキュリティプラグインを確認する
Wordfence・iThemes Security等のセキュリティプラグインが自分のIPをブロックしている可能性があります。
FTPでプラグインを無効化して確認:
wp-content/plugins/wordfence/ → wordfence_disabled/
ステップ4:wp-adminへの403を確認する
/wp-admin/ だけが403になる場合、管理画面へのアクセス制限(IPホワイトリスト等)が設定されている可能性があります。
.htaccess または wp-admin/.htaccess に以下のような設定がないか確認します:
# IPアドレス制限の例(これが原因の場合)
<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 123.456.789.0
</Files>
自分のIPが変わった場合はこの設定を更新するか削除します。
ステップ5:Cloudflare・CDNの設定を確認する
Cloudflare経由でのアクセスが403になる場合:
1. Cloudflare管理画面 → セキュリティ → イベント でブロックされたリクエストを確認
2. ファイアウォールルールやWAFルールを確認
3. 該当のURLをホワイトリストに追加
ステップ6:index.phpの存在を確認する
まれに、ディレクトリの index.php が削除されてしまい、ディレクトリリストが禁止されているために403になるケースがあります。ルートディレクトリに index.php が存在するか確認します。
注意事項
Deny from allを.htaccessに追加するとサイト全体が403になります。設定変更後は必ず動作を確認してください。- セキュリティプラグインを無効化する前にバックアップを確認してください。
まとめ
403エラーは.htaccess無効化→パーミッション確認→セキュリティプラグイン無効化の順で試すのが効率的です。管理画面だけの403はIPアドレス制限が原因のケースが多いです。
関連記事: