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)」または同等の項目として一覧表示されます。
- Google Search Consoleにログインする
- 左メニュー「ページ」を選択する
- 「ページがインデックスに登録されなかった理由」内の403関連項目を確認する
- 表示された影響を受けているページの一覧から、対処すべき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確認手順例
- Google Search Consoleでサイトを選択する
- kunugi GSC Controllerを起動する
- 確認対象のURL一覧をkunugi GSC Controllerに入力する
- URL検査が順次実行され、各URLのステータスコード(403/200/404等)が一覧で確認できる
- 結果から、対処が必要な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に認識されず、サイト全体のクロールバジェットや評価機会の損失につながる可能性があります。
