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

robots.txtとは?書き方のルール・設定方法を解説のサムネイル画像

「robots.txtとはどのようなものなのか」「設置することでどのようなSEO効果が期待できるのか」「robots.txtとnoindexタグとの違いは何か」など、疑問に感じているのではないでしょうか?この記事では、robots.txtの概要からSEO効果、作成・設置方法について初心者にも分かりやすく解説します。

1

robots.txtとは?

robots.txt(ロボッツ・テキスト)とは、サイトのルートディレクトリ(最上位のディレクトリ)に設置することで、指定した検索エンジンのクローラーに対し、指定したページやファイルへ、クローラーがアクセスすることを制御できるテキストファイルです。

検索エンジンは、ロボット型のクローラーというプログラムが、WEBサイトのページの情報やデータを集めています。クローラーがページを巡回することで、検索エンジンにインデックスされページが検索結果に表示されるようになります。

その為、robots.txtを設定し自サイトにとって重要なページを中心にクロールを促すことが重要になります。

2

robots.txtのSEO効果について

robots.txtのSEO効果は、クロールしてもらう必要がないページへのクロールを拒否することで、重要なページへのクロールを集中させインデックス及び、SEOの評価スピードを高めることです。

通常のクローラーの動きは、ページの内部リンクを辿って全てのページ情報を取得しようと試みるため、サイト運営者側にとって重要なページなのか、早く評価されたいページなのかに関係なくクロールしていきます。

つまり、SEO的に重要ではないページもクロールするため、クローラーのリソースを消費してしまい、重要なページまで辿り着けない場合や、時間がかかる恐れがあるわけです。

robots.txtでクロールを制御するページを指定すると、重要性が低いページへのクロールが抑制され、結果として重要なページへのクロールが促進されます。

ただし、robots.txtが効果的なのは1万ページを超えるような大規模なサイトであり、数百ページ程度のサイトであれば、それほど気にする必要はありません。

数百ページ程度であれば、robots.txtを設置をしなかったとしても一度ですべてのページがクロールされるため、評価スピードに大きな変化はないからです。

一方、低品質なページを検索エンジンにインデックスされたくない場合には、robots.txtではなくnoindexタグを使用します。

2-1

robots.txtとnoindexタグの違い

robots.txtとnoindexタグの違いは、使うタイミングと使い方が異なります。robots.txtはクロール自体を制限し、noindexタグはクロールを制御するものではなく、インデックス自体を拒否します。つまり、noindexタグはクロール自体は行われるということです。

【役割の違い】

  • クロールを拒否する:robots.txt
  • インデックスを拒否する:noindexタグ

【インデックスの有無】

  • robots.txt:インデックスされる可能性がある
  • noindexタグ:インデックスされない

【クロールの有無】

  • robots.txt:クロールを拒否できる
  • noindexタグ:クロールされる
3

robots.txtファイルの作成ルール

robots.txtファイルを作成する際には、Googleのガイドラインに合わせて作成する必要があります。
各項目ごとに設けられているルールについて解説します。

3-1

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で保存しましょう。

文字コード UTF-8


行の区切りには「CR、CR/LF、LF」のいずれかを使用する

行を区切る場合は、改行をすれば問題ありません。

ファイルサイズの上限は500KiBとする

ファイルサイズが500KiBを超えた場合は、robots.txtファイルの内容が無視されます。ファイルの最大サイズを超えないように記述しましょう。

【場所に関するルール】

robots.txtファイルの有効範囲は以下のようになります。

ファイル名ドメインの例
https://△△△/robots.txthttps://△△△.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検索セントラル:ファイル形式と場所に関するルール

4

robots.txtルールの書き方

robots.txtを作成する上で役割ごとに必要なルールが存在します。ここでは、ルールの書き方を解説します。ルールを記載することでクローラーに対して、サイト内でクロールを許可もしくは拒否するURLの指示が可能です。

4-1

robots.txtの書式

基本の書き方を説明する前に、robots.txtを作成する際の書式について説明します。書式は「メモ帳」「Crescent Eve」「サクラエディタ」「テキストエディット」などのテキストエディタであればどれを使っても問題ありません。

普段から利用している、テキストエディタを使ってファイルを作成しましょう。

4-2

基本の書き方

robots.txtファイルに記述する項目

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」で拒否していない限り全てページ・ディレクトリがクロールの対象となる
  • 大文字、小文字は区別されるため正しく記述する必要がある
