プログラミング備忘録 foo

クローラーのアクセス拒否

目的

  • 検索エンジンのクローラーのアクセス可否を指定したい。

解説

  • 検索エンジンのクローラー(ロボット)に対して、サイト全体および特定のページへのアクセス可否を伝えるテキストファイルです。
  • 開発中のテストサイト、既存サイトの管理ページ、検索結果と無関係のページのインデックス防止に役立ちます。
  • クローラーのアクセスを拒否するのでサーバーへの負荷を減らせます。
  • robots.txtはテキストファイルなので、内容は誰でもブラウザから閲覧可能です。そのためセキュリティー性はありません。パスワード保護されていない管理画面などのページを記載すると、第三者に重要情報を知られるので注意してください。
  • インデックスを完全に防げるわけではありません。また、既にインデックスされているページを検索結果から絶対に消せるわけでもありません。完全な非表示には<head>〜</head>内にnoindexタグを書きます。

robots.txt

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /private/open.html
Disallow: /test.html
#コメントの書き込みは、このように文頭にハッシュを付ければOKです。
  • 1行目の*は「全ての検索エンジンのクローラーに指示を出す」という意味です。
  • 2行目と3行目はadminprivateというフォルダーのクロールを拒否します。
  • 3行目でprivateというフォルダーのクロールを拒否しますが、4行目でprivate/open.htmlというページのクロールを許可しています。「フォルダー全体を拒否するが、そのフォルダーの特定のページだけは許可したい」という場合に使います。
  • 5行目はtest.htmlというページのクロールを拒否します。
  • Disallow: /と書けばサイト全体のクロールを拒否します。開発中のテストサイトや、検索エンジンに見せたくないサイトで使います。
  • Disallow:のようにスラッシュやパスを書かなければ「クロールを拒否しない」という意味になります。Disallow:自体を削除しても「クロールを拒否しない」という意味になりますが「Disallow:の消し忘れではなく、意図的に全許可にしている」と備忘録になるので、書いておくのがオススメです。