SEO対策 robots.txtとは?書き方のルール・設定方法を解説

「robots.txtとはどのようなものなのか」「設置することでどのようなSEO効果が期待できるのか」「robots.txtとnoindexタグとの違いは何か」など、疑問に感じているのではないでしょうか?この記事では、robots.txtの概要からSEO効果、作成・設置方法について初心者にも分かりやすく解説します。
robots.txtとは?
robots.txt(ロボッツ・テキスト)とは、サイトのルートディレクトリ(最上位のディレクトリ)に設置することで、指定した検索エンジンのクローラーに対し、指定したページやファイルへ、クローラーがアクセスすることを制御できるテキストファイルです。
検索エンジンは、ロボット型のクローラーというプログラムが、WEBサイトのページの情報やデータを集めています。クローラーがページを巡回することで、検索エンジンにインデックスされページが検索結果に表示されるようになります。
その為、robots.txtを設定し自サイトにとって重要なページを中心にクロールを促すことが重要になります。
robots.txtのSEO効果について
robots.txtのSEO効果は、クロールしてもらう必要がないページへのクロールを拒否することで、重要なページへのクロールを集中させインデックス及び、SEOの評価スピードを高めることです。
通常のクローラーの動きは、ページの内部リンクを辿って全てのページ情報を取得しようと試みるため、サイト運営者側にとって重要なページなのか、早く評価されたいページなのかに関係なくクロールしていきます。
つまり、SEO的に重要ではないページもクロールするため、クローラーのリソースを消費してしまい、重要なページまで辿り着けない場合や、時間がかかる恐れがあるわけです。
robots.txtでクロールを制御するページを指定すると、重要性が低いページへのクロールが抑制され、結果として重要なページへのクロールが促進されます。
ただし、robots.txtが効果的なのは1万ページを超えるような大規模なサイトであり、数百ページ程度のサイトであれば、それほど気にする必要はありません。
数百ページ程度であれば、robots.txtを設置をしなかったとしても一度ですべてのページがクロールされるため、評価スピードに大きな変化はないからです。
一方、低品質なページを検索エンジンにインデックスされたくない場合には、robots.txtではなくnoindexタグを使用します。
robots.txtとnoindexタグの違い
robots.txtとnoindexタグの違いは、使うタイミングと使い方が異なります。robots.txtはクロール自体を制限し、noindexタグはクロールを制御するものではなく、インデックス自体を拒否します。つまり、noindexタグはクロール自体は行われるということです。
【役割の違い】
- クロールを拒否する:robots.txt
- インデックスを拒否する:noindexタグ
【インデックスの有無】
- robots.txt:インデックスされる可能性がある
- noindexタグ:インデックスされない
【クロールの有無】
- robots.txt:クロールを拒否できる
- noindexタグ:クロールされる
robots.txtファイルの作成ルール
robots.txtファイルを作成する際には、Googleのガイドラインに合わせて作成する必要があります。
各項目ごとに設けられているルールについて解説します。
robots.txtファイル形式と場所に関するルール
robots.txtファイルを正しく作成しないとエラーが発生しファイルの中身を読み込んでもらえません。まずは、正しいファイル形式とファイルを設置する場所について解説します。
robots.txt ファイルを作成する際のルールは以下になります。
ファイル形式に関するルール
■ ファイル名は「robots.txt」とする
ファイル名の記述ミスに注意しましょう。記述ミスがある場合は、robots.txtファイルを正しく読み込みません。
■ 1つのサイトにrobots.txtファイルは1つのみ
複数のrobots.txtファイルを1つのサイトに設定することはできません。ただし、サブドメインの場合は別のrobots.txtファイルを設定することができます。
■ ファイル形式はUTF-8でエンコードされたテキストファイルにする
メモ帳などでrobots.txtファイルを作成したら、文字コードはUTF-8で保存しましょう。

