【WEBサイト運用】クローラー対策にrobots.txtを設定しよう

robots.txt を設置し、アクセスしてほしくないパスやサイトマップの置き場所など、クローラーにルールを伝えられます。

2023年01月29日

対象

  • WEBサイトを制作している

robots.txt の役割

現在制作しているサイトや記事など、世に配信するコンテンツを検索エンジンに表示させるため、ロボットがサイトを巡回して情報を収集してきます。
そのため、よく聞くSEO対策でも説明される通り、クローラーに分かりやすいサイト作りが重要視されているわけです。

昔は手作業での情報収集だったようですが、現在はロボットに任せているのでrobots.txtにてルールを伝えてあげます。

※ Htmlにnoindexタグをつけることで、ページ毎に制限をつけることもできます

現在の状況を確認

WEBサイトの構築環境や専用のライブラリによって、自動生成されている場合もあります。
念の為、現在のサイトにrobots.txtが設定されているか確認してみましょう。

ドメインを対象の名前に書き換えて、アドレスバーで以下を叩いてみましょう。
https://ドメイン/robots.txt

当サイトの場合(https://theblueback.com/robots.txt)

User-agent: *
Disallow: /policy
Sitemap: https://theblueback.com/sitemap.xml

このような内容が表示されていればrobots.txtは設定されています。
※ おつかれさまでした。

設定方法

設定方法はとても簡単です。
ルートにrobots.txtが来るように設定します。

/robots.txt

Nuxtの場合はstatic以下に配置しましょう。
※ 当ブログではNuxtの例が多いので

記述内容

当サイトの設定内容は比較的簡素ではあります。

  • User-agent:* -> どんなクローラーでも許可しますよ!
  • Disallow: /policy -> プライバシーポリシーページはクロールしないでね!
  • **Sitemap: https://theblueback.com/sitemap.xml**-> サイトマップはここにあるよ!

User-agentは許可するクローラーの種類を指定します。
クローラーの種類は様々ありますが、種類別に設定することは基本的にないので*で十分かと思います。
※ Googlebot. Bingbot. Yahoo Slurp. など

詳しい指定方法はGoogle Search Centralからご確認ください。

補足

サイト内で発生するエラー内容によって、再試行が頻繁に実行される場合があるようです。
もし期待通りのクロールが行われない場合、サーチコンソールのログを確認してみましょう。
Google Search Centralに詳しく書かれています(割と見落としがちです)
エラーと HTTP ステータス コードの処理

robots.txt をリクエストした際にサーバーから返される HTTP ステータス コードによって、Google のクローラによる robots.txt ファイルの扱い方は異なります。次の表には、Googlebot による HTTP ステータス コードに応じた robots.txt ファイルの扱い方がまとめられています。

筆者情報
IT業界経験6年目のフルスタックエンジニア。
フロントエンドを軸として技術を研鑽中でございます。