Webサイトの運営を始めたばかりのとき、「robots.txt(ロボッツ・テキスト)」という言葉を聞いて戸惑ったことはありませんか?
「何か設定しないといけないみたいだけど、間違えたら検索結果に出なくなるって本当?」と不安に思う方も多いはずです。

robots.txtは、検索エンジンのロボット(クローラー)に対して「ここは見てもいいよ」「ここは入らないでね」と伝える、いわばサイトの交通整理役のようなファイルです。
正しく設定すればSEO効果を高められますが、記述を1文字間違えるだけでサイト全体の順位に影響してしまうこともあります。

でも、安心してくださいね。
この記事では、初心者の方でも失敗せずに設定できる「robots.txtの書き方」を、コピペで使えるテンプレート付きでやさしく解説します。
難しい専門用語はなるべく使わず、今日からすぐに実践できる手順をお伝えしますので、ぜひ最後まで一緒に見てみましょう。

robots.txtとは?SEO対策における役割と重要性

robots.txt(ロボッツ・テキスト)とは、Webサイトのルートディレクトリ(一番上の階層)に設置するテキストファイルのことです。
一言でいうと、検索エンジンのクローラーに対して「サイト内のどのページを見てほしいか、あるいは見てほしくないか」を指示するための「クローラーへの指示書」のような役割を持っています。

SEO対策において、このファイルは非常に重要な基礎部分となります。なぜそれほど重要なのか、3つのポイントに分けて見ていきましょう。

検索エンジンのクローラー巡回を制御する指示書

検索エンジンは、クローラーと呼ばれるロボットを世界中のWebサイトに派遣して情報を集めています。
robots.txtは、このクローラーに対して「この部屋(ページ)は入ってチェックしてね」「あの倉庫(管理画面など)は立ち入り禁止だよ」と案内する役割を果たします。

もしこの指示書がないと、クローラーはサイト内のあらゆるページを無差別に巡回しようとします。
公開したくないテストページや、重要度の低いページまで見られてしまうのを防ぐために、robots.txtでの制御が必要なのです。

クロールバジェットの最適化によるSEO効果

実は、検索エンジンのクローラーが1つのサイトに滞在できる時間やリソースには限りがあります。これを専門用語で「クロールバジェット(巡回予算)」と呼びます。

重要でないページへのアクセスをrobots.txtでブロック(拒否)することで、クローラーの限られた体力を本当に見てほしい重要なページだけに集中させることができます。
結果として、重要な記事が早くインデックスされたり、評価が適切に伝わりやすくなったりと、SEO上のメリットが生まれるのです。

サーバーへの負荷軽減とセキュリティ対策

クローラーは時として、猛烈な勢いでサイトにアクセスしてくることがあります。
アクセスが集中しすぎると、サーバーに負荷がかかり、一般の読者がサイトを見ようとしたときに表示が遅くなってしまうかもしれません。

不要なクロールを制限することは、サーバーの負荷を減らし、安定したサイト表示を守ることにつながります。
また、管理画面やシステムファイルなど、外部に見せるべきではない場所へのアクセスを防ぐことは、簡易的なセキュリティ対策としても有効です。

robots.txtの基本的な書き方と4つの構成要素

robots.txtの書き方は、実はとてもシンプルなんです。基本的には「誰に(どのクローラーに)」「どうしてほしいか(許可か拒否か)」を伝えるだけだからですね。

ここでは、robots.txtを構成する主な記述(ディレクティブ)について解説します。基本となる「User-agent」「Disallow」や、必要に応じて使う「Allow」、そしてSEOのために記述が推奨される「Sitemap」の4つを押さえておきましょう。これらを組み合わせることで、サイトに合わせた柔軟な設定ができるようになります。

User-agent:対象とするクローラーを指定する

まず最初に、「どのクローラーに対する指示なのか」を指定します。これがUser-agent(ユーザーエージェント)です。

  • すべてのクローラーを指定する場合: User-agent: *
  • Googleのクローラーのみ指定する場合: User-agent: Googlebot

基本的には、すべてを対象とするアスタリスク(*)を使うことがほとんどです。特定のボットだけを弾きたい場合などに、個別の名前を指定します。

Disallow:クロールを禁止する場所を指定する