4-3

制御するクローラ―を指定する【User-agent】

【User-agent】は、制御するクローラ―を指定する項目で最初の行に指示します。また、必ず記述する必要があります。

▼ 下記のように記述することで、制御するクローラ―を指定することができます。
【User-agent】の行では、大文字と小文字の区別はされません。

制御するクローラ―記述例
全てのクローラーUser-agent: *
GoogleUser-agent: Googlebot
PCUser-agent: Googlebot
画像User-agent: Googlebot-Image
4-4

クロールを拒否【Disallow】

【Disallow】は、クロールを拒否するページを指定する項目です。特定のページだけでなく、範囲を指定して拒否することもできます。記述するかどうかは任意です。

先頭と末尾に「/」を記述する必要があります。
また、【Disallow】の行では、大文字と小文字の区別がされます。

【Disallowの記述例

指定する項目記述例
サイト全体を拒否する場合User-agent: *
Disallow: /
ディレクトリ全体を拒否する場合User-agent: *
Disallow: /(ディレクトリ名)/
特定のページを拒否する場合User-agent: *
Disallow: /(ディレクトリ名)/(ページURL)
4-5

クロールを許可する【Allow】

【Allow】は、クロールを許可するページを指定する項目です。記述するかどうかは任意です。

前提としてクローラーはすべてのページをクロールするため、クロールを許可したいページのすべてを【Allow】で許可する必要はありません。

前述した【Disallow】で拒否した範囲の中で、特定のページのクロールを許可したい場合に【Allow】で指定します。

先頭と末尾に「/」を記述する必要があります。
また、【Allow】の行では、大文字と小文字の区別がされます。

【Allowの記述例】

User-agent: *
Disallow: /(ディレクトリ名)/
Allow: /(ディレクトリ名)/(ページURL)

上記のように記述することで、ディレクトリに含まれるページのうち、【Allow】で指定したページのクロールを許可し、【Allow】で指定していないページはクロールを拒否することできます。

ディレクトリに含まれるページが1,000ページあり、そのうち990ページを拒否、10ページを許可しようとする場合、1,000ページ分のURLを記述することになります。

【Disallow】と【Allow】を組み合わせて記述することで、上記のような記述の手間を減らすことができます。

4-6

サイトの場所を教える【Sitemap】

【Sitemap】は、サイトのXMLサイトマップが保存されているURLを記述する項目です。記述するかどうかは任意です。

下記のように、絶対パスでURLを記述する必要があります。

Sitemap: https://white-link.com/sem-plus/sitemap.xml


Googleのクローラーについては、Googleサーチコンソールから送信していればXMLサイトマップを認識してもらえますが、他の検索エンジンのクローラーに対しては、robots.txtに記述することでXMLサイトマップの存在を知らせることができます。

5

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テスターの手順は以下の流れになります。

  1. robots.txtテスターにログイン
  2. 該当するWEBサイトURL(プロパティ)を選択
  3. クロール済みのrobots.txtが表示される

記述ミスがある場合は、赤字で「エラー数」、橙色で「警告数」が表示され、誤りがある記述の横にエラーマークがつきます。

▼ 記述したrobots.txtが機能しているかを確認する手順は以下の通りです。

  1. フォームにURLの一部を入力する
  2. 「テスト」をクリック
  3. メッセージを確認する


robots.txtテスターについて、別記事で詳しく解説しているので興味がある方は以下ページをご確認ください。

6

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

7

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」と明記してドメインのルートへアップロードした後、自動でクロールされるのを待ちます。

7-1

更新したrobots.txtファイルを早く読み込んでもらう方法

クローラーは定期的にrobots.txtを自動でクロールして変更を検知していますが、より早くrobots.txtファイルを読み込んで欲しい場合は、「robots.txtテスター」を使い、以下の手順でキャッシュを更新してクローラーに変更を伝えます。

STEP1. robots.txtテスターの「送信」をクリック

robots.txtテスターの「送信」をクリック


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

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

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

STEP3. 「送信」をクリック

「送信」をクリック


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

最新バージョンを読み込んだ日時を確認


最新の日付になっていれば更新成功です。

robots.txtテスターを使えば、動作確認から送信までができます。
robots.txtテスターを使った送信方法に関して、興味がある方は以下ページをご確認ください。

