ウェブサイトを作成する際、検索エンジンによるサイトのクロール(巡回)とインデックス化は、サイトの可視性を高める上で欠かせません。しかし、すべてのページを検索結果に表示させたいわけではないかもしれません。ここで重要な役割を果たすのが、robots.txt
ファイルです。
robots.txtとは?
robots.txt
は、ウェブサイトのルートディレクトリに配置されるテキストファイルで、検索エンジンのクローラー(ロボット)に対して、サイト内のどのページをクロールしてよいか、またはクロールを避けるべきかを指示します。
わかりやすく言うと、サイトの一番上に置く小さなメモ書きのようなもので、検索エンジンに「このページは見てもいいよ」「このページは見ないでね」と教えてあげる役割があります。
基本的な構文
robots.txt
ファイルは非常にシンプルな構造をしております。
主にUser-agent
とDisallow
の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
ファイルは公開情報です。機密情報を含むURLをDisallow
で指定しても、意図しないユーザーがアクセスする可能性はあります。robots.txt
の指示は強制力がなく、すべてのクローラーがこれに従うわけではありません。特にマルウェアのクローラーは無視する可能性が高いです。robots.txt
ファイルの設定ミスは、サイトのSEOに悪影響を及ぼす可能性があります。特に、サイト全体をDisallow
してしまうような誤った設定には注意が必要です。
robots.txtと.htaccessの違い
htaccess
もアクセス制限することができますが、サーバー上で異なる目的で使用されるファイルです。
robots.txt
は、検索エンジンにどのページを調べていいか教えるファイルで、サイトの一番上の階層に置きます。これで「ここは見ないで」とお願いできますが、すべての検索エンジンが従うわけではありません。あくまで「お願い」です。
一方、.htaccess
はウェブサイトの特定の部分のルールを決めるファイルで、パスワード保護やページのリダイレクトなどに使います。
つまり、robots.txt
は検索エンジンへの指示書、.htaccess
はサイトの設定変更ツールと考えるといいでしょう。
まとめ
robots.txtは検索エンジン用に設計されており、セキュリティ対策としてではありません。したがって、機密内容を隠したり保護したりするためにそれに依存すべきではありません。
コメント