Disallow(ディスアロウ)は、クローラーのアクセスを禁止したい場所を指定する命令です。
ここに書かれたパス(URLの一部)には、クローラーが巡回しなくなります。

  • 記述例: Disallow: /wp-admin/
    • (意味:/wp-admin/ というディレクトリの中は見ないでください)

サイトの管理画面や、検索結果に出す必要のない自動生成ページなどを指定するのが一般的です。何も禁止しない場合は、値を空にしておくこともあります。

Allow:クロールを許可する場所を指定する

Allow(アロウ)は、逆にアクセスを許可したい場所を指定します。
「基本的には禁止(Disallow)だけど、このファイルだけは見ていいよ」というような、例外を作るときによく使われます。

  • 記述例:
    text Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php

このように書くことで、管理画面全体はブロックしつつ、特定の機能に必要なファイルだけはクローラーに通すことができます。Googlebotなど多くの主要クローラーがこの記述に対応しています。

Sitemap:XMLサイトマップのURLを伝える

Sitemapは、XMLサイトマップ(sitemap.xml)の場所をクローラーに教えるための項目です。
これを記述しておくと、クローラーがサイトに来たとき、真っ先にサイトマップを見つけてくれます。

  • 記述例: Sitemap: https://cocorograph.co/sitemap.xml

これはファイルのどこに書いても機能しますが、一般的にはファイルの末尾に記述することが多いです。URLは省略せず、https://から始まる完全なURLで書きましょう。

robots.txtで使用できる特殊記号(ワイルドカード)

robots.txtでは、URLを一つひとつ指定するだけでなく、記号を使って「パターン」で指定することができます。これをワイルドカードと呼びます。

使える記号は主に2種類だけですが、これらを使いこなすと記述がぐっと楽になります。それぞれの意味と使い方を見てみましょう。

アスタリスク(*):任意の文字列を指定する

アスタリスク(*)は、「0文字以上の任意の文字列」を表します。つまり、「何がきてもOK」という記号です。

  • : Disallow: /private*/
    • 意味:「/private」で始まるすべてのURL(/private-a/ も /private-b/ も)をブロックします。

