403エラーは「アクセスする権限がない」という意味です。ファイルが存在しないわけではなく、サーバー側が意図的に見せない判断をしています。エックスサーバーで403が出る原因は、WAFの誤検知が圧倒的に多く、次いでアクセス制限の設定、.htaccessの記述ミスと続きます。ここでは切り分けの手順と、それぞれの対処を解説します。管理画面全体の使い方は使い方ピラーをご覧ください。

WordPressの管理画面で急に403が出たら、まずWAFを疑ってください。記事の投稿、プラグインの設定変更、テーマの編集といった操作が、攻撃と誤判定されることがあります。サーバーパネルでWAFを一時的に無効にして操作し、作業後に必ず戻すのが一般的な対処です。

403エラーの主な原因

原因症状の特徴頻度
WAFの誤検知特定の操作をしたときだけ出る高
アクセス制限の設定自分だけ出る、特定の環境だけ出る中
.htaccess の記述サイト全体または特定のディレクトリで出る中
ディレクトリにindexファイルがないフォルダのURLにアクセスしたとき中
パーミッション(権限)の設定特定のファイルだけ出る低

切り分けの手順

  1. 1
    いつ出るのかを特定する
    常に出るのか、特定の操作をしたときだけか。特定の操作でだけ出るならWAFの誤検知が濃厚
  2. 2
    誰に出るのかを確認する
    自分だけか、他の人にも出るか。自分だけならアクセス制限の可能性
  3. 3
    どこで出るのかを確認する
    サイト全体か、管理画面だけか、特定のページだけか
  4. 4
    直前に何をしたか思い出す
    .htaccessの編集、プラグインの追加、設定変更。直前の変更が原因のことが多い
  5. 5
    別の回線・端末から確認する
    スマートフォンのモバイル回線などで開く。表示されるならアクセス元の問題

原因① WAFの誤検知(最多)

WAF(Webアプリケーションファイアウォール)は、不正なアクセスを検知してブロックする保護機能です。エックスサーバーでは標準で有効になっていることが多く、正常な操作を攻撃と誤判定することがあります。

誤検知が起きやすい操作

  • WordPressの記事にコードやタグを含めて投稿する
  • プラグインの設定を変更する
  • テーマファイルを編集する
  • 管理画面からファイルをアップロードする
  • 問い合わせフォームから特定の内容を送信する

「投稿ボタンを押したら403が出た」「プラグインの設定を保存したら403になった」という場合は、ほぼWAFです。

対処

  1. 1
    サーバーパネルでWAF設定を開く
    セキュリティのカテゴリにある。対象のドメインを選択する。操作場所はサーバーパネルの使い方を参照
  2. 2
    一時的に無効にする
    該当する検知項目、または全体を一時的にオフにする
  3. 3
    目的の操作を行う
    403で止まっていた作業を完了させる
  4. 4
    WAFを元に戻す
    ここを忘れない。無効のまま放置すると保護がない状態になる

WAFを無効にしたまま放置しないでください。不正アクセスからサイトを守る機能です。作業のために一時的に切るのは問題ありませんが、終わったら必ず戻してください。「無効にしたことを忘れる」のがいちばん危険です。作業前にメモを残すか、スマートフォンにリマインダーを設定しておくと確実です。

サーバーパネルのWAF設定画面
サーバーパネルの「WAF設定」。XSS・SQL・ファイル・メール・コマンド・PHPの6項目をドメインごとにON/OFFできる(2026年10月9日撮影。ドメイン名などはぼかしています)。

原因② アクセス制限の設定

自分だけ403が出て、他の人は見られるという場合はこちらです。

確認する設定

設定内容
国外IPアクセス制限国外からのアクセスを遮断する機能
アクセス拒否設定特定のIPアドレスを拒否する設定
ディレクトリアクセス制限特定のフォルダにパスワードをかける設定
.htaccess による制限ファイルに直接記述された制限

国外IPアクセス制限は、海外のVPNを使っている場合や、海外出張中にアクセスした場合に影響します。管理画面へのアクセスだけを制限する設定もあるため、サイトは見えるが管理画面だけ403、という状況が起こり得ます。

対処

サーバーパネルで該当する制限設定を確認し、必要に応じて自分のIPアドレスを許可するか、制限を一時的に解除してください。

原因③ .htaccess の記述

.htaccessに記述したアクセス制限やリダイレクトの設定が原因になることがあります。

.htaccess を編集した直後に403が出たら、その編集が原因です。編集前のファイルを保存していれば、それに戻すだけで解決します。保存していない場合は、追加した記述を削除して確認してください。
編集はFTPまたはサーバーパネルのファイルマネージャから行います。

WordPressの場合、プラグインが自動的に.htaccessへ記述を追加することがあります。プラグインを入れた直後に403が出たら、そのプラグインを疑ってください。

原因④ indexファイルがない

example.com/folder/ のようにフォルダのURLに直接アクセスしたとき、そのフォルダに index.html や index.php がないと403が返ることがあります。

これはエラーというより、フォルダの中身を一覧表示しないというセキュリティ上の仕様です。

対処は次のいずれかです。

  • そのフォルダにindexファイルを置く
  • フォルダのURLに直接アクセスしない(ファイル名まで指定する)

原因⑤ パーミッションの設定

ファイルやフォルダの権限(パーミッション)が適切でないと、403になることがあります。

FTPソフトから権限を確認・変更できますが、むやみに変更しないでください。権限を緩めすぎるとセキュリティ上の問題になります。

WordPressを通常どおり設置している場合、この原因になることはあまりありません。手動でファイルをアップロードした場合や、FTPの設定を変更した場合に起こり得ます。

症状別の早見表

症状疑うところ最初に試すこと
記事を投稿したら403WAFWAFを一時的に無効化
プラグイン設定を保存したら403WAFWAFを一時的に無効化
自分だけ403アクセス制限別回線から確認
海外からアクセスすると403国外IPアクセス制限設定を確認
.htaccess編集後に403.htaccess編集を元に戻す
フォルダのURLで403indexファイルがない仕様。ファイル名まで指定
サイト全体が突然403.htaccess、プラグイン直前の変更を戻す

500エラーとの違い

似たタイミングで出るエラーなので、区別しておいてください。

403エラー500エラー
意味アクセス権限がないサーバー内部のエラー
主な原因WAF、アクセス制限.htaccessの構文エラー、PHPのエラー
ファイルの状態存在している存在しているが処理に失敗

500エラーの対処は500エラーの記事にまとめています。

まとめ

403エラーは「アクセスする権限がない」という意味で、ファイルがないわけではありません。エックスサーバーではWAFの誤検知が最も多い原因です。

記事の投稿、プラグインの設定変更、テーマの編集で403が出たら、まずWAFを疑ってください。サーバーパネルで一時的に無効にして操作し、作業後に必ず戻すのが対処になります。無効のまま放置しないでください。

自分だけ403が出る場合はアクセス制限、.htaccessを編集した直後なら記述ミス、フォルダのURLで出るならindexファイルがない、と切り分けられます。

切り分けのポイントは「いつ・誰に・どこで」出るのかと「直前に何をしたか」の2つです。この2つを整理すれば、原因はほぼ絞れます。

サーバーパネルの操作はサーバーパネルの使い方、500エラーは500エラーの記事、反映まわりの問題は反映されないときの記事をご覧ください。