■ 行の区切りには「CR、CR/LF、LF」のいずれかを使用する
行を区切る場合は、改行をすれば問題ありません。
■ ファイルサイズの上限は500KiBとする
ファイルサイズが500KiBを超えた場合は、robots.txtファイルの内容が無視されます。ファイルの最大サイズを超えないように記述しましょう。
【場所に関するルール】
robots.txtファイルの有効範囲は以下のようになります。
ファイル名 | ドメインの例 | |
---|---|---|
https://△△△/robots.txt | https://△△△.com/ | 有効 |
https://△△△/folder/file | 有効 | |
https://aaa.△△△.com/ | 無効 | |
http:/△△△.com/ | 無効 | |
https://△△△.com:7171/ | 無効 |
■ サブディレクトリには設置できない
【有効】https://aaa.com/robots.txt
【無効】https://aaa.com/bbb/robots.txt
上記のようにサブディレクトリにrobots.txtファイルを設置することができません。
■ サブドメインには適用できる
【有効】https://△△△.aaa.com/robots.txt
サブドメインにrobots.txtファイルを設定する場合は、ルートドメインとは別でrobots.txtファイルを設定する必要があります。
【参考ページ】
Google検索セントラル:ファイル形式と場所に関するルール
robots.txtルールの書き方
robots.txtを作成する上で役割ごとに必要なルールが存在します。ここでは、ルールの書き方を解説します。ルールを記載することでクローラーに対して、サイト内でクロールを許可もしくは拒否するURLの指示が可能です。
robots.txtの書式
基本の書き方を説明する前に、robots.txtを作成する際の書式について説明します。書式は「メモ帳」「Crescent Eve」「サクラエディタ」「テキストエディット」などのテキストエディタであればどれを使っても問題ありません。
普段から利用している、テキストエディタを使ってファイルを作成しましょう。
基本の書き方

