403 forbiddenとは

403 forbidden(403 Forbidden)ステータスコードの意味、サーバーがクライアントのリクエストを拒否する仕組み、401や404など関連ステータスコードとの違い、SEOへの影響を解説します。

403 forbiddenとは

403 forbidden(以下、403)は、サーバーがクライアントのリクエストを理解したものの、リクエストの実行を拒否したことを示すHTTPステータスコードです。クライアントエラー(4xx番台)の一種で、アクセス権限の不足や、サーバー側の制御によってリソースへのアクセスが許可されていない状態を表します。

403のステータスコードが返される仕組み

ブラウザがあるURLにリクエストを送ると、サーバーはそのリクエストを処理してレスポンスを返します。サーバーがリクエスト内容を解釈できているにも関わらず、アクセス権限や制御ルールによって処理を拒否した場合に、403のステータスコードを返します。
401(認証が必要)とは異なり、403は認証情報を提供しても解決しない権限上の制限を示すコードである点に注意が必要です。

HTTPステータスコード4xxの分類
HTTPステータスコードの4xx番台はクライアントエラーを示します。代表的なコードは以下の通りです。

  • 400 Bad Request:リクエストの構文が不正
  • 401 Unauthorized:認証が必要
  • 403 Forbidden:認証は不要だが、アクセスが拒否されている
  • 404 Not Found:ページが存在しない
  • 410 Gone:ページが永続的に削除された
  • 429 Too Many Requests:リクエストが多すぎる(レート制限)

403が表示される画面の例

ブラウザで403を受け取ったとき、ユーザーには以下のような表示が現れます。

  • 「403 Forbidden」
  • 「Forbidden」
  • 「アクセスが拒否されました」
  • 「You don’t have permission to access this resource.」

表示内容はサーバーの設定やCMSの仕様によって異なりますが、いずれもアクセス権限が不足していることを示します。

403と関連ステータスコードとの違い

403はクライアントエラーの中でも、認証や存在の有無とは異なる「アクセス拒否」を意味するコードです。混同されやすい関連コードとの違いを整理します。

ステータスコード 意味 認証で解決するか 主な発生原因
401 Unauthorized 認証が必要 解決する場合がある ログインしていない、認証情報が不足
403 Forbidden アクセスが拒否されている 解決しない 権限不足、IP制限、サーバー側の制御
404 Not Found ページが存在しない 該当しない 削除済み、URL誤入力、リンク切れ
410 Gone ページが永続的に削除された 該当しない 削除済みで再公開予定なし
429 Too Many Requests リクエスト過多 該当しない レート制限、短時間の大量アクセス

401と403は「アクセスができない」という結果は同じですが、原因が認証(401)か権限(403)かで意味が異なります。404や410と比較すると、404・410は「リソースが存在しない」のに対し、403は「リソースは存在するがアクセスが許可されていない」点が決定的に違います。

403が発生する主な原因

403が発生する主な原因の概要は以下の通りです。

アクセス権限の制限

ファイルやディレクトリのアクセス権限(パーミッション)が、Webサーバーから読み取り可能でない状態に設定されている場合に403が返されます。

IPアドレス・地域による制限

特定のIPアドレスや地域からのアクセスをサーバー側でブロックしている場合、対象のクライアントには403が返されます。

特定User-Agentのブロック

ボット対策やセキュリティ設定により、特定のUser-Agent(クローラー含む)に対して403を返す設定がされている場合があります。

認証セッションの権限不足

ログイン中であっても、当該リソースに対する権限を持たないユーザーアカウントの場合、認証情報があっても403が返されます。

サーバー設定ファイル(.htaccess等)の制御

.htaccessやnginx等のサーバー設定ファイルで明示的にアクセスを拒否する記述がある場合、403が返されます。WordPressのプラグインやセキュリティ対策設定によって意図せず403が発生するケースもあります。

WAFやセキュリティソフトによるブロック

Webアプリケーションファイアウォール(WAF)やCDNのセキュリティ機能が、不審なリクエストを検知して403を返すケースもあります。
発生原因の詳細な特定方法と対処手順は、別記事「403エラーの原因と対処法」で解説しています。

403がSEOに与える影響

403のステータスコードは、Googleのクロール・インデックス処理に直接的な影響を与えます。

403はGooglebotにとってクロール拒否のシグナル

Googlebotが403を受け取ると、当該URLへのアクセスが拒否されたと判断し、コンテンツを取得できません。設定が変更されない限り、再度クロールしても同じ結果になります。

4xxを返すページは原則としてインデックスから除外される

