robots.txt
更新日:
robots.txtとは
robots.txtは、ウェブサイトの管理者が検索エンジンのクローラーに対してクロールの許可や禁止を指定するためのテキストファイルです。このファイルはウェブサイトのルートディレクトリに配置され、クローラーがページのどの部分をクロールするか、またはしないかを指示します。特定のページを検索エンジンにインデックスさせたくない場合や、リソースのクロールを制限したい場合に役立ちます。
robots.txtの基本構造
robots.txtファイルはシンプルなテキストファイルで、主に以下のような要素で構成されています。
- User-agent
どのクローラーに対する指示かを示します。特定のクローラー向けにルールを設定する場合は、例えば「User-agent: Googlebot」と指定し、全てのクローラーに共通の指示を出す場合は「User-agent: *」と記述します。 - Disallow
クローラーにアクセスを禁止するURLパスを指定します。これにより、指定されたページやディレクトリが検索エンジンにクロールされるのを防ぐことができます。 - Allow
特定のディレクトリ内で一部のファイルやフォルダのみクロールを許可するために使用します。
robots.txtは非常に簡潔な構造であり、ユーザーが設定したルールに基づいてクローラーの動作を制御します。
robots.txtの代表的な記述例
以下にrobots.txtの記述例をいくつか挙げます。
-
全てのクローラーに対して全ページを許可する場合
User-agent: * Disallow:この設定により、すべてのページがクロールされます。
-
全てのクローラーに対して全ページのクロールを禁止する場合
User-agent: * Disallow: /これは、ウェブサイト全体のクロールを停止したい場合に使用されます。
-
特定のディレクトリのみをクローリング禁止する場合
User-agent: * Disallow: /private/この例では、/private/ディレクトリ以下のページがクロールされないように指示しています。
-
特定のファイルにアクセスを制限する場合
User-agent: * Disallow: /sample-page.htmlこの場合、/sample-page.htmlのみがクローリングの対象外となります。
これらのルールを組み合わせることで、サイトの各部分に対して適切なアクセス制限をかけることが可能です。
DisallowとAllowの使い分け
DisallowとAllowは、クロールを制御する上で非常に役立つ指定です。たとえば、「/images/」ディレクトリのすべてのファイルをクロール禁止にしつつ、特定の画像だけをクロールさせたい場合に利用します。
例:
この記述により、imagesディレクトリ内の「public.jpg」だけがクロールされ、その他の画像はクロールされません。
複数のUser-agentとDisallowの指定方法
robots.txtでは、複数のUser-agentやDisallowを指定することも可能です。たとえば、Googlebotに対しては特定のディレクトリのみをクロール禁止にし、その他のクローラーには全てのコンテンツを許可する設定ができます。
例:
ここでは、Googlebotには「/restricted/」ディレクトリが禁止され、その他のクローラーには特に制限が設けられていません。
sitemapの指定方法
robots.txt内でサイトマップの場所を指定することも可能です。これは、検索エンジンに対してサイトの構造を理解させるために役立ち、クロールの効率を向上させる手助けとなります。
例:
robots.txtとnoindexの違い
robots.txtはページのクロールを制御しますが、インデックスの有無には直接影響を与えません。特定のページがインデックスされるのを避けたい場合、robots.txtではなくHTMLの<meta name=”robots” content=”noindex”>タグを使用します。このタグを用いると、検索エンジンにそのページをインデックスしないよう指示できます。ただし、ページ自体のクロールも避けたい場合には、両方の方法を併用する必要があります。
SEOにおけるrobots.txtの効果
robots.txtはSEOにも間接的に影響を与えることがあります。クロールの際に必要なページのみを許可し、不要なページを制限することで、クローラーのリソースを効率的に利用できます。特に、大規模なサイトではクロールバジェットの管理が重要であり、robots.txtを適切に設定することで検索エンジンにとって有用なページを確実に巡回させることができます。
また、robots.txtはGoogleなどの検索エンジンにとってのリクエストですが、クローラーが必ずしも従うわけではない点も理解が必要です。