robots.txtとは?
簡潔に
- robots.txtとは検索エンジン最適化を目的として、クローラーのアクセスをコントロールするもの
以下、詳細
TLで以下のような呟きを見かけました。
兵庫県警のサイトはなんでrobots.txtでウェブ魚拓を拒否してんの? pic.twitter.com/EAO1aFq4N9
— はまちや2 (@Hamachiya2) 2019年3月8日
恥ずかしながらrobots.txtがなんなのか分からなかったので調べてみたところ、他にも色々知らないことが出てきたのでメモることにしました。
一番簡潔にまとまっていたのが以下の文章だと思ったのでこれに沿って調べてみようと思います。
robots.txtはクロール最適化の一種であり、SEO対策上でも重要です。
robots.txtとは | SEO用語集:意味/解説/SEO効果など [SEO HACKS]より
検索エンジンとクロール
まずクロール(クローラー)という言葉を調べてみました。
クローラー(Crawler)とは、Googleなどのロボット型検索エンジンがWEB上のファイル(HTML文書だけでなく、画像・PDFまで含む全般)を収集するためのプログラムのことです。クローラーによって収集されたデータがインデックス化され、巨大な検索データベースが作成されます。「ロボット」「スパイダー」などとも呼びます。
クローラーとは | SEO用語集:意味/解説/SEO効果など [SEO HACKS]より
クローラ(Crawler)とは、ウェブ上の文書や画像などを周期的に取得し、自動的にデータベース化するプログラムである。「ボット(Bot)」、「スパイダー」、「ロボット」などとも呼ばれる。 主に検索エンジンのデータベース、インデックス作成に用いられているほか、統計調査などの目的にも利用される。 (中略)
一般にクローラは、既知のHTML文書の新しいコピーを要求し、文書中に含まれるリンクをたどり別の文書を収集するという動作を繰り返す。新しい文書を見つけた場合はデータベースに登録する。また、既知のファイルが存在しないことを検出した場合はデータベースから削除する。
クローラ - Wikipediaより
検索エンジンではクローラーというプログラムを用いてWEB上のページ情報をリンクを辿りながら収集。その情報をインデックス化し検索用のデータベースを作成する。ということのようです。
ではクローラーを最適化するとは?
クロール最適化とは、サイトの重要なページにクローラーの訪問数を増やすことで、SEO改善に繋げることです。トップページのような重要なページをよりクローラーに訪問・評価してもらい、検索結果上よりも上位に表示させることが目的です。
これはクローラーの2つの特徴を前提としています。一つ目は、クローラーは内部リンクや被リンクを辿ってやってくることです。サイト内で多くのリンクを獲得しているページには、クローラーも多く訪れます。二つ目は、ドメインごとにクローラーが訪問するページ数には限りがあることです。限られた中で、重要なページに多くクロールしてもらうことが大切です。
robots.txtとは | SEO用語集:意味/解説/SEO効果など [SEO HACKS]より
限られた回数で行われるクロールを、意図したページに集中させることで、より有用なページとして検索結果を上位に表示させることが出来る。というまとめが出来ると思います。
SEO対策
最近、何かと耳にしますが一応意味を引用しておきます。
SEOとは、”Search Engine Optimization” の略であり、検索エンジン最適化を意味する言葉です。検索結果でWebサイトがより多く露出されるために行う一連の取り組みのことを”SEO対策”と呼びます。
SEO対策(検索エンジン最適化)とは | SEO基礎知識 [SEO HACKS]
クローラーが訪問する回数を上げたり、Googleで言うとサイトをhttpsに対応させるなどがSEO対策にあたると思います。
robots.txtの書き方
先程から何度も引用していますが、以下のサイトに書き方まで載っています。
www.seohacks.net
サイトのroot直下に「robots.txt」というファイルを置いて、内容を記述します。クローラーといっても種類があるようなのでサイトの例のように対象とするクローラー名と対象とするページ(ディレクトリ)を指定します。
User-agent: Googlebot-Mobile Disallow: /
この例の場合は『Googleモバイル用クローラー「Googlebot-Mobile」は、全てのWEBページにアクセスしてはいけない』という設定になります。
下記の例の場合
User-agent: * Disallow: /cgi-bin/
『全てのクローラーは、 /cgi-bin/ のディレクトリにアクセスしてはいけない』となります。
まとめ
つまり呟きに貼ってあるrobots.txtでは「Megalodon」というクローラー(ウェブ魚拓)は全てのWEBページにアクセスしてはいけない(実際は「*
」ではなく「/
」または「/*
」としなければならないはず)。のでウェブ魚拓を拒否してるということになるようです。(インデックス化されないため、ウェブ魚拓のサイト内での検索でヒットしなくなる)
2019年03月10日追記
先日のまとめ部分で「ウェブ魚拓のサイト内での検索でヒットしなくなる」と書きましたが、「キャッシュ自体ブロックできる」ようです。(ブロックとは言ってもrobots.txt自体に強制力はない)
参考サイト:
初心者にも分かる!robots.txtの作り方