公開:

robots txtとは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


robots txtとは

robots.txtとは、ウェブサイトのルートディレクトリに配置されるテキストファイルのことを指します。このファイルには、検索エンジンのクローラーに対して、ウェブサイト内のどのページをクロールすべきか、あるいはクロールすべきでないかを指示するための記述が含まれています。

robots.txtは、ウェブサイトの管理者が検索エンジンのクローラーに対して指示を与えるための手段であり、クローラーがウェブサイト内のページをクロールする際に、まず最初にこのファイルを読み取ります。これにより、ウェブサイト管理者は、クローラーにクロールさせたくないページや、優先的にクロールしてほしいページを指定することができるのです。

ただし、robots.txtはあくまでも検索エンジンのクローラーに対する指示であり、法的拘束力を持つものではありません。つまり、クローラーがrobots.txtの指示に従うかどうかは、検索エンジン側の判断に委ねられているということです。

また、robots.txtはクロール制御のためのファイルであり、インデックス(検索結果に表示されること)の制御とは直接関係がありません。クロールされたページが必ずしもインデックスされるわけではなく、その逆もまた然りです。

robots.txtの記述方法には一定のルールがあり、ユーザーエージェント(クローラーの種類)とディレクティブ(Allowディレクティブ、Disallowディレクティブ)を使って指示を記述します。正しく記述されたrobots.txtを用意することで、ウェブサイト管理者は検索エンジンクローラーの動作をコントロールすることができるのです。

robots txtの記述方法と注意点

robots.txtの記述方法と注意点に関して、以下3つを簡単に解説していきます。

  • robots.txtの基本的な記述ルール
  • robots.txtにおけるユーザーエージェントの指定方法
  • robots.txtのディレクティブの種類と使い方

robots.txtの基本的な記述ルール

robots.txtの記述には、一定のルールがあります。基本的には、ユーザーエージェント(User-agent)とディレクティブ(Disallow、Allow)を組み合わせて指示を記述していきます。

ユーザーエージェントとは、クローラーの種類を指定するためのものです。ディレクティブは、そのユーザーエージェントに対する指示を記述するために使用します。これらを組み合わせることで、特定のクローラーに対して、特定のページをクロールさせる・させないという指示を出すことができるのです。

ただし、robots.txtの記述は、大文字と小文字が区別されません。また、行の終わりには必ず改行コードを入れる必要があります。これらのルールを守らないと、正しく動作しない可能性があるので注意が必要です。

robots.txtにおけるユーザーエージェントの指定方法

robots.txtでは、ユーザーエージェントを指定することで、特定のクローラーに対して指示を出すことができます。ユーザーエージェントは、「User-agent:」の後に指定します。

例えば、Googleのクローラーに対して指示を出したい場合は、「User-agent: Googlebot」と記述します。全てのクローラーに対して指示を出したい場合は、「User-agent: *」とワイルドカードを使って記述します。

ユーザーエージェントは、複数指定することもできます。その場合は、それぞれのユーザーエージェントに対して個別にディレクティブを記述する必要があります。また、ユーザーエージェントの指定は、大文字と小文字が区別されないので注意が必要です。

robots.txtのディレクティブの種類と使い方

robots.txtでは、ディレクティブを使ってクローラーへの指示を記述します。代表的なディレクティブには、「Disallow」と「Allow」の2つがあります。

Disallowディレクティブは、クロールを禁止するページやディレクトリを指定するために使用します。例えば、「Disallow: /private/」と記述すると、/private/ディレクトリ以下のページがクロールされなくなります。

一方、Allowディレクティブは、クロールを許可するページやディレクトリを指定するために使用します。例えば、「Disallow: /」でサイト全体のクロールを禁止した上で、「Allow: /public/」と記述すると、/public/ディレクトリ以下のページのみがクロールされるようになります。ただし、Allowディレクティブは、Disallowディレクティブよりも優先度が低いので注意が必要です。

robots txtの活用事例

robots.txtの活用事例に関して、以下3つを簡単に解説していきます。

  • クローラーからのアクセスを制御する
  • 検索エンジンに非公開ページを知らせる
  • クロールの負荷を軽減する

クローラーからのアクセスを制御する

robots.txtを使えば、特定のページやディレクトリへのクローラーからのアクセスを制御することができます。これは、サーバーへの負荷を軽減したり、非公開のページを保護したりする際に役立ちます。

例えば、管理者ページなどの非公開ページがある場合、そのページへのクロールを禁止することで、検索エンジンの検索結果に表示されないようにすることができます。また、大量のページを生成するシステムを運用している場合、robots.txtでクロールを制限することで、サーバーへの負荷を軽減することもできるでしょう。

