Robots.txtファイルのSEO設定方法:クローラー制御と検索順位への影響を理解する

Published on: | Last updated:

robots.txt、なんか難しく考えてない?

えーっと、今日はrobots.txtの話をしようかなと思って。なんか、SEOの話になると必ず出てくるじゃないですか、これ。でも、正直、多くの人がちょっと…なんていうか、過大評価してるか、逆に誤解してるか、どっちかな気がするんですよね。

すごく基本的なファイルで、やることもシンプルなんです。要するに、サイトに来るクローラー、まあ、Googlebotとかですね、そういうロボットに「ここは見てもいいけど、こっちは見ないでね」ってお願いする、ただのテキストファイル。 それ以上でもそれ以下でもない、っていうのが僕の考えです。

これを設定したから順位が上がる、みたいな魔法のファイルじゃない。 どっちかというと、サイトを整理整頓して、クローラーが無駄足を踏まないように手伝ってあげる、みたいな。まあ、そういう地味な役割ですね。

一番多い勘違い、たぶんこれ

で、一番よくある間違いが、検索結果から消したいページをrobots.txtの`Disallow`で指定しちゃうこと。 これ、気持ちはすごく分かるんですけど、実は逆効果になることもあるんです。

なんでかっていうと、`Disallow`は「クロールしないで」っていうお願いであって、「インデックスしないで(検索結果に出さないで)」っていう命令じゃないからです。 だから、Googleはページの中身を見に行けないけど、他のサイトからリンクが貼られてたりすると、「なんか、こういうURLがあるらしい」ってことは認識できちゃう。 そうすると、タイトルとかURLだけが検索結果に出る、みたいな、ちょっと格好悪い状態になったりするんです。

本当に検索結果から消したいなら、それはrobots.txtの仕事じゃなくて、ページのHTMLに`noindex`タグを入れるのが正解。 クローラーには来てもらって、「このページはインデックスしないでね」って書いてあるのを確認してもらう必要があるんです。この違い、すごく大事。

クローラーへの指示は「立ち入り禁止」と「掲載禁止」を区別することが重要
クローラーへの指示は「立ち入り禁止」と「掲載禁止」を区別することが重要

じゃあ、どう書くんだっけ…基本の書き方

それで、実際の書き方ですけど、まあ、すごくシンプル。 メモ帳とか、なんでもいいんですけど、テキストエディタで`robots.txt`っていう名前のファイルを作るだけ。 中身はだいたいこんな感じ。

まず、`User-agent`。 これは「誰に対するお願いか」を指定するところですね。「*(アスタリスク)」にしとけば、「すべてのクローラーさんへ」っていう意味になります。 Googlebotだけとか、Bingbotだけとか、個別に指定もできます。

最近だと、ChatGPTのクローラーである`GPTBot`をブロックしたい、なんていうニーズもありますね。 その場合は、`User-agent: GPTBot`と書いて、その下に`Disallow: /`と書けば、サイト全体を学習データに使われるのを防げます。

User-agent: *
Disallow: /admin/
Disallow: /tmp/

User-agent: GPTBot
Disallow: /

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

次に`Disallow`。 これが「このディレクトリ(フォルダ)から下は見ないでください」っていうお願いの部分。WordPressなら管理画面の`/wp-admin/`とか、そういうところを指定するのが一般的ですね。

逆に、特定のファイルだけ許可したいときは`Allow`を使います。 でも、基本は全部許可されてるので、`Disallow`で指定したフォルダの中の一部だけを特別に見せたい、みたいな複雑なことしない限り、あんまり出番はないかも。

最後に`Sitemap`。 これは「サイトの地図はここにありますよ」ってクローラーに教えるためのもの。書いておくと、クローラーがサイトの構造を理解しやすくなるので、まあ、親切心で書いておくのがいいと思います。

良い例と悪い例を並べたrobots.txtのサンプル
良い例と悪い例を並べたrobots.txtのサンプル

「Disallow」と「noindex」、どう使い分ける?

さっきもちょっと話しましたけど、この二つの使い分けが、まあ、一番の肝かもしれません。 どっちも「見られたくない」っていう気持ちは同じでも、やりたいことが全然違うので。 ちょっと整理してみますか。

