robots.txtの正しい書き方|Googlebot に指示を出す基本ルール

robots.txtの正しい書き方|Googlebot に指示を出す基本ルール
C
クリオ
Web制作ディレクター / フロントエンジニア

こんにちは!

今日は「robots.txtの正しい書き方」について、実践的な解説をしていきます。

robots.txtってそもそも何?

robots.txt は、サイトのルートディレクトリに置くテキストファイルで、検索エンジンのクローラー(Googlebot など)に対して「ここはクロールしてもいいですよ」「ここはクロール禁止です」という指示を出すファイルです。
ファイルの場所は https://example.com/robots.txt ってな具合やね。

僕も最初は「え、こんなファイルが本当に効くの?」って半信半疑だったんですけど、これを正しく設定するだけで、余計なページへのクロールを減らして、本当に重要なページへのクロール時間を優先させることができるんです。
つまり、限られたクロール予算を有効活用するわけですよ。

でも注意点があります。
robots.txt はあくまで「お願い」に過ぎず、従う義務はクローラーにはありません。
本当にアクセスを制限したい場合は、パスワード保護などで対応する必要があります。

よくある間違いと失敗談

現場でよく見かけるのが、robots.txt の書き方を完全に間違えてるパターンなんです。
僕も過去に、新人時代に製作したサイトで大失敗しました。

失敗例1: パスの記法を間違えた

よくある勘違いなんですけど、こんな風に書いちゃう人が多いです。
Disallow: /wp-admin/ ← これはいいんですが、

Disallow: wp-admin ← スラッシュなしで書いちゃったり、
Disallow: /wp-admin ← 最後のスラッシュを忘れちゃったり。

厳密には /wp-admin/ はディレクトリで、/wp-admin.php ファイルは除外されます。
曖昧な場合は両方書くといいですよ。

失敗例2: アスタリスク(ワイルドカード)の使い方

これもめっちゃ多い失敗やん。
Disallow: *.php みたいに書く人がいるんですけど、これは実は正規表現じゃないんです。
robots.txt では * は「何でもいい」という意味で、正規表現のワイルドカードとは違います。

Disallow: *?page= みたいに、パラメータを除外するのは効果的です。
でも完全な正規表現は使えないってのを覚えておくといいですよ。

失敗例3: ファイルの文字コード指定を忘れた

これは地味な失敗なんですけど、robots.txt は UTF-8 で保存する必要があります。
Shift-JIS とか他の文字コードで保存しちゃうと、Googlebot が正しく読み込めないことがあります。
テキストエディタで保存する時は、ほんま気をつけてくださいね。

実践的な書き方のポイント

基本的な構造

robots.txt の基本的な構造はこんな感じです。

User-agent: Googlebot
Disallow: /admin/
Disallow: /private/
Allow: /private/public.html

User-agent: *
Disallow: /temp/

ちょっと解説しますね。
User-agent で対象のクローラーを指定します。
Googlebot は Google の検索クローラー、* は全てのクローラーを意味します。
Disallow でクロール禁止パスを指定して、Allow で例外を設定できます。

サイトマップの場所を教えてあげる

これほんま大事なんですけど、robots.txt の最後に Sitemap を記載するといいですよ。

Sitemap: https://example.com/sitemap.xml

こうすることで、Googlebot はサイトマップから効率的にページを発見できます。
複数あれば複数行書いて OK です。

Crawl-delay と Request-rate

クローラーに「急激なアクセスはしないでね」という指示を出すことができます。

Crawl-delay: 10 ← 10 秒間隔でクローラーを実行

ただしこれは Google には効かないので、過度に気にする必要はありません。
むしろ Search Console でクロール速度を調整できるので、そっちを活用する方が現代的やね。

実践的な例:WordPress サイト

最後に、実務でよく使う例を出しておきます。

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /?s=
Disallow: /feed/
Allow: /wp-content/uploads/

Sitemap: https://example.com/sitemap.xml

管理画面やプラグインフォルダは不要ですし、検索結果ページ(?s=)やフィードもクロール対象から除外するといいですよ。
メディアはアップロードされた画像なので、Allow で許可しておくと良いでしょう。

まとめ

robots.txt は小さなファイルですけど、SEO に大きな影響を与えます。
クロール予算を有効活用するために、正しく設定しておくことはめっちゃ重要やん。

ポイントをおさらいすると:

  • ファイルはルートの https://example.com/robots.txt に配置
  • UTF-8 で保存する
  • / スラッシュの位置に気をつける
  • サイトマップを記載する
  • Search Console で実際のクロール状況を確認する

最後のポイント、これ大事なんですけど、robots.txt を書いたら Google Search Console で実際に「ブロック」されているか確認することをお勧めします。
設定が正しく反映されてるか、一目で分かりますからね。

Web制作で困ったことがあったら、またこのブログを覗いてくださいね!

― クリオ