無理しないでゆっくり休んでね!

robots.txtの基礎知識

ウェブサイトを作成する際、検索エンジンによるサイトのクロール(巡回)とインデックス化は、サイトの可視性を高める上で欠かせません。しかし、すべてのページを検索結果に表示させたいわけではないかもしれません。ここで重要な役割を果たすのが、robots.txtファイルです。

robots.txtとは?

robots.txtは、ウェブサイトのルートディレクトリに配置されるテキストファイルで、検索エンジンのクローラー(ロボット)に対して、サイト内のどのページをクロールしてよいか、またはクロールを避けるべきかを指示します。

わかりやすく言うと、サイトの一番上に置く小さなメモ書きのようなもので、検索エンジンに「このページは見てもいいよ」「このページは見ないでね」と教えてあげる役割があります。

基本的な構文

robots.txtファイルは非常にシンプルな構造をしております。

主にUser-agentDisallowの2つのディレクティブを使用します。

  • User-agent: このディレクティブは、指示が適用されるクローラーを指定します。*を使用すると、すべてのクローラーに適用されます。
  • Disallow: このディレクティブは、クローラーがアクセスを避けるべきパスを指定します。空欄の場合は、すべてのページが許可されます。

例えば、以下のように記述することで、すべてのクローラーが/privateディレクトリ以下をクロールしないよう指示できます。

User-agent: *
Disallow: /private/

robots.txtファイルの配置場所

robots.txtファイルは、ウェブサイトのルートディレクトリに配置する必要があります。

これにより、検索エンジンのクローラーがサイトにアクセスした際に、最初にこのファイルをチェックして、どのページをクロールするかの指示を受け取ることができます。

例えば、あなたのウェブサイトのURLが http://www.example.com であれば、robots.txtファイルは http://www.example.com/robots.txt に配置されるべきです。

そうすると、そのファイルをホストしているドメイン内のすべてのページに適用されます。

robots.txtはディレクトリレベルでの指示を設定することも可能です。つまり、サイト内の特定のセクションやページに対してクローラーのアクセスを許可したり拒否したりすることができます。ただし、サブドメインは異なるオリジンと見なされるため、各サブドメインには独自のrobots.txtファイルが必要です。

注意点

  • robots.txtファイルは公開情報です。機密情報を含むURLをDisallowで指定しても、意図しないユーザーがアクセスする可能性はあります。
  • robots.txtの指示は強制力がなく、すべてのクローラーがこれに従うわけではありません。特にマルウェアのクローラーは無視する可能性が高いです。
  • robots.txtファイルの設定ミスは、サイトのSEOに悪影響を及ぼす可能性があります。特に、サイト全体をDisallowしてしまうような誤った設定には注意が必要です。

robots.txtと.htaccessの違い

htaccessもアクセス制限することができますが、サーバー上で異なる目的で使用されるファイルです。

robots.txtは、検索エンジンにどのページを調べていいか教えるファイルで、サイトの一番上の階層に置きます。これで「ここは見ないで」とお願いできますが、すべての検索エンジンが従うわけではありません。あくまで「お願い」です。

一方、.htaccessはウェブサイトの特定の部分のルールを決めるファイルで、パスワード保護やページのリダイレクトなどに使います。

つまり、robots.txtは検索エンジンへの指示書、.htaccessはサイトの設定変更ツールと考えるといいでしょう。

まとめ

robots.txtは検索エンジン用に設計されており、セキュリティ対策としてではありません。したがって、機密内容を隠したり保護したりするためにそれに依存すべきではありません。

コメント

タイトルとURLをコピーしました