8

robots.txtの注意点

robots.txtを作成・設置する際に注意することは以下の3点です。

  • インデックスをコントロールすることはできない
  • ユーザーはページを見る事ができる
  • robots.txtの内容は外部に見られる
8-1

インデックスをコントールすることはできない

robots.txtは、クローラーがページをインデックスしたり、しなかったりすることを直接コントロールするために設置するファイルではありません。

robots.txtでコントロールできるのはサイトを訪れたクローラーがどのページをクロールするかだけであり、ページのインデックス自体を拒否するものではないからです。クロールを拒否した結果として、ページがインデックスされにくくなります。

特定のページをrobots.txtで指定しても、外部サイトにURLが貼られている場合、クローラーがリンクを辿ってページをクロールし、インデックスする可能性があります。

特定のページがインデックスされたくない場合は、robots.txtではなくnoindexタグを設置しましょう。

一方、画像や動画、音声ファイルなどのようにHTMLで作成されていないファイルには、noindexタグを設置できません。画像や動画、音声ファイルをインデックスされたくない場合、検索結果に表示されたくない場合には、robots.txtでクロールを拒否する形でインデックスされにくくするしかありません。

8-2

ユーザーはページを見る事ができる

robots.txtで特定のページを拒否しても、ユーザーがページを閲覧することができます。

robots.txtで拒否できるのは、サイトに訪れたクローラーが【Disallow】で指定したページのクロール拒否だけです。その為、robots.txtではユーザーがページにアクセスすること自体を防ぐことはできません。

ユーザーがページを閲覧できないようにするためには、ページを完全に削除するか、サイト全体もしくはページにパスワードを設定して、許可を与えたユーザーしか閲覧できないようにしましょう。

8-3

robots.txtの内容は外部に見られる

サイトに設置しているrobots.txtにどのような内容が記述されているかは、下記のようにサイトのURLの末尾に「robots.txt」を付け加え、ブラウザのアドレスバーに入力することで、サイトの運営者だけでなく誰からでも確認することができます。

例:https://○△■.com/robots.txt

9

robots.txtについてよくある質問

robots.txtについてよくある質問と回答をご紹介します。

robots.txtの読み方は?

robots.txtの読み方は「ロボッツ・テキスト」です。

robots.txtを置く場所はどこ?

robots.txtを置く場所は、サイトのルートディレクトリ(最上位のディレクトリ)です。

適切ではない場所に設置しても無視されるため、効果は得られません。

10

まとめ

今回は、robots.txtの概要からSEO効果、設置する目的、作成・記述方法について解説しました。

1万ページを超えるような大規模なサイトではクローラーの負担が大きくなるため、必要のないページをrobots.txtでクロール拒否しておくことで、クロールが効率化します。また、画像や動画などのようにデータ量が大きいファイルを多数設置しているサイトでも効果的です。

一方、ページ数が少ないサイトでは、robots.txtの設置が必須な訳ではありません。

また、robots.txtに記述ミスがあると、ページのインデックスが遅れたり、アクセス数が低下する恐れもあります。robots.txtを設置する必要があるかを確認し、適切な方法で作成・設置しましょう。

ホワイトリンク 記事内用バナー


この記事を書いたライター

SEO施策部

SEMを軸にSEOの施策を行うオルグロー内の一部署。
サイト構築段階からのSEO要件のチェックやコンテンツ作成やサイト設計までを一貫して行う。社内でもひときわ豊富な知見を有する。またSEO歴15年超の塩田英司のノウハウをSEOサービスに反映し、2000社を超える個人事業主から中堅企業までの幅広い顧客層に向けてビジネス規模にあった施策を提供し続けている。

CATEGORY

カテゴリー

SEO対策

WEBサイトを最適化し、Google、Yahoo!などの検索結果で上位に表示させる施策です。

SEO対策とは SEO対策とは イメージ画像
SEO対策の記事一覧

MEO対策

Googleビジネスプロフィールを最適化し、GoogleMapの検索結果で上位に表示させる施策です。

MEO対策とは MEO対策とは イメージ画像
MEO対策の記事一覧

コンテンツSEO

検索ユーザーの検索意図に合わせたコンテンツページを作成し、検索結果で上位に表示させる施策です。

コンテンツSEO コンテンツSEO イメージ画像
コンテンツSEOの記事一覧