Google検索セントラルの「HTTP ステータス コードや DNS エラーと SEO」ドキュメントでは、429を除く4xxステータスコードを返すURLはインデックス処理されず、すでにインデックスされているURLが4xxを返すとインデックスから削除されることが明記されています。

400 番台のステータスコードを返す URL はインデックス処理が行われません(例外は 429)。
https://developers.google.com/search/docs/crawling-indexing/http-network-errors?hl=ja

意図せず重要なページが403を返している場合、検索結果から除外される原因になります。

レート制限に403を使うことは推奨されない

アクセス過多のクライアントを制限する目的で403を使うのは、Googleのガイドラインに反します。レート制限の用途では429(Too Many Requests)を使用することがGoogle公式により推奨されています。

robots.txtを403で返した場合の扱い

robots.txt自体が4xx(403を含む)を返すと、Googleは「robots.txtが存在しない」と判断します。本来クロールを制御したいページが、意図せずクロール対象になる可能性があるため、robots.txtのアクセス可否の確認は重要です。

403を確認する方法

自サイトで403が発生しているURLを確認する方法は以下の通りです。

Google Search Consoleの「ページ」レポートで確認する

Google Search Consoleの「ページ」(旧「カバレッジ」)レポートでは、Googlebotが403を受け取ったURLが「ブロック理由: アクセスが禁止されました(403)」または同等の項目として一覧表示されます。

  1. Google Search Consoleにログインする
  2. 左メニュー「ページ」を選択する
  3. 「ページがインデックスに登録されなかった理由」内の403関連項目を確認する
  4. 表示された影響を受けているページの一覧から、対処すべきURLを特定する

URL検査ツールで個別に確認する

特定URLが403を返しているかは、Google Search ConsoleのURL検査ツールで確認できます。「ライブテスト」を実行することで、リアルタイムでサーバーが返すステータスコードを取得できます。

kunugi GSC ControllerでURLを一括確認する

弊社のChrome拡張機能「kunugi GSC Controller」を使うと、Google Search Consoleでの確認作業を効率化できます。複数URLに対するURL検査の操作を支援するため、403を返すURLが多数発生している場合の調査時間を短縮できます。

kunugi GSC Controllerでの403確認手順例

  1. Google Search Consoleでサイトを選択する
  2. kunugi GSC Controllerを起動する
  3. 確認対象のURL一覧をkunugi GSC Controllerに入力する
  4. URL検査が順次実行され、各URLのステータスコード(403/200/404等)が一覧で確認できる
  5. 結果から、対処が必要な403のURLを特定する

外部ツールでステータスコードを確認する

特定URLのステータスコードを単発で確認する場合は、外部ツールも利用できます。

  • Redirect Checker(redirect-checker.org):URLを入力するとステータスコードを表示
  • httpstatus.io:複数URLのステータスコードを一覧表示
  • cURLコマンド:コマンドラインからHTTPヘッダーを取得

403が表示された場合の対処の概要

ユーザーが403に遭遇した場合と、サイト運営者が自サイトで403を検出した場合のそれぞれで、対処の方向性が異なります。

訪問者として403に遭遇した場合の確認手順

他社サイトを閲覧中に403が表示された場合、訪問者側でできる確認手順は以下の通りです。

  • URLにスペルミスや余分な文字が含まれていないかを確認する
  • ログインが必要なページの場合は、ログイン状態とアカウントの権限を確認する
  • VPNやプロキシを使用している場合は、いったんオフにして再アクセスする
  • ブラウザのキャッシュとCookieをクリアして再アクセスする

これらを試しても解決しない場合、サイト側で意図的にアクセスが制限されている可能性があります。

403に関するよくある誤解と注意点

403のステータスコードに関して、つまずきやすいポイントを整理します。

「403は認証エラーである」は不正確

401(Unauthorized)が「認証が必要」を意味するのに対し、403(Forbidden)は「認証の有無に関係なくアクセスが拒否されている」状態です。ログイン済のユーザーであっても権限が不足していれば403が返されます。

「403を返せば検索結果から消せる」は誤解

Googleからページを削除したい場合、推奨されるのは404または410を返すことです。403を返すとGooglebotがクロール拒否と解釈するため、結果的に検索結果から除外される場合がありますが、ページの削除を意図する用途には不向きです。検索結果からの削除手順については、別記事「検索結果やインデックスからページを削除する方法」を参照してください。

「403はサイト全体のSEOに影響する」は条件次第

403を返す個別URLが他URLの評価を直接下げることはありません。ただし、重要なページや大量のページが意図せず403を返している場合、本来クロール・インデックスされるべきコンテンツがGoogleに認識されず、サイト全体のクロールバジェットや評価機会の損失につながる可能性があります。

タイトルとURLをコピーしました