401 Unauthorized(認証が必要)
HTTP 401 Unauthorizedの意味、403 Forbiddenとの違い、Googleが認証で保護されたページをどう扱うか、そしてSEOへの影響を解説します。
言語
このページには証拠シグナルが1件あります
- 関連するライブツールHTTP Status & Redirect Checker
401 Unauthorizedは、有効な認証情報がないためリクエストが拒否されたことを意味します。サーバーはログインを求めています。認証情報を送ったもののアクセスを拒否される403 Forbiddenとは異なりますが、インデックスについてGoogleは同じように扱います。Googlebotは認証情報を送らないため、401ページのコンテンツはGoogleにとって実質的に存在せず、インデックスされません。すでにインデックスされていたURLも時間とともに外れます。ステージングサイトや会員エリアをゲートする401は自動的に悪いものではなく、正しい用途です。ランキングさせたいページに当たった場合だけ問題で、一般的な神話とは異なりサイト全体のクロールレートには影響しません。
TL;DR — 401 Unauthorizedは、ページを渡す前にサーバーがログインを求めていることを意味します。認証情報がない、間違っている、または期限切れです。検索エンジンはログインしないため、ページがGooglebotに401を返すと、Googleは見られず検索結果にも載せません。ステージングや会員限定ページなど、非公開ページではまさに望ましい状態です。実際に見つけてもらいたいページで起きた場合だけ問題になります。
401の意味
ブラウザー(または検索エンジンのクローラー)がサーバーにページを求めると、サーバーはステータスコードで応答します。401 Unauthorizedは、サーバーが「I’m not going to show you this until you prove who you are.」 (翻訳)「あなたが誰かを証明するまで、これは表示しない」と伝える方法です。送った認証情報がない、無効、または期限切れなので、ログインする必要があります。 Evidence for this claim A 401 response means the request lacks valid authentication credentials and the response must include a WWW-Authenticate challenge. Scope: RFC 9110 defines the status semantics and required challenge header; it does not prescribe a site's authentication product or login flow. Confidence: high · Verified: IETF: RFC 9110 §15.5.2 — 401 Unauthorized
ユーザー名とパスワードの入力欄が表示されたり、ログイン画面に移動させられたりするページで、これを見たことがあるでしょう。裏側では、それが401であることがよくあります。
SEOで重要になる理由
ここが要点です。GooglebotとBingbotは決してログインしません。 サイトのユーザー名やパスワードを持たず、ログイン欄にも入力しません。そのためクローラーが401に当たると、ゲートを通過できません。Googleにとって、そのページのコンテンツは実質的に存在しないことになります。
実際の結果は次のとおりです。
- 401を返すページはインデックスされません。検索に表示できないためです。
- 以前ランキングしていたページが401を返すようになると、時間とともにインデックスから外れます。 Evidence for this claim Google does not index 4xx URLs and removes already-indexed 4xx URLs over time. Scope: Google's crawler documentation supports the Search indexing outcome for 401 responses; it does not address access decisions for private users. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers
401が問題ない場合(そして問題になる場合)
401は自動的に修正すべきバグではありません。非公開にするべきページには正しい答えです。
- 良い401: ステージングサイト、会員限定エリア、内部管理ツール、クライアントポータル。Googleから隠したいものであり、ログインウォールが役割を果たします。
- 悪い401: ブログ記事、商品ページ、ランディングページなど、本来公開されるべきページが突然ログインを求める状態。通常は、設定ミスのファイアウォール、残ったパスワード保護、期限切れのトークン、プラグインの競合が原因です。
最もよくある誤警告は「but it loads fine for me!」 (翻訳)「でも自分には正常に表示される」です。あなたはログイン済みで、クローラーはログインしていないからです。Googlebotに見えるものを確認するには、プライベート/シークレットウィンドウでページを開くか、Google Search ConsoleのURL検査ツールを使います。
401と403の違い:簡単な説明
403 Forbiddenの隣に401が記載されているのをよく見ます。似た響きですが、意味は異なります。
- 401=「Who are you?」 (翻訳)「あなたは誰ですか?」。認証情報がないため、ログインする。
- 403=「I know who you are, and no.」 (翻訳)「あなたが誰かは分かっているが、だめだ」。サーバーはリクエストを理解したものの、アクセスを拒否している。
ただしGoogleにとって結果は同じです。どちらもインデックスされません。どちらの場合もクローラーがコンテンツに到達できないからです。
技術的な詳細――401が送るべき正確なヘッダー、Googleの文書が実際に述べていること、望まない401の修正方法――は、Advancedタブに切り替えてください。
TL;DR — 401 Unauthorizedは、リクエストに有効な認証情報がないことを意味するクライアントエラーです(RFC 9110 §15.5.2。RFC 7235に取って代わりました)。送信したものの拒否された認証情報も含み、まったく送信されなかった場合だけではありません。準拠した401は、想定するスキームを示す
WWW-Authenticateヘッダーも送ります。認証チャレンジを必要としない、または認証情報と無関係なこともある403とは異なります。しかしGoogleは、429を除くすべての4xxをインデックス上は同じように扱います。コンテンツは「doesn’t exist」 (翻訳)「存在しない」ため、インデックスされず、以前インデックスされていたURLは時間とともに外れます。通常のGooglebotは認証情報を送らないため、Google自身の言葉では、Googlebotへの403は通常サーバーの設定ミスです。401/403はサイト全体のクロールレートに影響しません(広く繰り返される神話です)が、4xxを返し続ける個別URLは時間とともにクロール頻度が下がります。401は本当に非公開のコンテンツを制限する、Googleも認める正しい方法です。インデックスさせたいページに当たった場合だけ問題です。ペイウォールには、すべてを401にするのではなく、認められた方法があります。
401の正体
401 Unauthorizedはクライアントエラーのレスポンスです。MDNの定義が、技術的には最も明快です。
「The HTTP 401 Unauthorized client error response status code indicates that a request was not successful because it lacks valid authentication credentials for the requested resource. This status code is sent with an HTTP WWW-Authenticate response header that contains information on the authentication scheme the server expects the client to include to make the request successfully.」 (翻訳)「HTTPの401 Unauthorizedクライアントエラーレスポンスステータスコードは、要求されたリソースに有効な認証情報がないため、リクエストが成功しなかったことを示します。このステータスコードは、クライアントがリクエストを成功させるために含めるべき認証スキームの情報を持つHTTP WWW-Authenticateレスポンスヘッダーとともに送られます。」
ここから2点を取り出せます。1つ目は「authentication」、つまりリクエスターが自分の身元を証明していないことです。通常は認証情報の欠落、無効、期限切れを意味しますが、送信した認証情報が拒否された後にも401は返ります。実際にリクエストを確認せず、「認証ヘッダーがまったくない」と決めつけないでください。2つ目は、仕様に準拠した401にはWWW-Authenticateヘッダーが必ず付くことです。古いRFC 7235に取って代わったRFC 9110 §15.5.2に基づき、クライアントが想定されるスキーム(HTTP Basic Auth、Bearerトークン、セッションCookieフローなど)を伝えます。401をデバッグするなら、そのヘッダーが存在するか、どのスキームを示すかを最初に調べてください。 Evidence for this claim A 401 response means the request lacks valid authentication credentials and the response must include a WWW-Authenticate challenge. Scope: RFC 9110 defines the status semantics and required challenge header; it does not prescribe a site's authentication product or login flow. Confidence: high · Verified: IETF: RFC 9110 §15.5.2 — 401 Unauthorized
私のstatus-codes guide では、401を「the client hasn’t identified or verified itself when needed.」 (翻訳)「必要なときにクライアントが自分を識別または検証していない」とまとめています。それがすべての核心です。まだ誰も自分が誰かを示していません。
401と403 Forbidden:重要な違い
ここは多くの人が曖昧になるため、はっきりさせます。一言で言うと:
- 401=「Who are you?」 (翻訳)「あなたは誰ですか?」。認証情報がないか無効なので、認証して再試行する。
- 403=「I know who you are, but no.」 (翻訳)「あなたが誰かは分かっているが、だめだ」。リクエストは理解されたが、認証情報にかかわらずアクセスが拒否される。
MDNも同じように説明しています。
「A 401 Unauthorized is similar to the 403 Forbidden response, except that a 403 is returned when a request contains valid credentials, but the client does not have permissions to perform a certain action.」 (翻訳)「401 Unauthorizedは403 Forbiddenレスポンスに似ています。ただし403は、リクエストに有効な認証情報が含まれていても、クライアントに特定の操作を行う権限がない場合に返されます。」
私のガイドでも同じ対比をしています。401は「the client hasn’t identified or verified itself when needed」 (翻訳)「必要なときにクライアントが自分を識別または検証していない」、403は「the client is known but doesn’t have access rights」 (翻訳)「クライアントは識別されているがアクセス権がない」です。Authenticationとauthorizationの違いです。
この一言は信頼できる短縮表現ですが、コードやWAFルールで2つを選ぶ必要があるなら、より明確なプロトコル上のテストがあります。401にはWWW-Authenticateチャレンジが必要です。RFC 9110はMUSTと定めています。一方403には不要です。403の拒否は、認証情報と無関係な理由(IPブロック、権限ルール、レート制限ポリシー)でも起こるためです。そのため「認証情報が存在したか」だけでは区別できません。401は、ない認証情報だけでなく、拒否された認証情報の後にも返ります。返すコードを決めるなら、「認証チャレンジを出すのか(401)、単に拒否するのか(403)」と考えてください。
ここに見落としやすいSEO上のひねりがあります。これはGoogle自身が403について述べている点です。通常のGooglebotは決して認証情報を送りません。 そのため、特にGooglebotへ配信した403は、Google自身の言葉ではサーバーが誤っている状態です。
「HTTP 403 means that the user agent provided credentials, but was not granted access. However, Googlebot never provides credentials, so your server is returning this error incorrectly. The page will not be indexed.」 (翻訳)「HTTP 403は、ユーザーエージェントが認証情報を提供したものの、アクセスを許可されなかったことを意味します。しかしGooglebotは認証情報を決して提供しないため、サーバーはこのエラーを誤って返しています。ページはインデックスされません。」
これは有用な診断です。Googlebotへの401は意図的な場合があります(ページが設計上ゲートされている)。Googlebotへの403は通常設定ミスを示します。Googlebotは認証情報を送らないため、「認証情報が拒否された」レスポンスを発生させるものがないはずです。Googlebotが到達すべきページで403が出るなら、まずCDN、WAF、サーバー設定を疑ってください(ここで説明しているのはGoogleの一般的なクローラーです。Googleは特殊用途のクローラーやユーザー起点のフェッチャーを別カテゴリーとして文書化し、それぞれ異なる挙動を持つため、「決して認証情報を送らない」ルールをすべてのGoogleプロダクト連携に一般化しないでください)。
| 401 Unauthorized | 403 Forbidden | |
|---|---|---|
| 意味 | 認証情報がない/無効 — 「あなたは誰?」 | 理解したがアクセス拒否 — 「分かったが、だめ」 |
| 必須ヘッダー | WWW-Authenticate(RFC 9110) | 必須なし |
| 典型的なトリガー | ログインウォール、期限切れトークン、Basic Auth、セッションタイムアウト | 権限ルール、IP/地域ブロック、WAFルール、ディレクトリ制限 |
| Googlebotに対して | 意図的な場合がある(ページがゲートされている) | 通常はサーバー設定ミス(Googlebotは認証情報を送らない) |
| インデックス結果 | インデックスされない。時間とともに外れる | インデックスされない。時間とともに外れる |
最後の行が要点です。インデックスに関して、Googleは両者を同じように扱います。
Googleは401ページをどう扱うか
GoogleのHTTP status codes doc は、4xxファミリーについて率直に説明しています。
「Google doesn’t use the content from URLs that return 4xx status codes. If a URL was previously used but is now returning 4xx status code, Google systems will stop using the URL over time. In the case of Google Search, Google doesn’t index URLs that return a 4xx status code, and URLs that are already indexed and return a 4xx status code are removed from the index.」 (翻訳)「Googleは4xxステータスコードを返すURLのコンテンツを使いません。URLが以前使われていたものの、現在4xxステータスコードを返している場合、Googleのシステムは時間とともにそのURLの利用を停止します。Google検索では、4xxステータスコードを返すURLはインデックスされず、すでにインデックスされていて4xxステータスコードを返すURLはインデックスから削除されます。」 Evidence for this claim Google does not index 4xx URLs and removes already-indexed 4xx URLs over time. Scope: Google's crawler documentation supports the Search indexing outcome for 401 responses; it does not address access decisions for private users. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers
そして401は、このファミリーの中で特別扱いされません。文書の表では、401 (unauthorized) and 403 (forbidden) が別の行にあり、説明は1つを共有しています。
「All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.」 (翻訳)「429を除くすべての4xxエラーは同じように扱われます。Googleのクローラーは、次の処理システムにコンテンツが存在しないと伝えます。」
つまり、結果は降格ではなく二値です。401のページは「ランキングが下がる」のではなく、そもそもインデックスされないか、以前インデックスされていた場合は完全に削除されます。部分的なペナルティはありません。これは私のガイドにある基本的な主張4xxs will cause pages to drop from the index とも一致します。この記事はその401特化の深掘りです。
タイミングには注意が必要です。削除は最初の不正な取得で起きるのではなく、「over time」 (翻訳)「時間とともに」起きます。Googleの文書も段階的なプロセスとして説明しており、クロールシステムは歴史的に、URLが本当に消えたと扱う前に短期間のエラーを許容すると説明されてきました。
クロールレートの神話:401はクロールを遅くしない
これは、良い記事を書いている人でも多くつまずく点なので、正確に述べます。401(または403)はGoogleのクロールレートを下げません。 Googleは直接こう述べています。
「Don’t use 401 and 403 status codes for limiting the crawl rate. The 4xx status codes, except 429, have no effect on crawl rate.」 (翻訳)「クロールレートの制限に401や403ステータスコードを使わないでください。429を除く4xxステータスコードは、クロールレートに影響しません。」
これは、401の背後にページを置くと「クロールバジェットを節約する」「クロールバジェットを浪費する」という助言が見つかるため重要です。どちらの説明も誤りです。Googlebotに後退を求めるのは429だけであり、503のような5xx系シグナルも同様です。401はスロットルではなく、インデックスに対して「コンテンツが存在しない」と伝えるシグナルです。クロールを一時的に遅くしたいなら、429/503です(401/403ではありません)。
ここで、混同しやすい2つの主張の範囲を分けておきます。「クロールレートに影響しない」は、サイト全体のクロールレートについてです。一方、Googleは4xxを返し続ける個別URLの再クロール頻度が時間とともに下がると述べています。これは別の範囲です。サイト全体のクロールバジェットは抑制されませんが、GoogleがそのURLの優先度を下げるため、401を続けるURLはチェック頻度が下がります。
もう1つ知っておくべき特殊例があります。通常のページの401と、/robots.txt自体の401は同じ扱いではありません。/robots.txtが429以外の4xx(401を含む)を返すと、Googleはrobots.txtが存在しないかのように扱います。そのファイルによるクロール制限はないと判断するのであって、サイト全体に到達できないとはみなしません。/robots.txtを非公開ページと同じ認証ウォールの背後に置かないでください。
401は常に問題か? いいえ。
401は、公開したいページで意図せず返された場合だけバグです。ページが本当に非公開なら、401は検索から除外するための正しい方法であり、Googleも推奨しています。John MuellerはSearch Engine Journalが伝えた発言で、理想的な方法は通常のユーザーがコンテンツを見られないサーバー側認証であり、「that would include GoogleBot」 (翻訳)「それにはGoogleBotも含まれる」と明確に述べています。(Search Engine Journal が2019年のGoogleハングアウトから伝えた内容。断片を逐語検証した引用ではなく、正確に言い換えられた担当者発言として扱ってください。)
サーバー側認証(401を生成するもの)は、非公開コンテンツを隠すために彼が推奨する仕組みです。robots.txtより優先されるのは、ボットに外に出てほしいと頼むだけでなく、実際にアクセスをブロックできるからです。
判断の枠組みは簡単です。
- 401のままにするべき: ステージング環境、会員限定エリア、内部ツール、本当に非公開なもの。設計どおりに動いています。修正しないでください。
- 修正が必要: 公開され、インデックス可能なページが誤って401を返している場合。CDN/WAFの誤検知、残ったBasic Auth、期限切れのトークン、プラグイン/ミドルウェアの競合などが原因です。
SEOへの影響と「自分には動く」罠
実際に起きる失敗は次のとおりです。
- インデックスさせたいページが見えないままになる。 ゲートを外すまで続きます。
- 以前ランキングしていたページが消える。 401を返し始めた場合です。
- 「自分には動く」罠: テストしている人は認証済み、ログイン済み、または許可リストのIPにいます。クローラーは違います。401についてGoogleが示す方法は*「You can verify this error by visiting the page in incognito mode.」* (翻訳)「シークレットモードでページにアクセスすれば、このエラーを確認できます」です。さらに、
curl -I https://example.com/pageを使って未認証でテストするか、Search ConsoleのURL検査/ライブテストを使ってください。
実際のクローラーを通す必要がある場合は、ユーザーエージェント文字列を信頼せず、IP/逆引きDNSで確認してください。ユーザーエージェント文字列は簡単に偽装できるため、「Googlebot」という名前だけで許可リストに入れるのはセキュリティホールであり、修正ではありません。
ペイウォールや購読者限定コンテンツはどうするか
ゲート付きコンテンツをランキングさせたい場合、全員(Googlebotを含む)に一律401を返す以外の選択肢があります。Googleは、isAccessibleForFree構造化データ を使い、購読者/登録ユーザー向けコンテンツについてGoogle専用クローラーの識別情報にアクセスを許可する方法で、ペイウォールコンテンツのインデックスをサポートしています。このマークアップの目的は次のとおりです。
「This structured data helps Google differentiate paywalled content from the practice of cloaking, which violates spam policies.」 (翻訳)「この構造化データは、ペイウォールコンテンツと、スパムポリシーに違反するクローキング行為をGoogleが区別する助けになります。」
ここに組み込まれた警告があります。構造化データで開示せず、Googlebotにだけ完全なコンテンツをひそかに配信するのはクローキングであり、スパムポリシー上のリスクです。ゲート付きコンテンツをインデックスさせたいなら、静かなバイパスではなく、認められた方法(マークアップ+クローラーアクセス)を使ってください。
望まない401を修正する方法
- 本当に望まない401か確認する。 このページは公開されるべきですか?ステージングや会員限定なら、修正するものはありません。
- 公開ページの認証要件を外す。 残ったBasic Auth(
.htaccess/nginx)を取り除き、期限切れのトークンを修正し、プラグイン/ミドルウェアの競合を解消します。 - CDN/WAFを確認する。どの層が401を出したか、すでに分かっているとは考えない。 レスポンス(および
WWW-Authenticateヘッダー)はチャレンジが起きたことを示しますが、発生場所は示しません。アプリ、ID/認証プロキシ、CDNまたはWAFのボット管理ルール、オリジンサーバーは、どれも401を生成できます。エッジのボット管理ルールによる誤検知はよくある原因です。各層のログを調べ、許可リストに入れる前に逆引きDNSでGooglebotを確認してください。 - 確認済みクローラーをユーザーエージェントではなくIP/逆引きDNSで通す。
- 公開できるページをインデックスから外すために401を使わない。 代わりに、クロールを許可したまま
noindexを使います。ログインウォールは本当に非公開であるべきコンテンツ用です。 - URL検査のライブテストで修正を検証する。 ただし合格は現在の取得の確認であり、保証ではありません。401修正後の再クロール、再インデックス、ランキング回復について、Googleは固定のタイムラインを約束していません。ライブテストの合格は、Googleのライブ取得が通ったことを示すだけです。スケジュールされたクロールやインデックスが追いつくまで時間を置き、即時の反転を期待せずPage Indexingレポートを再確認してください。
401のPage Indexingステータス「Blocked due to unauthorized request (401)」 (翻訳)「未認証リクエストのためブロック(401)」について、Google Search Consoleで診断、修正、検証する完全なワークフローは、専用の関連記事を参照してください。この記事はプロトコルと概念のレベルにとどめます。
Bing
Bingも機能上は同じです。Bingbotに401(または403)を返すURLはアクセス不能で、インデックスされません。BingbotもGooglebotと同じく未認証アクセスを必要とするため、許可リストにはユーザーエージェントではなく、公開されたIP範囲で確認します。
AIによる要約
Advanced版の要点をまとめると、次のとおりです。
- 401=認証情報がない、無効、または拒否された(「who are you?」 (翻訳)「あなたは誰?」)。RFC 9110 §15.5.2(RFC 7235に取って代わった)は、クライアントが使うべきスキームを示す
WWW-Authenticateヘッダーを必須にします。401は認証情報が送信されなかったことを証明せず、送信されて拒否された認証情報の後にも返ります。 - 401と403を確実に見分ける方法: 401には
WWW-Authenticateチャレンジが必要ですが、403には不要です。403の拒否は認証情報と無関係なこと(IPブロック、権限ルール、レート制限)があるためです。通常のGooglebotは認証情報を送らないので、GoogleによればGooglebotへの403は通常サーバー設定ミスです。Googleは他のクローラー/フェッチャーの識別情報を別途文書化しているため、これをすべてのGoogleクライアントに一般化しないでください。 - インデックス結果は同じ: Googleは429を除くすべての4xxを同じように扱います。コンテンツは「doesn’t exist」 (翻訳)「存在しない」ため、インデックスされず、以前インデックスされたURLは時間とともに外れます。降格ではなく二値です。
- サイト全体のクロールレートには影響しないが、URL単位の頻度は下がる: 401/403は全体のクロールレートを抑制せず、429や5xx系のシグナルだけが抑制します。一方、4xxを返し続ける個別URLは時間とともに再クロール頻度が下がります。さらに、
/robots.txt自体の401は「robots.txtが存在しない」と扱われ、ブロックとは扱われません。 - 401が正しい場合も多い: サーバー側認証は、ステージング/会員限定/非公開ページを隠すためにGoogleが認める方法です。インデックスさせたいページに当たったときだけ問題です。レスポンスだけでは、アプリ、IDプロキシ、CDN/WAF、オリジンのどの層が生成したか分かりません。
- 「自分には動く」罠: あなたは認証済みで、クローラーは認証されていません。シークレット、
curl -I、URL検査でテストしてください。ライブテストの合格は現在の取得を確認するだけで、再クロールや回復の保証ではありません。 - ペイウォール: 一律401ではなく、
isAccessibleForFreeマークアップ+クローラーアクセスを使います。Googlebotにだけ完全なコンテンツを黙って返すのはクローキングです。 - 修正: 認証要件を外す、IP/逆引きDNSでクローラーを確認する(ユーザーエージェントではない)、公開できるページのインデックス除外には401ではなく
noindexを使います。
公式ドキュメント
GoogleとHTTP仕様による一次情報です。
- HTTPステータスコード、ネットワーク/DNSエラーがGoogle検索に与える影響 — 4xxの扱い、「同じように扱う」ルール、401/403のクロールレートに関する注意です。
- Page Indexing report — 「Blocked due to unauthorized request (401)」 (翻訳)「未認証リクエストのためブロック(401)」と「Blocked due to access forbidden (403)」 (翻訳)「アクセス禁止のためブロック(403)」のステータス定義です。
- 購読・ペイウォールコンテンツの構造化データ —
isAccessibleForFreeと、一律401に代わる認められた方法です。 - GooglebotなどGoogleクローラーの確認 — 許可リストに入れる前に、ユーザーエージェントではなくIP/逆引きDNSで確認する方法です。
標準/リファレンス
- RFC 9110 §15.5.2 — HTTP Semantics: 401 Unauthorized — 現行の401+
WWW-Authenticate仕様(RFC 7235に取って代わった)です。 - MDN — 401 Unauthorized — 開発者向けの技術的定義(SEO固有ではない、二次情報)です。
ソースからの引用
記録に残る発言です。各リンクは、ソースページの引用箇所へ移動するディープリンクです。
Google — 401を含む4xxの扱い
- 「Google doesn’t use the content from URLs that return
4xxstatus codes… Google doesn’t index URLs that return a4xxstatus code, and URLs that are already indexed and return a4xxstatus code are removed from the index.」 (翻訳)「Googleは4xxステータスコードを返すURLのコンテンツを使いません。Googleは4xxステータスコードを返すURLをインデックスせず、すでにインデックスされていて4xxステータスコードを返すURLはインデックスから削除されます。」 — Google Search Centralの文書。 引用へ移動 - 「All
4xxerrors, except429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.」 (翻訳)「429を除くすべての4xxエラーは同じように扱われます。Googleのクローラーは、次の処理システムにコンテンツが存在しないと伝えます。」 引用へ移動 - 「Don’t use
401and403status codes for limiting the crawl rate. The4xxstatus codes, except429, have no effect on crawl rate.」 (翻訳)「クロールレートの制限に401や403ステータスコードを使わないでください。429を除く4xxステータスコードは、クロールレートに影響しません。」 引用へ移動
Google — Search Consoleヘルプ、401と403の項目
- 「The page was blocked to Googlebot by a request for authorization (401 response)… You can verify this error by visiting the page in incognito mode.」 (翻訳)「このページは認証リクエスト(401レスポンス)によってGooglebotからブロックされました。このエラーはシークレットモードでページにアクセスして確認できます。」 — Google Search Consoleヘルプ、Page Indexingレポート。 引用へ移動
- 「HTTP 403 means that the user agent provided credentials, but was not granted access. However, Googlebot never provides credentials, so your server is returning this error incorrectly. The page will not be indexed.」 (翻訳)「HTTP 403は、ユーザーエージェントが認証情報を提供したものの、アクセスを許可されなかったことを意味します。しかしGooglebotは認証情報を決して提供しないため、サーバーはこのエラーを誤って返しています。ページはインデックスされません。」 引用へ移動
Google — ペイウォールコンテンツ
- 「This structured data helps Google differentiate paywalled content from the practice of cloaking, which violates spam policies.」 (翻訳)「この構造化データは、ペイウォールコンテンツと、スパムポリシーに違反するクローキング行為をGoogleが区別する助けになります。」 — Google Search Centralの文書。 引用へ移動
MDN — 技術的定義
- 「The HTTP 401 Unauthorized client error response status code indicates that a request was not successful because it lacks valid authentication credentials for the requested resource.」 (翻訳)「HTTP 401 Unauthorizedクライアントエラーレスポンスステータスコードは、要求されたリソースに有効な認証情報がないため、リクエストが成功しなかったことを示します。」 — MDN Web Docs(SEO固有ではない、二次的な技術リファレンス)。 引用へ移動
- 「A 401 Unauthorized is similar to the 403 Forbidden response, except that a 403 is returned when a request contains valid credentials, but the client does not have permissions to perform a certain action.」 (翻訳)「401 Unauthorizedは403 Forbiddenレスポンスに似ています。ただし403は、リクエストに有効な認証情報が含まれていても、クライアントに特定の操作を行う権限がない場合に返されます。」 引用へ移動
John Mueller、Google(Search Engine Journal経由)
- 非公開コンテンツを隠すことについて:通常のユーザーがコンテンツを見られないようにするサーバー側認証――「that would include GoogleBot」 (翻訳)「それにはGoogleBotも含まれる」――が理想的な方法です。 2019年のGoogleハングアウトからSearch Engine Journal が伝えた内容。断片を逐語検証した引用ではなく、正確に言い換えられた担当者発言として扱ってください。
401と403:実際に見ているのはどちらで、修正が必要か
読者が実際に持つ疑問は2つです。これは401か403か?、そして問題なのか?。クリックして確認してください。
Diagnosing a 401 / 403 on your page
意図しない401を診断するプロンプト
影響を受けるURLの匿名レスポンスヘッダーと、関連する認証、CDN、ミドルウェア設定を1つ貼り付けます。最初にトークン、Cookie、秘密情報を削除してください。
Diagnose why this public URL returns HTTP 401 to an unauthenticated client. Check for
a valid WWW-Authenticate challenge, separate origin authentication from CDN/WAF and
application middleware, and distinguish an intentional private gate from a public-page
regression. Return: evidence, likely issuing layer, minimum safe fix, and exact
anonymous validation requests. Do not recommend user-agent-only bot allowlisting.
[PASTE SANITIZED HEADERS, LOG EVENT, AND CONFIG]認証例外をレビューするプロンプト
Review this proposed crawler-access rule for a gated site. Identify whether it relies
only on a spoofable user-agent, whether crawler identity is verified by published IP
ranges or reverse-and-forward DNS, and whether serving different content would create
a cloaking risk. Give a least-privilege alternative and a rollback test.
[PASTE SANITIZED RULE] Shell:匿名チャレンジを調べる
ブラウザーのCookieや認証情報なしで、ターミナルから実行します。
URL='https://example.com/private'
curl -sS -D - -o /dev/null "$URL"本当の401なら、WWW-Authenticateを調べます。匿名では401を返すのに、ログイン済みブラウザーでは200を返す公開URLは、上記の認証状態の罠です。
PowerShell:同じ匿名レスポンスを調べる
$response = Invoke-WebRequest -Uri 'https://example.com/private' -SkipHttpErrorCheck
$response.StatusCode
$response.Headers['WWW-Authenticate']Shell:一般ユーザーエージェントと申告したボットのユーザーエージェントを比較する
URL='https://example.com/page'
curl -sS -o /dev/null -w 'generic %{http_code}\n' "$URL"
curl -sS -o /dev/null -w 'claimed-bot %{http_code}\n' -A 'Googlebot' "$URL"比較によってユーザーエージェントのルールが明らかになることはありますが、Googlebotの検証にはなりません。どのクライアントでもその文字列を送れるためです。アクセスルールを変更する前に、IPまたは逆引き/正引きDNSで実際のクローラートラフィックを別途確認してください。
401を返す層を見つけるツール
- 一括HTTPステータスコードチェッカー: ブラウザーセッションなしで、どの公開URLが401を返すかを確認し、該当セットをエクスポートします。
- HTTP Header Checker: 発行した層の手掛かりとして、
WWW-Authenticate、キャッシュ/CDNヘッダー、リダイレクトのホップを調べます。 - Googlebot Verifier: アクセス例外を作る前にクローラーIPの証拠を検証します。ユーザーエージェント文字列だけでは何も証明できません。
- Search Console URL Inspection, Live Test: 修正後にGoogleのライブ取得がアクセスできることを確認します。
- CDN/WAFのセキュリティイベントとオリジンログ: リクエストIDと時刻を突き合わせ、エッジ、アプリケーション、オリジンのどこが401を生成したかを判断します。
確認テスト:401 Unauthorized
401の意味と検索エンジンの扱いについての簡単な5問です。それぞれ答えを選んでから、確認してください。
変更履歴
2026年8月22日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年8月6日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年7月17日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
Try it live
This is a real endpoint on this site — not a simulation.
Hit it from the button, open it in a new tab, or
curl -i it from your terminal, and the server answers with the actual status code this article is about.