ただし、robots.txtはあくまでもクローラーに対する指示であり、アクセス制御としては不完全です。機密情報を保護するためには、認証システムなどの別の手段を併用する必要があります。

検索エンジンに非公開ページを知らせる

ウェブサイト内には、検索エンジンにインデックスしてほしくないページがあることがあります。そのようなページをrobots.txtで指定することで、検索エンジンに非公開ページであることを知らせることができます。

具体的には、Disallowディレクティブを使って、クロールを禁止したいページやディレクトリを指定します。これにより、検索エンジンのクローラーはそのページをクロールしなくなり、検索結果に表示されなくなります。

ただし、robots.txtはクロールの制御であって、インデックスの制御ではありません。robots.txtでクロールを禁止しても、他のページからのリンクによってそのページがインデックスされることがあるので注意が必要です。インデックスを確実に防ぐためには、メタタグなどの別の手段を併用するとよいでしょう。

クロールの負荷を軽減する

ウェブサイトの規模が大きくなると、クローラーによるクロールの負荷が問題になることがあります。robots.txtを使えば、クロールの頻度や範囲を制限することで、サーバーへの負荷を軽減することができます。

例えば、更新頻度の低いページやディレクトリへのクロールを制限したり、重要でないページへのクロールを禁止したりすることで、クローラーがクロールに費やす時間とリソースを減らすことができます。また、Crawl-delayディレクティブを使って、クロールのインターバルを指定することもできます。

ただし、クロールを過度に制限すると、重要なページがインデックスされなくなったり、検索エンジンから低品質なサイトとみなされたりするリスクがあります。サイトの特性を考慮しつつ、適切なバランスでクロールを制御することが大切です。

robots txtのその他の注意点

robots.txtのその他の注意点に関して、以下3つを簡単に解説していきます。

  • robots.txtはあくまでも検索エンジンへの指示
  • robots.txtとrobots metaタグの併用
  • robots.txtの記述ミスによる問題

robots.txtはあくまでも検索エンジンへの指示

robots.txtはクローラーに対する指示書であり、サイトへの一般的なアクセスを制御するためのものではありません。robots.txtでクロールを禁止しても、そのページのURLを直接入力すれば、誰でもアクセスできてしまいます。

したがって、機密情報や非公開コンテンツなどへのアクセスを制限したい場合は、認証システムやアクセス制御の仕組みを別途用意する必要があります。robots.txtはあくまでも検索エンジンに対する指示であり、アクセス制御の手段としては不十分だということを理解しておくことが大切です。

また、robots.txtは検索エンジンのクローラーに対する指示ですが、すべてのクローラーがrobots.txtを読み取るとは限りません。悪意のあるクローラーなどは、robots.txtの指示を無視してアクセスしてくる可能性があるので注意が必要です。

robots.txtとrobots metaタグの併用

robots.txtはクロールの制御を行うためのものですが、インデックスの制御は行えません。特定のページを検索結果に表示させたくない場合は、robots metaタグを併用する必要があります。

robots metaタグは、HTML

内に記述するタグで、そのページの検索エンジンに対する指示を記述することができます。例えば、< meta name="robots" content="noindex" >と記述すれば、そのページを検索エンジンのインデックスから除外することができます。

robots.txtとrobots metaタグを併用することで、クロールとインデックスの両方を制御することができます。ただし、robots metaタグはページごとに指定する必要があるので、大規模なサイトの場合は管理が大変になることがあります。サイトの規模や特性に合わせて、適切な方法を選択することが重要です。

robots.txtの記述ミスによる問題

robots.txtの記述を誤ると、意図しない動作を引き起こすことがあります。例えば、Disallowディレクティブのパターンを誤って記述すると、意図しないページがクロールされなくなったり、逆に意図しないページがクロールされたりする可能性があります。

また、robots.txtが存在しなかったり、サーバーエラーなどでrobots.txtにアクセスできなかったりした場合、クローラーはすべてのページをクロール可能と判断します。つまり、robots.txtが機能しない状態になってしまうのです。

User-agent: *
Disallow: /

上記のように、サイト全体のクロールを禁止するような記述をしてしまうと、検索エンジンにまったくインデックスされなくなってしまうので、細心の注意が必要です。robots.txtの記述は、慎重に行うことが大切だと言えるでしょう。

参考サイト

  1. Google. https://blog.google/intl/ja-jp/

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「SEO」に関するコラム一覧「SEO」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。