robots.txt ファイルは、Googleなどのクローラーに対して、クロールしてほしくないディレクトリやWebページをrobots.txt ファイルに記述してクローラーに知らせるために必要です。これはクローラーの無駄なサイトクローリング(オーバーロード)を避けるために使用されます。
【Robots.txt ジェネレーター】ツールは、次のような項目を設定してrobots.txt ファイルを作成できます。
作成したrobots.txt ファイルはダウンロードできます。ダウンロードしたrobots.txt ファイルはテキストエディタで編集できます。記述内容に変更、追加、削除等が必要な場合、テキストエディタを利用して編集してください。
※クローラーは内部リンクなどをたどってWebページをクロールしていくため、デフォルトではサイトページ全てをクロールする許可の設定になっています。
robots.txt ファイルはWebサイトのルートに設置します。
【例】
www.example.comサイトの場合、robots.txt ファイルの設置場所
○正しい
www.example.com/robots.txt
×間違い
www.example.com/subdirectory/robots.txt
robots.txt ファイルは、1つまたは複数のルールで構成されます。各ルールは、特定のクローラ(検索エンジン)に対して、対象ウェブサイト内の特定のファイルパスへのアクセスを拒否(ブロック)します。(または許可)
robots.txt ファイル内に記述する内容は次のようになります。
User-agent:
ユーザーエージェントはすべてのルールの最初の行に必ず記述します。
ルールの適用対象となるクローラの名前(検索エンジン名)または文字列全体についてワイルドカード(*)を使用できます。
Disallow:
指定したユーザーエージェントに対してクロールをブロック(拒否)するディレクトリ、またはページ(ルートドメインの相対URL)を設定する。ページの場合は、ブラウザで表示される完全なページ名にする必要があります。ディレクトリの場合は、末尾を「/」にする必要があります。パスのプレフィックス、サフィックス、または文字列全体についてワイルドカード(*)を使用できます。
Allow:
指定したユーザーエージェントに対してクロールを許可するディレクトリまたはページ(ルートドメインの相対URL)を設定する。
基本的に記述不要、Disallowで拒否設定していない場合、デフォルトは全て許可になっています。
Allow の使用方法として、Disallow をオーバーライドして、Disallow が指定されたディレクトリ内のサブディレクトリまたはページのクロールを許可したい場合などに記述します。ページの場合は、ブラウザで表示される完全なページ名にする必要があります。ディレクトリの場合は、末尾を「/」にする必要があります。パスのプレフィックス、サフィックス、または文字列全体についてワイルドカード(*)を使用できます。
Crawl-delay:
クローラーによってはアクセス頻度が過度のため大量のトラフィックが発生して、サーバーに負荷がかかることがあります。
Crawl-delayでは秒数を設定して、クローラー(検索エンジンロボット)がWebサイトをクロールする際のアクセス頻度(間隔)をクローラーに指定します。
Sitemap:
記述省略可能、Webサイトのサイトマップがある場所(URL)を指定します。完全修飾URLで記述してください。Googleの場合、代替URL(http か https か、www)があるかないかを考慮またはチェックしません。Sitemapは、検索エンジンにクロールを許可するコンテンツや許可しないコンテンツを指示するものではなく、検索エンジンにクロールする必要のあるコンテンツを指定するために使用するものです。
◆ robots.txt の設定例
【例-1】
User-agent: *
Disallow:
全てのクローラに対してサイト全てをクロールすることを許可する。
※ User-agent: *(ワイルドカード)全てのユーザーエージェント
※ Disallow:何も記述無しは、許可
【例-2】
User-agent: *
Disallow: /
全てのクローラに対してサイト全てをクロールすることをブロック(拒否)する。
※ User-agent: *(ワイルドカード)全てのユーザーエージェント
※ Disallow: / ルート以下はブロック(拒否)
【例-3】
User-agent: *
Disallow:
Disallow: /cgi-bin/
全てのクローラに対してサイト全てをクロールすることを許可、ただし/cgi-bin/ディレクトリ以下のページをブロック(拒否)する。
【例-4】
User-agent: *
Disallow:
Crawl-delay: 10
Disallow: /cgi-bin/
User-agent: googlebot-image
Disallow: /
Sitemap: https://example.com/sitemap.xml
全てのクローラに対してサイト全てをクロールすることを許可、ただし/cgi-bin/ディレクトリ以下のページ、およびgooglebot-imageをブロック(拒否)する。
また、Crawl-delay:クローラーのアクセス頻度(間隔)を10秒に設定、サイトマップファイルの場所を設定。