「自分のサイトの、見せたくないページが検索結果に表示されてしまった…」そんな経験はありませんか?実はそれ、ウェブサイトを巡回するロボット「クローラー」の動きを上手にコントロールすることで解決できるかもしれません。そのための重要なファイルが「robots.txt」です。
この記事では、サイト運営者なら知っておきたいrobots.txtの基本的な設定方法と、特定のページを検索結果に表示させない(インデックスさせない)手順を解説します。
サイトの価値を高める上で、検索エンジンに正しくサイトを評価してもらうことはとても大切です。200件以上のサイト売却を手がけてきた経験から見ても、この「クローラー制御」ができているかはサイト評価の基本中の基本。少し難しく聞こえるかもしれませんが、ポイントさえ押さえれば大丈夫です。一緒に一歩ずつ進めていきましょう。
robots.txtって一体なに?初心者にもわかる基本のキ
まずは基本からですね。robots.txtがそもそもどんな役割を持つファイルなのか、そしてサイト運営にとってなぜ重要なのかを見ていきましょう。これを理解するだけで、クローラーとの付き合い方がぐっと楽になるはずです。専門用語も、できるだけかみ砕いて説明しますね。
1. そもそもrobots.txtがなぜ必要なのか?
robots.txtは、あなたのサイトにやってくる検索エンジンのクローラー(ロボット)に対する「お願いごと」を書いた指示書のようなものです。サイトの中には、まだ作成途中のページや、会員限定のページなど、検索結果に表示させたくないページもありますよね。
そういったページにクローラーが来ないように「このページは見ないでくださいね」と伝えるのが、robots.txtの主な役割です。無駄なページの巡回を防ぐことで、本当に見てほしい重要なページを効率よくクローラーに見つけてもらうことにも繋がります。
2. クローラーはどんな動きをしているの?
クローラーは、インターネット上のあらゆるウェブページを巡回して、情報を集めているプログラムです。リンクをたどりながらページからページへと移動して、見つけた内容をデータベースに保存していくイメージですね。
このクローラーが訪れたページの情報が「インデックス」されることで、はじめて検索結果に表示されるようになります。つまり、クローラーがサイトに来なければ検索結果にも載らない、来すぎても無駄なページばかり集められてしまう。だからこそ、適切なコントロールが必要になるんです。
3. robots.txtでできること、できないこと
robots.txtでできるのは、あくまで「クローラーに来ないでください」というお願いです。ほとんどの検索エンジンのクローラーは、この指示を尊重して従ってくれます。
ただし、注意したいのは「お願い」であって「強制」ではないということ。悪意のあるクローラーや、ルールを守らないロボットには効果がありません。また、robots.txtで拒否しても、他のサイトからリンクが貼られていると検索結果に表示されてしまうこともあります。完全にページを非公開にしたい場合は、別の方法(パスワード保護など)を併用する必要があります。
robots.txtはどこにある?ファイルの設置場所
さて、robots.txtファイルは一体どこに置けばいいのでしょうか。実は置く場所を間違えると、せっかく書いた指示がまったく効果を発揮しないんです。ここでは、正しい設置場所と確認方法を見ていきましょう。
1. ファイルを置く正しいフォルダの場所
robots.txtは、必ずサイトの「ルートディレクトリ(一番上の階層)」に置く必要があります。たとえば、あなたのサイトが「https://example.com」だとすると、「https://example.com/robots.txt」というURLでアクセスできる場所に置くということですね。
サブフォルダに置いてしまうと、クローラーは見つけられません。「https://example.com/folder/robots.txt」のような場所では意味がないので注意してください。
2. httpとhttpsで設置場所は違う?
httpとhttpsは、クローラーにとって別のサイトとして扱われます。つまり、「http://example.com」と「https://example.com」の両方が存在する場合、それぞれにrobots.txtを設置する必要があるんです。
とはいえ、最近はほとんどのサイトがhttpsに統一されているはず。念のため、自分のサイトがどちらで運営されているか確認してみてくださいね。
3. ファイルが正しく設置されているか確認する方法
設置したrobots.txtがちゃんと機能しているか、確認する方法はとても簡単です。ブラウザで「あなたのサイトのURL/robots.txt」を入力してアクセスしてみましょう。
正しく設置されていれば、ファイルの内容がそのまま表示されます。もしエラーページや「Not Found」が表示されたら、ファイルの置き場所が間違っているかもしれません。もう一度、ルートディレクトリに置かれているか確認してみてください。
さっそく実践!robots.txtの基本的な書き方
ここからは、実際にrobots.txtを書いていきましょう。書き方にはいくつかのルールがあります。難しく考えなくても大丈夫です。基本的な命令文を組み合わせるだけで、十分機能するファイルが作れますよ。
1. User-agent:どのクローラーに指示を出すか
最初に書くのが「User-agent」という行です。これは「どのクローラーに対して指示を出すか」を指定するものですね。
たとえば、すべてのクローラーに指示を出したいなら「User-agent: 」と書きます。Googleのクローラーだけに指示したいなら「User-agent: Googlebot」と書く形です。ほとんどの場合、すべてのクローラーに対して同じ指示を出すので「」を使うことが多いですね。
2. Disallow:クロールを拒否するページの指定
「Disallow」は、クローラーに「このページには来ないでください」と伝えるための命令です。たとえば、管理画面のページをクロールさせたくない場合は「Disallow: /admin/」と書きます。
スラッシュで始まるパスを指定することで、特定のディレクトリ以下をまとめて拒否できます。すべてのページを拒否したいなら「Disallow: /」と書きますが、これは通常使いません。サイト全体が検索されなくなってしまいますからね。
3. Allow:クロールを許可するページの指定
「Allow」は、Disallowで拒否した中でも「このページだけは許可します」と例外を作るための命令です。少し上級者向けの使い方ですね。
たとえば、「/private/」ディレクトリ全体を拒否しているけど、その中の「/private/public.html」だけは許可したい、というような細かい調整ができます。ただ、最初はDisallowだけで十分かもしれません。
4. サイトマップの場所を伝えるSitemapの記述
robots.txtには、サイトマップの場所を記載することもできます。「Sitemap: https://example.com/sitemap.xml」のように書くだけです。
サイトマップは、サイト内のすべてのページをリスト化したファイルのこと。これを記載しておくと、クローラーがあなたのサイトを効率よく巡回しやすくなります。ラッコマーケットでサイトを出品する際も、サイトマップがきちんと設定されていると評価が上がりやすいですね。
特定のページをインデックスさせないための記述方法
ここからは、もう少し具体的な使い方を見ていきましょう。たとえば「PDFファイルだけ検索結果に出したくない」とか「画像だけはクロールされたくない」といった、よくある状況での書き方です。
1. 特定のファイル種類(PDFなど)だけを拒否する書き方
PDFファイルやZIPファイルなど、特定の種類のファイルだけをクロール拒否することもできます。たとえば、すべてのPDFファイルを拒否したいなら「Disallow: /*.pdf$」と書きます。
「*」はワイルドカードといって「どんな文字でもOK」という意味、「$」は「その文字で終わる」という意味です。組み合わせることで、拡張子が「.pdf」で終わるすべてのファイルを指定できるんですね。
2. 特定のディレクトリ以下をまとめて拒否するには?
サイトの中で、まるごと検索させたくないフォルダがあるケースも多いでしょう。たとえば会員専用ページや、テスト用のページが入っているフォルダですね。
「Disallow: /members/」のように書くと、「members」フォルダ以下のすべてのページが拒否されます。シンプルで便利な書き方なので、よく使います。複数のフォルダを拒否したい場合は、Disallowの行を複数書けば大丈夫です。
3. Googleの画像クローラーだけを拒否する方法
画像だけは検索結果に表示させたくない、というケースもあるかもしれません。その場合、Googleの画像専用クローラー「Googlebot-Image」を指定します。
User-agent: Googlebot-Image
Disallow: /
このように書くと、画像クローラーだけがサイト全体の画像をクロールしなくなります。通常のウェブページはそのままクロールされるので安心してください。
WordPressでrobots.txtを設定する簡単な手順
WordPressを使っている方も多いはず。実はWordPressには、robots.txtに関する便利な機能がいくつか用意されています。ここでは、WordPress特有の設定方法を紹介しますね。
1. WordPressが自動生成するrobots.txtとは?
WordPressは、デフォルトで仮想的なrobots.txtを自動生成しています。サイトのURLに「/robots.txt」をつけてアクセスすると、何も設置していなくても基本的な内容が表示されるんです。
ただし、これはあくまで最低限の内容。カスタマイズしたい場合は、自分でファイルをアップロードするか、プラグインを使って編集する必要があります。
2. プラグインを使ってrobots.txtを編集する方法
WordPressでrobots.txtを編集する一番簡単な方法は、プラグインを使うことです。「Yoast SEO」や「All in One SEO」といった人気のSEOプラグインには、robots.txt編集機能が含まれています。
プラグインの設定画面から直接編集できるので、FTPソフトを使う必要がありません。初心者の方には、この方法が一番おすすめですね。
3. FTPソフトでファイルをアップロードする方法
もっと直接的な方法として、FTPソフトを使ってrobots.txtファイルをサーバーにアップロードする方法もあります。テキストエディタでrobots.txtファイルを作成して、サイトのルートディレクトリにアップロードするだけです。
FileZillaなどのFTPソフトを使い慣れている方なら、こちらの方が早いかもしれません。ただし、WordPressの自動生成ファイルは上書きされないので、物理的なファイルをアップロードすることで優先されます。
インデックスさせない設定:「noindex」タグとの違いは?
ここで、多くの人が混乱するポイントについて触れておきます。ページを検索結果に表示させない方法として「noindex」というものもあるんです。robots.txtとどう違うのか、見ていきましょう。
1. robots.txtの「Disallow」と「noindex」の役割の違い
robots.txtの「Disallow」は「クローラーを来させない」ための指示です。一方、「noindex」はHTMLのmetaタグとして各ページに記述するもので、「クローラーは来てもいいけど、検索結果には載せないで」という指示になります。
この違い、すごく大事です。Disallowはクローラー自体をブロックするので、ページの内容も読まれません。noindexは内容を読んだ上で、インデックスしないという判断をしてもらう仕組みなんですね。
2. SEOで不利にならないための適切な使い分け方
どちらを使うべきか迷ったら、基本的には「noindex」を使うことをおすすめします。検索結果に表示したくないページでも、クローラーにはページの内容を理解してもらった方が、サイト全体の構造を正しく把握してもらえるからです。
robots.txtのDisallowは、本当にクロールさせたくないページ(管理画面など)や、サーバーに負荷をかけたくない大量のページに使うのが適切ですね。
3. 間違えやすい設定:「Disallow」と「noindex」を同時に使ってはいけない理由
ここは本当に注意が必要なポイントです。robots.txtでDisallowに指定したページに、同時にnoindexタグをつけてはいけません。
なぜなら、クローラーがそのページに来られないと、noindexタグ自体を読むことができないからです。結果として、ページがインデックスから削除されず、検索結果に残り続けてしまうことも。どちらか一方だけを使うようにしましょう。
こんな時どうする?robots.txt設定のよくある疑問
実際にrobots.txtを設定していると、いろいろな疑問や問題が出てくるもの。ここでは、よくあるトラブルと、その解決方法を紹介します。
1. 設定が反映されない時にチェックしたいポイント
robots.txtを設定したのに、うまく機能していない気がする…。そんな時は、まず以下をチェックしてみてください。
- ファイルがルートディレクトリに正しく設置されているか
- ファイル名が「robots.txt」で、すべて小文字になっているか
- 文字コードがUTF-8になっているか
- 記述に全角スペースや余計な記号が入っていないか
特にファイル名の大文字・小文字は厳密に判断されます。「Robots.txt」や「ROBOTS.TXT」では認識されないので注意が必要です。
2. Google Search Consoleでエラーが出た時の対処法
Google Search Consoleには、robots.txtのテスト機能があります。「クロール」→「robots.txtテスター」から、自分のrobots.txtが正しく動作するかチェックできるんです。
エラーが出た場合は、どの行に問題があるか表示されるので、該当箇所を修正しましょう。構文エラーや、許可されていない命令を使っている可能性があります。
3. 記述を間違えるとどうなる?代表的な失敗例
よくある失敗例を紹介しますね。「Disallow: /」と書くつもりが、間違えて「Disallow: *」と書いてしまうと、すべてのページがクロール拒否されてしまいます。
また、「User-agent」の後に何も書かずに「Disallow」を書いてしまうと、指示が無効になることも。各命令の意味をしっかり理解して、慎重に記述することが大切です。
robots.txtを設定する前に知っておきたい注意点
最後に、robots.txtを使う上で必ず知っておいてほしい注意点をまとめます。便利な機能ですが、使い方を間違えるとサイトに悪影響が出ることもあるんです。
1. すべてのクローラーが指示に従うわけではない
先ほども少し触れましたが、robots.txtはあくまで「紳士協定」のようなものです。GoogleやBingといった主要な検索エンジンのクローラーは従ってくれますが、すべてのロボットが守ってくれるわけではありません。
スパム目的のクローラーや、悪意のあるボットは無視することもあります。セキュリティ対策としては不十分なので、過信しないようにしましょう。
2. 個人情報や機密情報を含むページは非公開に
robots.txtで拒否したページでも、URLを直接入力すればアクセスできます。つまり、ページ自体は公開されたままなんです。
個人情報や機密情報を含むページは、robots.txtだけでなく、パスワード保護やアクセス制限をかけて、本当の意味で非公開にする必要があります。robots.txtは「検索されたくない」ページ用であって、「見られたくない」ページ用ではないと覚えておいてください。
3. 設定を間違えると検索順位に影響が出る可能性
間違った設定をすると、重要なページまでクロールされなくなってしまいます。たとえば「Disallow: /」と書いてしまうと、サイト全体が検索結果から消えてしまうことも。
設定を変更したら、必ずGoogle Search Consoleで動作確認をしましょう。インデックス状況をこまめにチェックすることで、問題があればすぐに気づけます。
まとめ
robots.txtは、適切に使えばサイトの価値を高める強力なツールです。不要なページへのクロールを防ぎ、本当に見てほしいコンテンツに検索エンジンの力を集中させることができますからね。
ただし、noindexタグとの使い分けや、設定ミスによるリスクなど、注意すべきポイントもいくつかあります。特にサイト売却を考えている方にとって、クローラー制御の知識はSEO評価を左右する重要な要素です。まずは基本的な設定から始めて、少しずつ自分のサイトに最適な形を見つけていってください。