robots.txtファイルに記述する項目は以下の4つです。
- User-agent:必須
- Allow:任意
- Disallow:任意
- Sitemap:任意
robots.txtファイルには、それぞれの項目を「ルール」として記述することができます。
それぞれの項目の意味については後程説明します。
ここでは、robots.txtファイルにルールを記述する際の基本的なガイドラインを説明します。
robots.txtファイルは、1つ以上のルールセットを作成する必要があります。
クロールを「許可」、もしくは「拒否」したい場合は、ディレクトリごとにルールセット(グループ)を作りそれぞれのグループ内にルールを記述します。
【ルールとルールセットの解説】
ルール | 説明 | |
---|---|---|
ルールセット | User-Agent | クローラーのユーザーエージェント(ブラウザー)を指定します。 |
Disallow | クローラーがアクセスを拒否するパスやディレクトリを指定します。 | |
Allow | 特定のクローラーにのみアクセスを許可するパスやディレクトリを指定します。 | |
Sitemap | サイトマップのURLを指定します。クローラーにサイトマップの場所を伝えることができます。 | |
Crawl-Delay | クロールの遅延時間を指定します。特定のクローラーに対してのみ遅延時間を設定することができます。 | |
Host | マルチドメイン環境で使用され、特定のドメインに対してのみルールを適用することができます。 | |
Comment | # シンボルを使用してコメントを追加することができます。 |
以下は、上記のルールを使ったrobots.txtファイルの例です。
User-Agent: *
Disallow: /private/
Disallow: /admin/
Allow: /public/
Crawl-Delay: 5
User-Agent: Googlebot
Disallow: /temp/
Allow: /public/
Sitemap: https://example.com/sitemap.xml
上記の例では、最初のルールセットはUser-Agent: *で全てのクローラーに適用されるルールを指定しています。その中で、Disallowは/private/と/admin/ディレクトリへのアクセスを拒否しています。
次に、User-Agent: Googlebotという特定のクローラーに対してのみ適用されるルールセットがあります。Disallowは/temp/ディレクトリへのアクセスを拒否し、Allowは/public/ディレクトリへのアクセスを許可しています。また、SitemapではサイトマップのURLを指定しています。
最後に、Crawl-Delay: 5は全てのクローラーに対して、リクエストの間隔を5秒に設定しています。
【ルールを記述するガイドライン】
- 1行につき1つのルールを記述する
- ルールセットの先頭には「User-agent」の行を配置する
- 初期設定では、「Disallow」で拒否していない限り全てページ・ディレクトリがクロールの対象となる
- 大文字、小文字は区別されるため正しく記述する必要がある
制御するクローラ―を指定する【User-agent】
【User-agent】は、制御するクローラ―を指定する項目で最初の行に指示します。また、必ず記述する必要があります。
▼ 下記のように記述することで、制御するクローラ―を指定することができます。
【User-agent】の行では、大文字と小文字の区別はされません。
制御するクローラ― | 記述例 |
全てのクローラー | User-agent: * |
User-agent: Googlebot | |
PC | User-agent: Googlebot |
画像 | User-agent: Googlebot-Image |
クロールを拒否【Disallow】
【Disallow】は、クロールを拒否するページを指定する項目です。特定のページだけでなく、範囲を指定して拒否することもできます。記述するかどうかは任意です。
先頭と末尾に「/」を記述する必要があります。
また、【Disallow】の行では、大文字と小文字の区別がされます。
【Disallowの記述例】
指定する項目 | 記述例 |
サイト全体を拒否する場合 | User-agent: * Disallow: / |
ディレクトリ全体を拒否する場合 | User-agent: * Disallow: /(ディレクトリ名)/ |
特定のページを拒否する場合 | User-agent: * Disallow: /(ディレクトリ名)/(ページURL) |
クロールを許可する【Allow】
【Allow】は、クロールを許可するページを指定する項目です。記述するかどうかは任意です。
前提としてクローラーはすべてのページをクロールするため、クロールを許可したいページのすべてを【Allow】で許可する必要はありません。
前述した【Disallow】で拒否した範囲の中で、特定のページのクロールを許可したい場合に【Allow】で指定します。
先頭と末尾に「/」を記述する必要があります。
また、【Allow】の行では、大文字と小文字の区別がされます。
【Allowの記述例】
User-agent: *
Disallow: /(ディレクトリ名)/
Allow: /(ディレクトリ名)/(ページURL)
上記のように記述することで、ディレクトリに含まれるページのうち、【Allow】で指定したページのクロールを許可し、【Allow】で指定していないページはクロールを拒否することできます。
ディレクトリに含まれるページが1,000ページあり、そのうち990ページを拒否、10ページを許可しようとする場合、1,000ページ分のURLを記述することになります。
【Disallow】と【Allow】を組み合わせて記述することで、上記のような記述の手間を減らすことができます。
サイトの場所を教える【Sitemap】
【Sitemap】は、サイトのXMLサイトマップが保存されているURLを記述する項目です。記述するかどうかは任意です。
下記のように、絶対パスでURLを記述する必要があります。
Sitemap: https://white-link.com/sem-plus/sitemap.xml
Googleのクローラーについては、Googleサーチコンソールから送信していればXMLサイトマップを認識してもらえますが、他の検索エンジンのクローラーに対しては、robots.txtに記述することでXMLサイトマップの存在を知らせることができます。
robots.txtの記述ミスや動作確認をする方法
robots.txtに記述ミスがある場合は、クローラーの行動をコントールすることができなくなります。つまり、本来であればクロールを許可したいページも拒否してしまい、インデックスされにくくなる恐れもあります。
robots.txtに記述ミスがある場合は、ただちにインデックスされなくなったり、突然検索結果に表示されなくなったりするわけではありません。
しかし、記述ミスに気付かず放置していると、少しづつアクセス数が低下したり、検索順位が低下したりすることになるでしょう。
このようなトラブルを防止するために、robots.txtを設置した後には、「robots.txtテスター」を使って記述ミスや動作確認をする必要があります。
robots.txtテスターとは、Googleサーチコンソールの機能の一つで、正しいルールで記述されているかなどを確認できます。
▼ robots.txtテスターでできることは以下の3つです。
- robots.txtの記述ミス確認
- robots.txtの動作テスト
- robots.txtの更新をGoogleに送信
▼ robots.txtテスターの手順は以下の流れになります。
- robots.txtテスターにログイン
- 該当するWEBサイトURL(プロパティ)を選択
- クロール済みのrobots.txtが表示される
記述ミスがある場合は、赤字で「エラー数」、橙色で「警告数」が表示され、誤りがある記述の横にエラーマークがつきます。
▼ 記述したrobots.txtが機能しているかを確認する手順は以下の通りです。
- フォームにURLの一部を入力する
- 「テスト」をクリック
- メッセージを確認する
robots.txtテスターについて、別記事で詳しく解説しているので興味がある方は以下ページをご確認ください。
robots.txtファイルの設置場所
robots.txtを設置する場所は、サイトのルートディレクトリ(最上位のディレクトリ)です。
▼ 以下のようにファイル名をrobots.txtにする必要があります。
正:https://white-link.com/sem-plus/robots.txt
誤:https://white-link.com/sem-plus/seo/robots.txt
ルートディレクトリ以外の場所に設置しても、クローラーからrobots.txtの存在を認識してもらえません。
また、以下のようにサブドメインにrobots.txtを設置することも可能です。
https://sub.white-link.com/sem-plus/robots.txt
robots.txtファイルの更新方法
robots.txtで設定したファイルのルールを更新する場合は、既存のrobots.txtファイルをダウンロードし編集を行います。下記で具体的な流れを解説します。
STEP1. 「robots.txtファイル」をダウンロード
【ダウンロード方法は以下3つ】
- robots.txtファイル(例:https://white-link.com/sem-plus/robots.txt)に移動し、内容を新しいテキストファイルにコピーする
- curlコマンドを使用し、robots.txtファイルのコピーをダウンロードする
- robots.txtテスターからダウンロードする
STEP2. ファイルを編集
ダウンロードした内容をテキストエディタで開き、正しいルールで変更を加える。
UTF-8エンコードでファイルを保存する。
STEP3. 保存したrobots.txtファイルをアップロード
新しいファイルを「robots.txt」と明記してドメインのルートへアップロードした後、自動でクロールされるのを待ちます。
更新したrobots.txtファイルを早く読み込んでもらう方法
クローラーは定期的にrobots.txtを自動でクロールして変更を検知していますが、より早くrobots.txtファイルを読み込んで欲しい場合は、「robots.txtテスター」を使い、以下の手順でキャッシュを更新してクローラーに変更を伝えます。
STEP1. robots.txtテスターの「送信」をクリック

STEP2. 「アップロードされたバージョンを表示」をクリック

公開されているrobots.txtが、Googleにクロールして欲しいバージョンであることを確認する。
STEP3. 「送信」をクリック

STEP4. ブラウザを更新してrobots.txtテスターに表示されているコードが書きかわったか確認します。また、最新バージョンを読み込んだ日時を確認します。

最新の日付になっていれば更新成功です。
robots.txtテスターを使えば、動作確認から送信までができます。
robots.txtテスターを使った送信方法に関して、興味がある方は以下ページをご確認ください。
robots.txtの注意点
robots.txtを作成・設置する際に注意することは以下の3点です。
- インデックスをコントロールすることはできない
- ユーザーはページを見る事ができる
- robots.txtの内容は外部に見られる
インデックスをコントールすることはできない
robots.txtは、クローラーがページをインデックスしたり、しなかったりすることを直接コントロールするために設置するファイルではありません。
robots.txtでコントロールできるのはサイトを訪れたクローラーがどのページをクロールするかだけであり、ページのインデックス自体を拒否するものではないからです。クロールを拒否した結果として、ページがインデックスされにくくなります。
特定のページをrobots.txtで指定しても、外部サイトにURLが貼られている場合、クローラーがリンクを辿ってページをクロールし、インデックスする可能性があります。
特定のページがインデックスされたくない場合は、robots.txtではなくnoindexタグを設置しましょう。
一方、画像や動画、音声ファイルなどのようにHTMLで作成されていないファイルには、noindexタグを設置できません。画像や動画、音声ファイルをインデックスされたくない場合、検索結果に表示されたくない場合には、robots.txtでクロールを拒否する形でインデックスされにくくするしかありません。
ユーザーはページを見る事ができる
robots.txtで特定のページを拒否しても、ユーザーがページを閲覧することができます。
robots.txtで拒否できるのは、サイトに訪れたクローラーが【Disallow】で指定したページのクロール拒否だけです。その為、robots.txtではユーザーがページにアクセスすること自体を防ぐことはできません。
ユーザーがページを閲覧できないようにするためには、ページを完全に削除するか、サイト全体もしくはページにパスワードを設定して、許可を与えたユーザーしか閲覧できないようにしましょう。
robots.txtの内容は外部に見られる
サイトに設置しているrobots.txtにどのような内容が記述されているかは、下記のようにサイトのURLの末尾に「robots.txt」を付け加え、ブラウザのアドレスバーに入力することで、サイトの運営者だけでなく誰からでも確認することができます。
例:https://○△■.com/robots.txt
robots.txtについてよくある質問
robots.txtについてよくある質問と回答をご紹介します。
robots.txtの読み方は?
robots.txtの読み方は「ロボッツ・テキスト」です。
robots.txtを置く場所はどこ?
robots.txtを置く場所は、サイトのルートディレクトリ(最上位のディレクトリ)です。
適切ではない場所に設置しても無視されるため、効果は得られません。
まとめ
今回は、robots.txtの概要からSEO効果、設置する目的、作成・記述方法について解説しました。
1万ページを超えるような大規模なサイトではクローラーの負担が大きくなるため、必要のないページをrobots.txtでクロール拒否しておくことで、クロールが効率化します。また、画像や動画などのようにデータ量が大きいファイルを多数設置しているサイトでも効果的です。
一方、ページ数が少ないサイトでは、robots.txtの設置が必須な訳ではありません。
また、robots.txtに記述ミスがあると、ページのインデックスが遅れたり、アクセス数が低下する恐れもあります。robots.txtを設置する必要があるかを確認し、適切な方法で作成・設置しましょう。