robots.txt の Disallow meta タグの noindex
目的は? 「このドアから入らないで」。つまり、クロールさせないこと。 「部屋には入っていいけど、内容は口外しないで」。つまり、インデックスさせないこと。
どうなる? 中身は見られない。でも、存在が知られてたらURLだけ検索結果に出るかも。 中身を見た上で、検索結果に表示しなくなる。こっちのほうが確実。
どんな時に使う? サーバーに負荷をかけたくない、価値の低いページ(パラメータ付きURLとか)へのクロールを制限したいとき。 いわゆる「クロールバジェットの最適化」ですね。 内容が薄いサンクスページとか、会員限定情報とか、とにかく検索結果に載せたくないページ全般。
注意点 これで`noindex`をつけたいページをブロックしちゃうと、`noindex`の指示をクローラーが読めなくなる。最悪の組み合わせ。 `noindex`を付けたら、robots.txtではブロックしちゃダメ。読んでもらわないと意味がないから。

失敗しないための、いくつかの注意点

設定は簡単なんですけど、いくつか落とし穴もあって。一番怖いのは、やっぱり記述ミス。例えば、うっかり `Disallow: /` って書いちゃうと、サイト全体をブロックすることになる。 これはもう、サイトが存在しないのと同じ状態になっちゃうんで、致命的です。

なので、ファイルをアップロードする前に、必ずGoogle Search Consoleにある「robots.txtテスター」で確認するのがおすすめです。 特定のURLがちゃんとブロックされてるか、あるいはブロックされるべきじゃないページが間違ってブロックされてないか、テストできます。

あと、Googleの公式ドキュメントにも書いてあるんですけど、このファイルはあくまで「お願い」ベース。 悪意のあるクローラーとか、一部のクローラーは無視することもあるんで、本当に機密情報とかなら、.htaccessとかでパスワード保護をかけるべきですね。 robots.txtは、そういうセキュリティのためのものじゃない、っていう認識は持っておいたほうがいいです。

ページを非表示にしたい時の判断フロー
ページを非表示にしたい時の判断フロー

まとめみたいなもの

結局、robots.txtって、ほとんどの小〜中規模サイトでは、そんなに凝った設定は要らないんですよね。 WordPressの管理画面をブロックして、サイトマップの場所を教えてあげる。だいたい、それで十分。

これが重要になるのは、何百万ページもあるような巨大なECサイトとか。 そういうサイトだと、検索結果の絞り込みで生まれる無数のパラメータ付きURLとか、価値の低いページにクローラーが時間を使っちゃうと、本当に見てほしい新商品ページとかになかなか来てくれなくなる。 そういう「クロールの効率化」を考えるときに、初めてrobots.txtの戦略的な使い方が生きてくるんだと思います。

だから、まずは基本を間違えないこと。特に`noindex`との使い分け。 そこさえ押さえておけば、大きな失敗はしないはずです。あなたのサイトのrobots.txt、どんなルールを書いてますか?もし何か特別な工夫をしてたら、よかったら教えてください。

Related to this topic:

Comments

  1. Guest 2025-06-18 Reply
    なるほど、robots.txtって奥が深いですね。最近のSEO対策では、こういった細かいところが結構重要になってきてて。でも、本当にこれで検索順位上がるのかな?正直、少し疑問に思っちゃいます。
  2. Guest 2025-05-16 Reply
    こんにちは!大学生の〇〇です。robots.txtについての興味深い記事ですね。特に失敗から学ぶ教訓や、未来のクロール制御についてもっと知りたいと思っています。もしおすすめのリソースや参考文献があれば教えてもらえませんか?よろしくお願いします!
  3. Guest 2025-05-10 Reply
    Robots.txtの設定って、最初は本当に難しいですよね。私も初心者の頃、間違えて検索順位を落としてしまった経験があります。皆さんはどんな失敗談がありますか?お互いに学び合えるといいですね!
  4. Guest 2025-04-06 Reply
    あのー、Robots.txtの設定って本当に初心者でも大丈夫ですか?私、ウェブサイト作ったばかりで、検索順位下がったらどうしようってビビってます…。失敗談とか対策法もっと詳しく知りたいな!特にクロール予算の最適化ってどうやるんですか?教えてください!
  5. Guest 2025-04-05 Reply
    「Robots.txtの設定で検索順位が急降下…本当にありますよね。私も最初はdisallowの記述ミスで大事なページをクロールされず、1ヶ月ほど順位が回復しない苦い経験が。正規表現の理解やキャッシュ更新のタイミングなど、些細なことが大きな影響を与えるので、みなさんもぜひ失敗談共有しましょう!」