robots.txtの正しい書き方|Googlebot に指示を出す基本ルール
こんにちは!
今日は「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制作で困ったことがあったら、またこのブログを覗いてくださいね!
― クリオ