この記事の目的
今やビジネスにおいてコンピュータ・情報・通信などを中心とする「IT用語」に対する知識は欠かせません。
あまり馴染みがない各分野のIT用語を、なるべく専門用語を使わずに解説していきます。
この記事の対象読者
Web制作を始めたばかりの人。
自社のWebマーケティングを任された人。
専門用語についていろいろ知りたい人。
Webマーケティングを行なっているが、言葉の定義を再確認したい人。
など、Webに限らずDXに携わるすべての方に。
robots.txtとは
robots.txtはサイトのルートディレクト設置するファイルで、検索エンジンのクローラの動きを制御するものです。
検索エンジンのクローラは、WEB上にあるコンテンツを独自のアルゴリズムに従って巡回しています。robots.txtを使用することで、クローラが自サイトに巡回にやってきた際、コンテンツごとに「巡回して良いURL」と「巡回して欲しくないURL」を伝えます。
robots.txtの役割
robots.txtは主に以下の目的に使用します。
サーバーのオーバーロード防止
robots.txtはクローラがどのURLにアクセスして良いかを伝えるものであり、クローラからのリクエストによってサーバーの過負荷を防止するために使います。
メディアファイルのクロール防止
検索結果に画像ファイル、動画ファイル、音声ファイル、pdfファイルなどを表示させないために使用します。
リソースファイルのクロール防止
重要ではないJavaScriptファイル、CSSファイルなど、そのファイルが読み込まれなくてもページに大きな影響がないファイルのクロール防止に使用します。ただしそれらのリソースファイルを読み込まないとクローラがページを読み込めなくなる場合はクロールをブロックしないようにしましょう。
robots.txtの使い方
robots.txtの書き方とファイルの置き場所をご説明します。
robots.txtファイルの書き方
robots.txtはテキストファイルで作成します。まずファイル名はかならず「robots.txt」にしてください。
記述する内容は、
User-Agent
Disallow
Allow
Sitemap
の4つです。
User-Agent
User-Agentには、クローラの種類を指定します。Googlebotを対象とする場合は、「User-agent: Googlebot」と記述します。ですが、基本的にはすべてのクローラを対象とすると思います。その場合は「User-agent: *」としてすべてのクローラを指定します。
Googleの場合、指定できるユーザーエージェントは以下のようなものがあります。
パソコン用 Googlebot:Googlebot
スマートフォン用 Googlebot:Googlebot
モバイルウェブ Android 用 AdsBot:AdsBot-Google-Mobile
モバイルウェブ用 AdsBot:AdsBot-Google-Mobile
画像用 Googlebot:Googlebot-Image
ニュース用 Googlebot:Googlebot-News
AdSense:Mediapartners-Google
Disallow
Disallowにはクロールを防止するURLを指定します。ファイルやディレクトリを指定することができます。robots.txtにはDisallowか次に説明するAllowのどちらか一つは必ず記述する必要があります。先頭と末尾に必ず「/(スラッシュ)」をつけます。
Allow
Allowにはクロールを許可するURLを指定します。あえてAllowに明示しなくてもDisallowで指定していないURLはデフォルトでAllowになっています。先述のdisallowかallowのどちらか一つは必ず記述する必要があります。先頭と末尾に必ず「/(スラッシュ)」をつけます。
Sitemap
SitemapはWebサイトのsitemap.xml(サイトマップ)のURLを指定します。なくても大丈夫ですが、sitemap.xmlはクローラの巡回を促す案内図なので、sitemap.xmlを作成しているのであれば設定しましょう。
ファイルの置き場所
robots.txtはルートディレクトリに設置します。robots.txtは1サイトにつき一つだけです。
robots.txtの記載例
# すべてのクローラが対象①
User-agent: *
Disallow: /contact/
# Googlebotのみを対象②
User-agent: Googlebot
Allow: /
# サイトマップの完全URLを記述(省略可)③
Sitemap: https://speever.com/sitemap.xml
上記の例では
①すべてのクローラに対し、https://speever.com/contact/ で始まるすべてのURLに対してクロールを拒否しています。
②その下の行ではGooglebotというクローラに対してすべてのページのクロールを許可しています。①で拒否したhttps://speever.com/contact/ へのクロールはGooglebotのみ許可された状態です。
③サイトマップはhttps://speever.com/sitemap.xmlにあります。Sitemapは省略可能です。URLは完全修飾URLです。
robots.txtの注意事項
検索結果から除外したい場合はnoindexを使用する
検索結果画面にサイトを表示したくない場合はnoindexを使用して、検索エンジンのインデックス自体を拒否する必要があります。
noindexとrobots.txtのDisallow同時使用で注意が必要な場合
noindexとrobots.txtのDisallow指定を同時に行うとインデックスの制御がうまくいかなくなる場合があります。
例えばすでにインデックスされている「A」というページに対してnoindexとrobots.txtでDisallow設定を同時に行ったとしましょう。クローラはrobots.txtに従ってAをクロールしなるため、一緒に追加したnoindexもクロールしないので検索エンジンはAのnoindexに気が付きません。するとAは過去のクロールでインデックスされた状態が維持され検索結果に残り続けます。いずれは検索結果からAは消えるのかもしれませんが、これはクローラの制御に失敗しています。
noindexとrobots.txtは同時に設定せずにまず先にnoindexを設定、クローラが来て検索結果から除外されたのを確認してから、robots.txtを設定しましょう。
まとめ
robots.txtについて解説しました。robots.txtはクローラを制御する方法の一つです。うまく活用すればサイトを効率よくクロールしてもらうことが可能です。