実はrobots.txtの記述では、文末のアスタリスクは省略可能です。しかし、URLの途中にあるパターン(例:/category/*/page/)を指定したい場合などに非常に便利です。

ドル記号($):URLの末尾を指定する

ドル記号($)は、「URLの末尾」を指定するために使います。
「この拡張子のファイルだけブロックしたい」という場合に役立ちます。

  • : Disallow: /*.pdf$
    • 意味:URLの最後が「.pdf」で終わるものだけをブロックします。

もし$を付けずにDisallow: /*.pdfと書くと、「filename.pdf.bak」のようなファイルまでブロック対象になってしまいます。ピンポイントで指定したいときに使いましょう。

ハッシュ(#):自分用のメモ(コメント)を記述する

ハッシュ(#)は、クローラーへの指示ではなく、人間が見るための「メモ(コメント)」を残すための記号です。
#より後ろに書かれた文字は、クローラーによって無視されます。

  • :
    text # 管理画面はブロックする Disallow: /wp-admin/

何のためにその設定をしたのか、後で自分や他の担当者が見返したときに分かりやすくするために使います。日本語で書いても問題ありません。

【コピペOK】ケース別robots.txtの記述例テンプレート

「理屈はわかったけど、実際にどう書けばいいの?」という方のために、そのままコピー&ペーストして使える記述例を用意しました。
ご自身のサイトの状況に合わせて、URL部分などを書き換えて使ってみてくださいね。

Sitemap:のURLは、必ずご自身のサイトのドメインに変更してください。

すべてのクローラーのアクセスを許可する場合

一般的なWebサイトやブログで、特に隠したいページがない場合の基本形です。
すべてのクローラーに対して、すべてのページへのアクセスを許可します。

User-agent: *
Disallow:

Sitemap: https://your-domain.com/sitemap.xmlCode language: JavaScript (javascript)

Disallow: のあとに何も書かないことで、「禁止する場所はない=全部見てOK」という意味になります。

すべてのクローラーのアクセスを拒否する場合(テスト環境など)

制作中のテストサイトや開発環境など、検索結果に一切出したくない場合の設定です。
すべてのクローラーに対して、サイト全体へのアクセスを禁止します。

User-agent: *
Disallow: /Code language: HTTP (http)

スラッシュ(/)はルートディレクトリ(サイト全体)を指します。
注意: 本番公開するときに、この設定を解除(削除)し忘れる事故が非常に多いです。公開時は必ず確認しましょう!

特定のディレクトリ(管理画面など)のみ拒否する場合

WordPressなどのCMSを使っている場合、管理画面やシステムファイルへのアクセスを制限するのが一般的です。

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://your-domain.com/sitemap.xmlCode language: JavaScript (javascript)

これはWordPressサイトでの典型的な設定例です。管理画面(/wp-admin/)は隠しつつ、機能上必要なファイル(admin-ajax.php)だけは許可しています。

特定のファイル形式(PDFや画像など)を拒否する場合

PDF資料や画像ファイルなど、特定のファイルだけ検索結果に出したくない場合に使います。

User-agent: *
# PDFファイルをブロック
Disallow: /*.pdf$
# PPTファイルをブロック
Disallow: /*.ppt$Code language: PHP (php)

$マークを使うことで、拡張子を正確に指定しています。これにより、Webページ(HTML)はインデックスさせつつ、資料ファイルだけを検索結果から除外できます。

特定のクローラー(AI学習用ボットなど)のみ拒否する場合

最近では、ChatGPTなどのAI学習用ボットのアクセスを拒否したいというニーズも増えています。
特定のボットだけを指名してブロックする方法です。

User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: *
Disallow:Code language: HTTP (http)

このように、特定のボット(User-agent)に対する命令を個別に書き、最後に全体(*)への許可設定を書くのがマナーです。

robots.txtファイルの作成からサーバーへの設置手順

記述内容が決まったら、実際にファイルを作成してサーバーに設置しましょう。
手順はとても簡単で、特別なソフトがなくてもパソコンにある標準的なツールで作成可能です。

ここでは、最も基本的な「手動で作成してアップロードする手順」を3つのステップで解説します。

テキストエディタでファイルを作成する

まずは、Windowsの「メモ帳」やMacの「テキストエディット」などのテキストエディタを開きます。
先ほど紹介したテンプレートなどを参考に、必要な内容を記述してください。

このとき、文字コードは「UTF-8」で保存するのが鉄則です。
他の文字コードだと、日本語のコメントなどが文字化けしたり、クローラーが正しく読み取れなかったりする可能性があります。

ファイル名を「robots.txt」として保存する

記述ができたら、ファイルを保存します。
ファイル名は必ず、すべて小文字で「robots.txt」としてください。

  • ⭕ robots.txt
  • ❌ Robots.txt(大文字はNG)
  • ❌ robots.txt.txt(拡張子の重複に注意)

OSの設定によっては拡張子(.txt)が隠れている場合があるので、意図せず二重拡張子になっていないか確認しましょう。

FTPソフトでルートディレクトリにアップロードする

作成したファイルを、FTPソフト(FileZillaなど)を使ってサーバーにアップロードします。
アップロード先は、サイトの「ルートディレクトリ」(一番上の階層)です。

  • public_htmlwww フォルダの直下が一般的です。
  • アクセスできるURLは https://ドメイン名/robots.txt となります。

もしサブディレクトリ(例:/blog/)に置いても、検索エンジンは基本的にそれを見に行きません。必ずドメイン直下に設置してください。

WordPressでrobots.txtを設定・編集する方法

WordPress(ワードプレス)でサイトを運営している場合、FTPソフトを使わずに管理画面から設定できることもあります。
WordPress特有の仕様や、便利なプラグインを使った編集方法について解説します。自分の環境に合ったやり方を選んでみてください。

WordPressが自動生成する仮想robots.txtとは

実はWordPressは、自分でrobots.txtファイルを作らなくても、自動的に「仮想robots.txt」というものを生成してくれています。
ブラウザで https://ドメイン/robots.txt にアクセスすると、ファイルが存在しないはずなのに内容が表示されるのはこのためです。

特にこだわりがなければ、このデフォルトの状態でも問題ありません。ただし、内容をカスタマイズしたい場合は、これから紹介する方法で編集する必要があります。

ファイルを直接アップロードして上書きする方法

先ほどの「FTPソフトでアップロードする手順」で、物理的な robots.txt ファイルをサーバーにアップロードすると、WordPressの仮想robots.txtよりも実ファイルが優先されます。

これが最も確実で、プラグインの影響を受けない方法です。
ファイルを作成してアップロードするだけで、自動的にWordPressの仮想設定は無効化され、あなたが書いた内容が反映されます。

プラグイン「All in One SEO」を使って編集する方法

人気プラグイン「All in One SEO(AIOSEO)」を使っている方も多いかもしれませんね。実はこのプラグインには、管理画面から直接robots.txtを作成・編集できる便利な機能が備わっているんです。

FTPソフトなどの難しいツールを使わずに、管理画面から手軽にrobots.txtの書き方を実践できるので、ぜひ試してみてください。

  1. WordPress管理画面のメニューから「All in One SEO」→「ツール」をクリックする
  2. 「Robots.txt Editor」タブを選び、「カスタムRobots.txtを有効化」をオンにする
  3. 表示された入力欄にルールを記述し、「変更を保存」をクリックする

これだけで設定は完了です。専用のエディタにコードを書いて保存するだけなので、初心者の方でも安心して取り組めるでしょう。

プラグイン「XML Sitemaps」を使って編集する方法

以前よく使われていた「Google XML Sitemaps」などのサイトマップ生成プラグインの中には、robots.txtにSitemapのURLを自動追記してくれるものがあります。

ただし、最近のプラグインはrobots.txtそのものを編集する機能を持っていないことも多いです。
もしSitemapのURLだけを追記したいのであれば、プラグインの設定で事足りることもありますが、細かいDisallow設定などをしたい場合は、別の方法を検討しましょう。

設定内容が正しいか確認・送信する方法

設定内容が正しいか確認・送信する方法

robots.txtを設置・編集したら、必ず「正しく設定できているか」を確認しましょう。
記述ミスがあると、最悪の場合、サイト全体が検索結果から消えてしまうリスクもあります。
ここでは、安全に確認するための3つのステップを紹介します。

ブラウザのアドレスバーにURLを入力して直接確認する

まずは、実際にファイルがアクセス可能な状態かを確認します。
Webブラウザのアドレスバーに、以下のURLを入力してEnterキーを押してください。

  • https://あなたのドメイン/robots.txt

画面にあなたが記述したテキスト内容がそのまま表示されれば、設置自体は成功しています。
もし「404 Not Found」などのエラーが出る場合は、アップロード先が間違っているか、ファイル名が誤っている可能性があります。

Googleサーチコンソールの機能でエラーチェックを行う

記述内容が「意図通りに機能するか」を確認するには、Googleサーチコンソールなどのツールを使うのが確実です。
(※Googleの「robots.txtテスター」は旧バージョンのツールですが、現在でも一部のリンクから利用可能です。または、外部の検証ツールを利用します)

サーチコンソールの「URL検査」ツールを使えば、特定のURLが「robots.txtによりブロックされました」となるかどうかをチェックできます。
意図せずブロックされていないか、公開前に必ず確認しましょう。

Googleにrobots.txtの更新を通知する

robots.txtの内容を更新しても、クローラーが次に巡回してくるまで変更は反映されません。
急いで反映させたい場合は、Googleに更新を通知することができます。

Googleサーチコンソールのヘルプなどからアクセスできる「robots.txtテスター」の送信機能を使うことで、Googleに「robots.txtを変えたから早めに見てね」とリクエストを送ることが可能です。
サイトのリニューアル時などは、この操作を行っておくとスムーズです。

robots.txtを書く際に初心者がやりがちな失敗と注意点

robots.txtは強力なツールである反面、使い方を誤るとSEOに悪影響を及ぼすことがあります。
ここでは、初心者がやってしまいがちな失敗例と、注意すべきポイントを5つ挙げました。トラブルを未然に防ぐために、ぜひチェックしておいてください。

インデックス削除(noindex)の目的で使用してしまう

これが最も多い勘違いです。robots.txtでブロックしても、すでに検索結果に出ているページは消えません。
それどころか、クローラーがページの中身を読めなくなるため、「noindexタグ」によるインデックス削除指示さえも伝わらなくなってしまいます。

検索結果からページを消したい場合は、robots.txtでブロックするのではなく、ページ側のHTMLにnoindexタグを設定し、クロールを許可する必要があります。

CSSやJavaScriptなどの重要リソースをブロックしてしまう

サイトのデザインや機能に重要なCSSファイルやJavaScriptファイルをDisallowしてしまうケースです。
これらをブロックすると、クローラーはページがどのような見た目なのか(モバイルフレンドリーかどうかなど)を正しく理解できません。

結果として、サイトの評価が下がる可能性があります。リソースファイルは基本的にブロックしないようにしましょう。

記述内容の大文字と小文字を混同してしまう

robots.txtの記述は、大文字と小文字を区別します(ケースセンシティブ)。

  • Disallow: /Admin/Disallow: /admin/ は別の場所として扱われます。

ディレクトリ名やファイル名は、実際のURLと完全に一致させる必要があります。基本的には、URLは小文字で統一し、robots.txtの記述もそれに合わせるのが無難です。

ユーザーのアクセス制限(会員限定など)に使ってしまう

「robots.txtに書けば誰もアクセスできなくなる」と考えるのは危険です。
これはあくまで「行儀の良いクローラー」への協力要請にすぎません。

悪意のあるボットや、URLを直接入力した一般ユーザーは、robots.txtの設定に関係なくアクセスできてしまいます。
会員限定ページや機密情報は、必ずパスワード制限(Basic認証など)で保護してください。robots.txtはセキュリティ機能ではありません。

反映されるまでに時間がかかることを認識していない

robots.txtを書き換えても、その瞬間に検索結果が変わるわけではありません。
クローラーが再びrobots.txtを読み込み、その新しいルールに従ってサイトを巡回し直すまでには、数日から数週間のタイムラグがあります。

「設定したのに反映されない!」と焦って何度も書き換えるのではなく、正しい設定をしたら気長に待つ姿勢も大切です。

まとめ

まとめ 4

robots.txtは、検索エンジンのクローラーに対してサイトの巡回ルールを伝えるための重要なファイルです。
正しく設定することで、クロールバジェットの最適化やサーバー負荷の軽減など、Webサイト運営において多くのメリットをもたらします。

今回の記事のポイントを振り返ってみましょう。

  • 基本の役割: クローラーへの「見ていい場所・ダメな場所」の指示書。
  • 書き方: User-agent(誰に)とDisallow(禁止場所)が基本。
  • 設置場所: ドメイン直下のルートディレクトリに置く。
  • 注意点: インデックス削除目的では使わないこと。

最初は難しく感じるかもしれませんが、今回ご紹介したテンプレートを使えば、専門的な知識がなくても安全に設定を始められます。
まずは「すべてのクローラーを許可する」という基本的な設定から始めて、必要に応じて少しずつカスタマイズしていくのがおすすめです。

正しいrobots.txtの設定で、検索エンジンと仲良く付き合い、あなたのWebサイトをより多くの人に届けていきましょう。

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

robots.txtの書き方や設定に関して、初心者の方からよく寄せられる質問をまとめました。

  • Q. robots.txtは必ず設定しないといけませんか?
    • A. 必須ではありません。設定ファイルがない場合、クローラーは「すべてのページを見てOK」と判断して巡回します。ただし、管理画面など見られたくないページがある場合や、大規模サイトでクロール効率を上げたい場合は設定を推奨します。
  • Q. robots.txtとnoindexの違いは何ですか?
    • A. 目的が違います。robots.txtは「クローラーの訪問を拒否する(来ないで)」ためのもので、noindexは「検索結果に表示させない(載せないで)」ためのものです。検索結果から消したい場合は、robots.txtではなくnoindexを使います。
  • Q. 設定を間違えて検索順位が下がったらどうすればいいですか?
    • A. すぐにrobots.txtを修正するか、削除してください。誤った記述(例:サイト全体をDisallowしていたなど)を取り除けば、次回のクロール時に再び評価され、順位は徐々に回復します。
  • Q. サブドメインのサイトにもrobots.txtは必要ですか?
    • A. はい、必要に応じて設置します。robots.txtはドメイン(またはサブドメイン)ごとに独立して機能します。sub.example.com の制御には、そのサブドメインのルートディレクトリに個別のrobots.txtを置く必要があります。
  • Q. スマホサイトとPCサイトで書き分ける必要はありますか?
    • A. 基本的には不要です。現在のGoogleはモバイルファーストインデックス(MFI)を採用しており、主にスマホ版のクローラーが巡回します。レスポンシブデザインであれば、1つのrobots.txtで対応可能です。