SEO

robots.txtとは?SEOでの役割と正しい設定方法を初心者向けに解説

WebサイトのSEO対策を進めるなかで、「robots.txt」という言葉を見かけたことはないでしょうか。検索エンジンの巡回に関わる設定ですが、役割を誤解したまま編集すると、検索に表示したいページの情報を取得してもらえなくなる可能性があります。

特に注意したいのは、「クロールを止めること」と「検索結果に表示させないこと」は異なるという点です。本記事では、robots.txtの基本からSEOでの役割、設定方法、運用時の注意点までを初心者向けに解説します。

robots.txtとは?

robots.txtとは、検索エンジンのクローラーに対して、サイト内のどこを巡回してよいかを伝えるテキストファイルです。クローラーとは、Webページを自動的に訪問し、情報を集めるプログラムを指します。

例えば、サイト内の特定のフォルダについて、情報を取得しないよう指示できます。ただし、robots.txtはアクセスを強制的に遮断する仕組みではありません。ルールに従わないクローラーもあるため、機密情報を守る用途には使えません。

クロールとインデックスの違い

クロールは、検索エンジンがページへアクセスして内容を取得することです。一方、インデックスは、取得した情報などを検索対象として登録することを指します。

robots.txtが主に制御するのは、このうちクロールです。ページのクロールを禁止しても、別のページに設置されたリンクなどからURLが認識され、検索結果に表示される場合があります。

「robots.txtで禁止すれば検索結果から消える」と考えず、目的に合った方法を選ぶことが大切です。

robots.txtがSEOで果たす役割

不要なクロールを抑える

robots.txtは、クローラーによる不要なアクセスを抑え、サイトの巡回を管理するために使います。

例えば、大規模なECサイトでは、商品の絞り込み条件によって似た内容のURLが大量に生まれることがあります。こうしたURLへのアクセスが増えている場合、クロール対象の整理を検討する余地があります。

ただし、URLが似ていても、検索からの集客に役立つページまで一律に止めるのは避けたいところです。検索に表示したい商品ページやカテゴリーページを明確にしたうえで、制限する範囲を判断しましょう。

設定すれば検索順位が上がるわけではない

robots.txtは、設置するだけで検索順位が上がる施策ではありません。クロールを整理しても、重要なページの巡回や検索表示が必ず増えるとは限りません。

Googleのクロールバジェットに関するガイドも、主に大規模サイトや更新頻度の高いサイトを対象としています。一般的な企業サイトや小規模メディアでは、必要以上に制限を増やすより、重要なページへ適切にリンクし、内容を充実させることを優先しましょう。

robots.txtの基本的な書き方

robots.txtでは、対象となるクローラーと、クロールを許可・禁止する場所を記述します。基本となる項目は「User-agent」「Disallow」「Allow」「Sitemap」です。

対象と禁止範囲を指定する

「User-agent」はルールを適用するクローラーを指定し、「Disallow」はクロールを禁止するパスを指定します。

次は、一般的なクローラーに対して、例示用の「/sample-area/」配下をクロールしないよう伝える設定です。

User-agent: *
Disallow: /sample-area/

「*」は広くクローラーを対象とする指定です。ただし、一部のクローラーには個別の指定が必要になります。また、robots.txtのルールに従わないプログラムのアクセスを防ぐことはできません。

このパスは説明用のため、そのまま使うのではなく、自サイトで制限が必要な場所に置き換えます。禁止していない場所は、原則としてクロール可能です。

Allowで例外を設ける

「Allow」は、クロールを許可する範囲を指定します。禁止したフォルダの一部を例外として許可したい場合などに使います。

User-agent: *
Disallow: /sample-area/
Allow: /sample-area/public/

この例では、「/sample-area/」配下を禁止し、その中の「/sample-area/public/」配下は許可します。Googleでは、同じURLに複数のルールが該当する場合、より具体的なパスに一致するルールが優先されます。

指定するパスは大文字と小文字が区別されるため、実際のURLと一致しているかも確認しましょう。

Sitemapでサイトマップの場所を伝える

「Sitemap」は、XMLサイトマップの場所を伝える項目です。XMLサイトマップとは、検索エンジンに見つけてもらいたいURLなどをまとめたファイルです。

Sitemap: https://example.com/sitemap.xml

ここには、自サイトで実際に公開しているサイトマップの完全なURLを記載します。サイトマップを指定しても、クロールやインデックス登録が保証されるわけではありません。また、Disallowによる禁止を解除する設定でもありません。

robots.txtを正しく設定する手順

現在の設定と制限する目的を確認する

まず、自サイトのドメイン末尾に「/robots.txt」を付け、ブラウザで現在の内容を確認します。既存の設定がある場合は、変更前の内容を保存しておきましょう。

次に、目的が「不要な巡回を減らすこと」なのか、「検索結果に表示させないこと」なのかを整理します。目的が曖昧なまま、他サイトの設定を丸ごとコピーするのは避けてください。

CMSやサイト作成サービスによっては、ファイルを直接編集するのではなく、専用の設定機能を使う場合もあります。利用環境に応じた編集方法を確認して進めます。

ファイルを作成して正しい場所に配置する

ファイルを自分で作成する場合は、テキストエディタを使い、UTF-8形式で「robots.txt」という名前で保存します。

配置先は、対象サイトの最上位の階層です。例えば「https://example.com/robots.txt」でアクセスできる場所に置きます。「/blog/robots.txt」のように、下位のフォルダへ置く方法ではありません。

また、別のサブドメインやHTTP・HTTPSには、その設定が自動で適用されません。複数のホストでサイトを運営している場合は、それぞれ確認が必要です。

公開後に重要なページを確認する

公開後は、ブラウザでrobots.txtにアクセスし、意図した内容が表示されるか確認します。あわせて、Google Search ConsoleのURL検査で、主要な記事やサービスページがクロール可能かを確認しましょう。

変更した直後は、Googleが以前のrobots.txtを保持している場合があります。保存が完了したことだけで判断せず、取得状況やページへの影響も継続して確認することが大切です。

robots.txtで避けたい設定ミス

サイト全体を誤ってブロックする

特に注意が必要なのが「Disallow: /」という指定です。対象となるクローラーに対し、サイト全体のクロールを禁止する意味になります。

公開サイトで誤って設定すると、ページの新規取得や更新内容の確認を妨げます。サイト公開時やリニューアル時には、制作中の設定が残っていないか確認しましょう。

noindexと同じ目的で使う

検索結果に表示させたくないページには、原則として「noindex」を検討します。HTMLページでは、次の指定をhead内に設置する方法があります。

<meta name="robots" content="noindex">

Googleがこの指定を読み取るには、ページをクロールできる必要があります。同じページをrobots.txtでブロックすると、noindexを認識できなくなるため注意が必要です。

なお、robots.txt内に「noindex」と書く方法はGoogleではサポートされていません。

表示に必要なファイルまで禁止する

CSSやJavaScriptなど、ページの表示や内容の理解に必要なファイルをブロックすると、Googleがページを正しく把握できなくなる可能性があります。

また、管理画面や非公開資料のURLをrobots.txtに書いても、情報の保護にはなりません。第三者に見せてはいけない情報は、認証やアクセス制限によって管理する必要があります。

まとめ

robots.txtは、検索エンジンのクロール範囲を管理するためのファイルです。不要な巡回を抑える場面で役立ちますが、検索結果からの削除や機密情報の保護を目的とした仕組みではありません。

設定する際は、制限する理由と対象を明確にし、必要な範囲だけを指定しましょう。変更前のバックアップと公開後の確認を習慣にすることが、重要なページのクロールを妨げずに運用するための基本です。