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/」ディレクトリのすべてのファイルをクロール禁止にしつつ、特定の画像だけをクロールさせたい場合に利用します。

例:

User-agent: * Disallow: /images/ Allow: /images/public.jpg

この記述により、imagesディレクトリ内の「public.jpg」だけがクロールされ、その他の画像はクロールされません。

複数のUser-agentとDisallowの指定方法

robots.txtでは、複数のUser-agentやDisallowを指定することも可能です。たとえば、Googlebotに対しては特定のディレクトリのみをクロール禁止にし、その他のクローラーには全てのコンテンツを許可する設定ができます。

例:

User-agent: Googlebot Disallow: /restricted/ User-agent: * Disallow:

ここでは、Googlebotには「/restricted/」ディレクトリが禁止され、その他のクローラーには特に制限が設けられていません。

sitemapの指定方法

robots.txt内でサイトマップの場所を指定することも可能です。これは、検索エンジンに対してサイトの構造を理解させるために役立ち、クロールの効率を向上させる手助けとなります。

例:

User-agent: * Disallow: Sitemap: https://example.com/sitemap.xml

この記述により、検索エンジンはhttps://example.com/sitemap.xmlにアクセスし、サイト内のURLを把握します。

robots.txtとnoindexの違い

robots.txtはページのクロールを制御しますが、インデックスの有無には直接影響を与えません。特定のページがインデックスされるのを避けたい場合、robots.txtではなくHTMLの<meta name=”robots” content=”noindex”>タグを使用します。このタグを用いると、検索エンジンにそのページをインデックスしないよう指示できます。ただし、ページ自体のクロールも避けたい場合には、両方の方法を併用する必要があります。

SEOにおけるrobots.txtの効果

robots.txtはSEOにも間接的に影響を与えることがあります。クロールの際に必要なページのみを許可し、不要なページを制限することで、クローラーのリソースを効率的に利用できます。特に、大規模なサイトではクロールバジェットの管理が重要であり、robots.txtを適切に設定することで検索エンジンにとって有用なページを確実に巡回させることができます。

また、robots.txtはGoogleなどの検索エンジンにとってのリクエストですが、クローラーが必ずしも従うわけではない点も理解が必要です。

記事が気に入ったらシェアをお願いします!

記事は参考になりましたか?

ご意見・ご感想はこちら

はいいいえ