robots.txtが原因でサイトが検索されないときの直し方|サイト全体のクロールを止める Disallow: / の見つけ方と直したあとの確かめ方

サイトを公開したのに検索されない原因として robots.txt を疑っている方、または本サイトの診断 (以下、「診断」という) に「サイト全体で Googlebot のクロールを禁止しています」と出た方へ。robots.txt の Googlebot に効くルールに「Disallow: /」があり、それを打ち消す Allow が無いと、Google はページの内容を取得できません。ページの内容はインデックスに登録されず、URL だけが説明なしで検索結果に出ることがあります。場合によっては、ほかのページからそのページに張られたリンクの文字列などの公開情報が出ることもあります(robots.txt の概要、最終更新 2025-12-18)。
直すのはその行の値を空にするか、CMS やホスティングサービスの検索エンジン向けの設定を変えることです。Google は robots.txt のキャッシュを 24 時間おきに更新し(robots.txt ファイルを更新する)、ページがクロールされるまでには数日から数週間かかることがあり、検索結果に出るとは限りません(URL の再クロールを Google にリクエストする)。公開前のテスト環境用の設定が本番に残っていないかも疑ってください。
手順は 3 ステップです。効いている robots.txt と止めているルールを確かめ、ルールを直し、Google に新しい内容が届いたかを確かめます。robots.txt が無い場合やクロールを止める意図がある場合には、直さなくてよいことも書きます。
診断や Search Console の表示から、読む場所を決めてください
次の表を上から順に見て、最初に当てはまる行へ進んでください。診断の結果が手元に無ければ、SiteKensaの診断で対象のドメインを調べると表の左の列の表示が得られます。
| 診断や Search Console の表示 | 進む先 |
|---|---|
| 検索に出したいが、診断に「サイト全体で Googlebot のクロールを禁止しています」が出ている。「サイトは公開されているのに Googlebot のクロールを禁止しています」が重ねて出ていても同じ | ステップ 1/3 |
| 検索に出したいが、Search Console の URL 検査に「robots.txt によりブロックされています」、またはページのインデックス登録レポートに「URL が robots.txt によってブロックされています」か「robots.txt によりブロックされましたが、インデックスに登録しました」が出ている。診断にこの項目が出ているかは問わない | ステップ 1/3。サイト全体か一部かは、ステップ 1 で分かります |
| 検索結果から除外したくて robots.txt を使っている | 検索結果に出したくないとき |
| クロールを止める意図で robots.txt を書いている | 診断の表示があっても直さなくてよいとき |
| 診断に「robots.txt がありません」が出ている | 直さなくてよい状態です。robots.txt が無くても Google はサイトのすべての URL をクロールできます(robots.txt レポート)。いまの robots.txt は原因ではありません |
| 診断に「robots.txt の取得がエラー」で始まる項目が出ている | 診断が受け取ったのと同じ応答を Google も受け取っているなら、制限は効いていません。429 以外の 4xx が返るとき、Google は有効な robots.txt が無いものとみなし、クロールの制限は無いものとして扱います(Google による robots.txt の指定の解釈、最終更新 2026-09-11)。制限したいなら、robots.txt をクローラーが取得できる状態にしてください |
| 診断に「robots.txt を取得できませんでした」で始まる項目が出ている | いま開いて robots.txt の内容が表示され、診断をもう一度実行して同じ項目が出なければ、一時的なエラーでした。Google 側で取れているかは、Search Console の robots.txt レポートの取得ステータスが「取得済み」かで確かめます(robots.txt レポート)。エラーが続くなら、サーバーの管理者に、robots.txt への要求にそのエラーが返っていることを伝えてください。Google は 429 もサーバーエラーとして扱います(HTTP ステータス コード、ネットワーク エラー、DNS エラーが Google 検索に与える影響、最終更新 2026-03-06)。この記事の範囲外です |
| 診断に「サイトマップの場所が robots.txt に書かれていません」が出ている | この行が無いことでクロールは禁止されません。Sitemap の行は省略できます(robots.txt の書き方、設定と送信、最終更新 2025-11-26) |
| 診断に「robots.txt に解釈できない行が」で始まる項目が出ている | Google は無効な行を無視し、有効な行だけを使います(Google による robots.txt の指定の解釈)。ただし直さなくてよいとは限りません。意図した Disallow や Allow の行が無視されていないかを Search Console の robots.txt レポートで確かめてください。解釈できなかった行がハイライトされます(robots.txt レポート) |
| robots.txt に、対象のページに当たる Disallow が無いのに検索に出ない | この記事の範囲外です。noindex の指定や、まだ Google がページを見つけていないことなど、別の原因が考えられます |
出てくる用語
| 語 | この記事での意味 |
|---|---|
| robots.txt | 検索エンジンのクローラーに対して、サイトのどの URL にアクセスしてよいかを伝えるファイルです。Google の検索結果にページを出さないための仕組みではありません |
| Googlebot | Google の検索用クローラーです。ホストごとに置かれた robots.txt を読み、書かれたルールに従います |
| クロールとインデックス登録 | クロールはクローラーがページを読みに行くこと、インデックス登録はその内容を検索結果に使える状態にすることです。robots.txt はクロールを制御するもので、インデックス登録そのものを止める仕組みではありません |
| User-agent とグループ | robots.txt は User-agent の行から始まる「グループ」の集まりです。1 つのグループには、対象のクローラーとそのクローラーに許可・禁止するパスを書きます。User-agent: * の * はすべてのクローラーを表し、パスの中の * は 0 文字以上の任意の文字を表します |
| Disallow と Allow | Disallow はクロールを許可しないパス、Allow はクロールを許可するパスです。値が無い行は無視されます |
| ホスト | URL のうち、example.jp や www.example.jp のようにサーバーを表す部分です。この 2 つは別のホストで、それぞれ別の robots.txt を持てます |
| ポート番号 | 接続先の番号です。https は 443、http は 80 が標準で、URL に書かなければ標準の番号が使われます |
| RFC 9309 | robots.txt の仕様を定めた文書です。Google の解釈はこれをもとにしています |
| Search Console | 自分のサイトが Google にどうクロールされ、インデックスに登録されているかを確かめられる Google のサービスです。登録したサイトの単位を「プロパティ」と呼びます |
| ライブテスト | Search Console の URL 検査で「公開 URL をテスト」を押したときの結果です。いまのページを Google が取りに行って判定します。押さずに出る結果は前回クロールしたときの情報です |
| noindex | ページを検索結果から除外するための指定です。robots.txt でブロックされているとクローラーはこの指定を読めません |
ステップ 1/3:効いている robots.txt と止めているルールを確かめてください
どの robots.txt が効いているか
robots.txt は、プロトコル・ホスト・ポート番号の組み合わせごとに置かれます。https://example.jp/ と https://www.example.jp/ は別のホストなので、それぞれ別の robots.txt を持てます。「http://」と「https://」も別として扱われます(Google による robots.txt の指定の解釈の「ファイルの場所と有効範囲」)。
診断は、転送をたどった先の URL の robots.txt を見ます。たどり着いた URL は診断結果の上部に出るので、その URL のホスト名より後ろを /robots.txt に替えて開いてください。診断結果でこの項目を開くと「観測した内容を見る」があり、その robots.txt の先頭部分が出ます。先頭に問題の行が無いこともあるので、全体はブラウザで開いて読んでください。
シークレットウィンドウか、それに相当するプライベートブラウジングで https://www.example.jp/robots.txt のように開くと実際に公開されている内容を確認できます(robots.txt の書き方、設定と送信)。
Googlebot に効くグループの読み方
robots.txt には、User-agent の行から始まるグループがいくつも書けます。Google のウェブ検索のクローラーである Googlebot は、User-agent: Googlebot のグループがあればそれに従い、無ければ User-agent: * のグループに従います。特定のクローラー向けのグループと * のグループは、結合されません(Google による robots.txt の指定の解釈の「ユーザー エージェントの優先順位」)。
同じ User-agent のグループが複数に分かれて書かれていても Google のクローラーは内部で 1 つにまとめてから読みます(Google による robots.txt の指定の解釈の「ルールのグループ化」)。
Sitemap の行や Crawl-delay の行は、グループを区切りません。Google の解説にある例では、「User-agent: a」の直後に Sitemap の行を挟んでも、続く「User-agent: b」までが 1 つのグループにまとまり、そのあとの Disallow は a にも b にも適用されます(Google による robots.txt の指定の解釈の「ルールのグループ化」)。RFC 9309 セクション2.2.4 も、Sitemaps のような他のレコードがグループを終わらせてはならないと定めています。
サイト全体の禁止かどうかの判定表
| Googlebot に効くグループの中身(ほかに Allow・Disallow の行が無い場合) | 判定 |
|---|---|
Disallow: / があり、空でない Allow: が無い |
サイト全体のクロールを禁止しています。診断が「サイト全体で Googlebot のクロールを禁止しています」として出す状態です |
Disallow: /* があり、空でない Allow: が無い |
同上です。/* は / と同じ扱いになります(Google による robots.txt の指定の解釈の「パスの一致の例」) |
Disallow: / と Allow: /xxx の両方がある |
/xxx で始まるパスは読めます。全体ではありません |
Disallow: (値が空) |
制限はありません。値の無い Disallow は無視されます(Google による robots.txt の指定の解釈) |
Disallow: /xxx/ のように一部のパスだけ |
指定したパスだけ禁止しています。全体ではありません |
User-agent: Googlebot に Disallow: /、別の User-agent: * に Allow: / |
Googlebot だけ止まります(Google による robots.txt の指定の解釈の「ユーザー エージェントの優先順位」) |
ほかにも Allow や Disallow の行があるときは、パスの長い、最も限定的なルールが使われます(Google による robots.txt の指定の解釈の「ルールの優先順位」)。優先順位が複雑に見えるときは、次の項の URL 検査で対象のページを直接確かめてください。
ページ単位で確かめたいとき
特定のページだけを確かめたいときは、Search Console の URL 検査を使います。対象ページを検査し、「公開 URL をテスト」を押して、ライブテストの結果の「クロールを許可?」を見ます。許可されていなければ、そのページはいまの robots.txt で止まっています。押さずに出る結果は前回クロールしたときの情報です(URL 検査ツール)。
Search Console の robots.txt レポートは、登録したサイトの robots.txt の取得状況を見せます。ただし、ドメインプロパティか、パスの無い URL プレフィックスプロパティでだけ使えます(robots.txt レポート)。
SiteKensa の診断は、個別のページが許可されているかまでは判定しません。個別のページは、上の URL 検査で確かめてください。
ステップ 2/3:ルールを直してください
直す前に、いまの robots.txt の内容を控えておきます。ブラウザで robots.txt を開いて、中身をコピーしておきます。控えておけば、直した結果が思わしくなかったときに戻せます。
robots.txt をどこで直すか
公開ディレクトリは、サイトのファイルを置く場所で、ブラウザで https://www.example.jp/ と開いたときに表示されるファイルがある場所です。最初に確かめるのは 1 つで、サーバーのファイルマネージャーか FTP ソフトで公開ディレクトリの最上位を開き、robots.txt というファイルがあるかを見ます。あれば、まずそのファイルを直します。無ければ、CMS かホスティングサービスの側が内容を作っているので、表の 2 行目以降へ進みます。ファイルを直したのにブラウザで開く内容が変わらないときも、2 行目以降へ進みます。
| 置き方 | 直す場所 |
|---|---|
| 自分でファイルを置いている(レンタルサーバー、自分のサーバー) | レンタルサーバーならファイルマネージャーか FTP ソフトで、公開ディレクトリの最上位にある robots.txt をダウンロードし、テキストエディタで編集して UTF-8 で保存し、同じ場所へ上げ直します。サブディレクトリに置いた robots.txt は効きません。上げ直す手段はサーバーによって違うので、ご利用のホスティング事業者の案内で確かめてください(robots.txt の書き方、設定と送信)。ファイルマネージャーも FTP ソフトも使ったことが無ければ、依頼する道を選んでください。サイトを作った制作会社か、サイトかサーバーの管理者に、次の項の「直した後」の内容をそのまま伝えて依頼します(robots.txt ファイルを更新する) |
| CMS が生成している(WordPress など) | WordPress は、robots.txt の内容を自動で作って返せます。本体の「検索エンジンがサイトをインデックスしないようにする」設定は、バージョン 5.3 以降 robots.txt に Disallow: / を出さず、noindex で検索結果から除外します(WordPress のソースコードの do_robots の変更履歴、2026-09-13 確認)。この設定は、管理画面の「設定」の「表示設定」にあります(Settings Reading screen。日本語の画面名は WordPress の公式翻訳で確認)。検索に出したいなら、この設定も外してください。robots.txt に Disallow: / があるなら、名前に robots や SEO を含むプラグインの設定を手がかりに見て、次にテーマの設定を見るか、サイトを作った制作会社に「robots.txt に Disallow: / を出している設定を止めてほしい」と伝えてください |
| ホスティングサービス(Wix、Jimdo など) | robots.txt を直接編集できないことがあります(robots.txt の概要)。検索エンジン向けの公開設定を探してください。Google は「robots.txt サービス名」で検索することを勧めています(robots.txt によってブロックされているページのブロックを解除する) |
robots.txt を何に直すか
止めたい範囲が無いなら、その Disallow: / の値を空にします。すべてのクロールを許可する形は、ルールを何も書かないのと同じ結果になります(robots.txt の書き方、設定と送信)。たとえば次の 3 行の robots.txt なら、2 行目の値を空にします。
直す前:
User-agent: *
Disallow: /
Sitemap: https://www.example.jp/sitemap.xml
直した後:
User-agent: *
Disallow:
Sitemap: https://www.example.jp/sitemap.xml
この形にするとすべてのクローラーがサイト全体にアクセスできます。クロールの許可の結果は、robots.txt が無い場合や Allow: / を書く場合と同じです(実用的な robots.txt ルールの一覧、最終更新 2026-06-16)。Sitemap の行はそのまま残せます。robots.txt ごと消しても構いません(robots.txt レポート)。
一部だけ止めたいなら、Disallow: /{止めたい範囲}/ の形にします。波かっこの部分は、波かっこごと自分の値に置き換えます。たとえば /test/ の下だけ止めるなら Disallow: /test/ と書きます。末尾の / があると、そのディレクトリの中だけが対象です(robots.txt の書き方、設定と送信)。
グループが 2 つ以上あるときは、行を消したあとにどの User-agent とどのルールが同じグループになるかに注意してください。次のように Googlebot 用のグループと * 用のグループが分かれているとします。
直す前:
User-agent: Googlebot
Disallow: /
User-agent: *
Disallow: /{止めたい範囲}/
「Disallow: /」の行だけを消すと次のようになります。
User-agent: Googlebot
User-agent: *
Disallow: /{止めたい範囲}/
連続する User-agent の行は、1 つのグループになります(Google による robots.txt の指定の解釈の「行とルールのグループ化」)。ここでは Googlebot と * が 1 つのグループにまとまり、Disallow: /{止めたい範囲}/ が Googlebot にも適用されるようになります。Googlebot にはすべて許可したいなら、行を消さずに Googlebot のグループの Disallow: / を Allow: / に替えます。Googlebot もほかと同じ範囲だけ止めたいなら、Googlebot のグループを丸ごと消して * のグループだけにします。直したあとは robots.txt 全体を開いて、どの User-agent とどのルールが同じグループになるかを確かめてください。
テスト環境用の禁止設定を本番へ持ち込まないようにしてください。
ステップ 3/3:Google に新しい内容が届いたかを確かめてください
確かめることは 2 つあり、両方が要ります。1 つ目は自分で確かめるものです。シークレットウィンドウで robots.txt を開くと新しい内容になっていて、Disallow: / が無いこと。そして、診断をもう一度実行すると「サイト全体で Googlebot のクロールを禁止しています」が消えていることです。重ねて出ていた「サイトは公開されているのに Googlebot のクロールを禁止しています」も一緒に消えます。robots.txt ごと消した場合は、診断に「robots.txt がありません」が出れば合格です。診断が「robots.txt を取得できませんでした」なら、まだ確かめられていません。
2 つ目は Google 側で確かめるもので、検索に出したいページを Search Console の URL 検査にかけ、「公開 URL をテスト」を押して、ライブテストの結果の「クロールを許可?」が許可になっていることです。ページが複数あるなら、代表になるものを何枚か試してください。押さずに出る結果は前回クロールしたときの情報で、いまの robots.txt を見ていません。URL 検査は、Search Console の画面の上部にある検索バーにそのページの完全な URL を入れると開きます(URL 検査ツール)。robots.txt レポートが使えるプロパティなら、「前回取得されたバージョン」が新しい内容になっていることでも確かめられます。
直したあとも診断や URL 検査にブロックが残るとき
Google は robots.txt の内容を通常最大 24 時間キャッシュします。取得できない状態が続くとさらに長く古い内容を使うことがあります(Google による robots.txt の指定の解釈の「キャッシュ」)。
Search Console の robots.txt レポートの「確認日時」は、Google が取得を試みた日時です。取得に失敗していれば内容は更新されないので、「確認日時」だけでなく「取得済み」になっているかも合わせて見てください。急ぐときは、同じレポートから再クロールをリクエストできます。リクエストしてもブロックを解除した URL がすぐに再クロールされるとは限りません(robots.txt レポート)。
| 何を待つか | 目安 |
|---|---|
| robots.txt の読み直し | 通常 24 時間おきです(robots.txt ファイルを更新する)。取得できない状態が続くとさらに長く古い内容が残ることがあります |
| ページのクロール | 数日から数週間かかることがあります。再クロールをリクエストしてもコンテンツが検索結果にすぐ表示されるとは限らず、まったく表示されないこともあります(URL の再クロールを Google にリクエストする、最終更新 2025-12-31) |
| 「修正を検証」を押した場合 (Search Console のページのインデックス登録レポートで、直した問題の詳細ページにあるボタン。押さなくても直したことは反映されます) | 通常 2 週間ほどで完了します。それより長くかかる場合もあります(ページのインデックス登録レポート) |
戻し方: 直した結果、止めたかった範囲までクロールされるようになったなら、控えておいた robots.txt に戻します。ホスティングサービスの設定で直した場合は、その設定を戻します。戻した内容も、Google が再取得するまでは反映されません。
診断の表示があっても直さなくてよいとき
診断が「サイト全体で Googlebot のクロールを禁止しています」と出していてもクロールを止める意図で robots.txt を書いているなら、この判定は想定どおりで、直す必要はありません。
検索結果に出したくないとき
検索結果から除外したいなら、robots.txt は正しい手段ではありません。Google は、robots.txt を検索結果からページを除外するための仕組みとして使わないよう案内しています。robots.txt でブロックされたページでも、URL が説明なしで検索結果に表示されることがあります。場合によっては、ほかのページからそのページに張られたリンクの文字列などの公開情報が表示されることもあります(robots.txt の概要)。
検索結果から確実に除外したいなら、noindex を使うか、パスワードで保護してください。noindex を使うときは、robots.txt によるブロックを外します。noindex を効かせるには、クローラーがそのページにアクセスできる必要があり、Google がページを読み直してから効きます。robots.txt でブロックされているとクローラーは noindex の指定を読めません(noindex を使用してコンテンツをインデックスから除外する、最終更新 2025-12-31)。
ページのインデックス登録レポートの「robots.txt によりブロックされましたが、インデックスに登録しました」は、robots.txt で止めたページが、ほかのページからのリンクをもとに登録された状態です(ページのインデックス登録レポート)。
まずは全体を診断してみましょう
専門知識がなくてもいまの設定状況と具体的な対処方法をわかりやすく確認できます。
ドメイン設定を診断する利用中のDNS事業者が分かっているなら事業者別の設定手順から直接進めます。