robots.txtの書き方|1行の間違いで検索から消える
robots.txt は、検索エンジンのクローラーに「どこを見ていいか」を伝える1枚のテキストファイルです。たった数行ですが、書き方を1文字間違えるとサイト全体が検索結果から消えることもあります。
この記事では、役割・書き方・よくある失敗・XMLサイトマップとの連携までを順にご説明します。
robots.txt がSEOで果たす役割
検索エンジンは、クローラーと呼ばれるプログラムでサイトを巡回し、見つけたページを検索結果の候補に入れます。robots.txt は、そのクローラーに対して「このディレクトリは見なくていい」と伝えるための指示書です。
役割は大きく2つあります。1つは、管理画面や検索結果ページのように検索に出す必要がないページへの巡回を止めること。もう1つは、巡回に使える回数(クロールバジェット)を、見てほしいページに回すことです。
robots.txt は「検索結果に出さない」ための道具ではありません。ブロックしても、他サイトからリンクされていればURLだけが検索結果に出ることがあります。検索結果から確実に消したい場合は noindex を使います。ここを取り違えるのが、いちばん多い誤りです。
robots.txt の基本構造
robots.txt はサイトの一番上の階層(https://example.com/robots.txt)に置きます。書き方は「誰に対して」「何を」の2行が基本です。
| 意味 | 書き方の例 | |
|---|---|---|
| User-agent | 対象のクローラー | User-agent: *(すべて) |
| Disallow | 巡回させない場所 | Disallow: /wp-admin/ |
| Allow | Disallowの中で例外的に許す場所 | Allow: /wp-admin/admin-ajax.php |
| Sitemap | XMLサイトマップの場所 | Sitemap: https://example.com/sitemap.xml |
行の順番に決まりはありませんが、User-agent ごとにまとめて書くと読み違えが減ります。Disallow に何も書かなければ「すべて許可」、/ だけ書けば「すべて拒否」です。
中小企業サイトでよくある失敗
- 公開時に Disallow: / のまま残す。制作中の設定を戻し忘れ、公開後もサイト全体が巡回されない。
- noindex の代わりに Disallow を使う。ブロックするとnoindexも読まれないため、かえって検索結果に残る。
- CSSとJSをブロックする。ページの見た目を再現できず、スマホ対応の判定に不利になる。
- サイトマップの記述を書き換え忘れる。ドメインを変えたのに旧URLのままになっている。
どれも1行で起きて、気づかれにくい種類の失敗です。公開直後と、サイトを作り直した直後は必ず確認してください。
CHECK
いまの robots.txt、見てみませんか
URLをお送りいただければ、robots.txt・サイトマップ・インデックス状況の3点を確認してお返しします。入力は30秒、その場で結果が出ます。
無料で集客力を診断する入力は30秒・その場で結果設定の手順
- ブラウザで https://自社ドメイン/robots.txt を開き、いまの中身を控える。
- 管理画面・検索結果ページ・カート・重複の出るパラメータURLを洗い出す。
- 止めたい場所だけを Disallow に書く。CSS・JS・画像は止めない。
- 最終行に Sitemap の絶対URLを書く。
- Search Console の robots.txt テスターで、主要ページがブロックされていないか確かめる。
- 1週間後にインデックス数の推移を見る。
ブロックすべきページの判断基準
迷ったときは「そのURLを検索から来た人に見せたいか」で決めます。見せたくないものは2種類に分かれます。
| 扱い | 理由 | |
|---|---|---|
| 管理画面・ログイン | Disallowでよい | 検索に出す意味がなく、リンクもされない |
| サイト内検索の結果 | Disallowでよい | 無限にURLが増え、巡回を浪費する |
| 会員限定・購入後のページ | noindex+認証 | ブロックだけではURLが残る |
| 印刷用・PDFの複製 | canonicalで正を示す | 消すのではなく、正しい方を教える |
XMLサイトマップとの組み合わせ
robots.txt が「見なくていい場所」を伝えるのに対して、XMLサイトマップは「見てほしいページの一覧」です。2つはセットで効きます。robots.txt の最終行にサイトマップの場所を書いておくと、クローラーが最初に読み取れます。
サイトマップには、noindex を付けたページや、Disallow で止めた場所を入れないでください。指示が食い違うと、どちらを信じればよいか判断できなくなります。
cantikが必ず確認している3点
- 公開直後に Disallow: / が残っていないか(制作会社の設定の消し忘れ)
- CSS・JS・画像が巡回できるか(モバイル判定に直結する)
- サイトマップのURLが現在のドメインか(リニューアル後によくずれる)
当社では新しく作ったサイトの公開前チェックと、他社が作ったサイトをお預かりするときの初回診断で、この3点を必ず見ています。1行の設定ミスが数ヶ月の遅れになることがあるためです。
よくある質問
robots.txt は必ず設置しないといけませんか?
必須ではありません。無くてもクローラーはサイト全体を巡回します。ただしサイトマップの場所を伝えられないため、ページ数が多いサイトでは置いたほうが有利です。
WordPressなら自動で作られますか?
WordPressは実体のないrobots.txtを自動で返します。内容を変えたい場合は、実ファイルを置くか、SEOプラグインの設定画面から編集します。
書き換えたあと、どのくらいで反映されますか?
クローラーが再取得するタイミング次第で、数時間から数日です。急ぐ場合はSearch Consoleから再クロールを依頼できます。
