robots.txtとは?SEOに必須の役割と正しい作成・運用方法を解説

「robots.txtって何?SEOに必要?」
そう思って調べているあなたへ。

この記事では、現役でSEO対策を行っている私が、robots.txtの基礎知識から正しい書き方、SEO上の注意点までをわかりやすく解説します。

目次

robots.txtとは

robots.txtは、検索エンジンのクローラー(Googlebotなど)に対して、「このページはクロールしていい」「ここは見ないで」と伝えるための設定ファイルです。

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

主な役割

  • クロール制御:特定のページやディレクトリへのアクセス許可・拒否
  • sitemapの場所を通知:インデックスの促進に有効

SEOとの関係性|robots.txtはなぜ重要?

SEO対策をする場合、
robots.txtの設置は必須です。

インデックスの必要がないページの巡回を制御してサイトの評価を高めたり、sitemapの場所を正しく伝えて、インデックスの促進につながったりするためです。

また、巡回を拒否するファイルがない場合であっても、robots.txtの設置は必須です。

GooglebotはWebサイトをクロールする前後に1日1回程度、robots.txtファイルを取得します。その際にHTTPステータスコード200や404が返されない場合、検索エンジンはクロールすべきでないURLをクロールしないように、クロールを延期します。これでは一向にページがインデックスされない問題が発生してしまいます。

『現場のプロから学ぶSEO技術バイブル』西山悠太郎/小林睦 マイナビ 2018年7月30日初版発行

SEO効果がある理由:

  • 不要なページのクロールを制限し、重要ページの評価集中につながる
  • sitemapのURLを通知して、クローラーのインデックス効率を高められる
  • robots.txtが存在しない・エラーがあると、クローラーが巡回を延期する可能性あり(=インデックス遅延)

ちなみに、Google公式にはrobots.txtの役割について次のように書いてあります。

robots.txt ファイルは、クローラがどのページやファイルをサイトからリクエストできるか、またはできないかを検索エンジン クローラに知らせるものです。これは主に、サイトでのリクエストのオーバーロードを避けるために使用され、Google にウェブページが表示されないようにするためのメカニズムではありません。

https://developers.google.com/search/docs/advanced/robots/intro?hl=ja

設置されているか確認する方法

自分のサイトにrobots.txtがあるか確認したい場合は、次のURLにアクセスしてください:

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

CMS(WordPressなど)では自動生成されていることも多いので、まずは中身を確認しましょう。

robots.txtの基本的な書き方と例

それではrobots.txtの作成方法をみていきましょう。

複雑なコードを書くとかはないので、
作成はメモ帳エディタとかでOKです。

STEP
ファイル名を「robots.txt」にする。
STEP
TOPページと同じ場所(階層)にアップロードする。

アクセスを許可、または拒否する

【基本の記述】

User-agent: *
Allow: /

「Allow」=アクセスを許可するです。

※デフォルト状態はすべてのアクセスを許可するなので、実際にアップロードするファイルに関しては、あえて上記のような記述をする必要はないです。

アクセスを拒否する場合は「Disallow」を使用します。

【「/login/」配下のファイルへのアクセスを拒否する場合】

User-agent: *
Disallow: /login/

【「Allow」と「Disallow」の併用】

User-agent: *
Disallow: /login/
Allow:/login/○○.html(php)

「/login/」は基本拒否だが、
login配下の特定のファイルは許可という場合です。

「User-agent」の「*」は、
すべての検索エンジンロボットに対してという意味です。

「Googlebot」だけといった記述も可能ですが、特定の検索エンジンだけに指定するケースはあまりないと思いますので、基本は「*」でOKです。

sitemapの場所を指定する

sitemapの場所も指定しておきましょう。

Sitemap : sample.com(ご自身のサイトURL)/sitemap.xml

上記でOKです。

とくに拒否したいファイルなどがない場合には、最低限sitemapの記述だけしてアップしておけばOKです。

設定時の注意点|誤ったrobots.txtはSEOに悪影響

robots.txtにはいくつか注意点がありますのであわせて記載します。

robots.txtの一番の注意点ですが、
robots.txtには強制力がないという点です。

あくまでも「お願い」であって、
「命令」ではありません。

ですから、「robots.txtで設定したのになんで?」となっても、「いや、強制力ないから仕方ないよ」という話になってしまいます。

覚えておきましょう。

ページを非表示にするためには使えない

robots.txtについて最も誤解しやすい点が、robots.txtに巡回拒否の記述をしたからといって、ページが非表示されるわけではない点です。

ふつうに表示されますし、場合によってはインデックスされます。

ですので、一般ユーザーに見られたらまずいファイルをrobots.txtでブロックするのは間違いです。

インデックスされたくない、
あるいは見られたくない場合には、他の方法を検討する必要があります。

パスワード制限

一般ユーザーに公開したくないページがある場合には、パスワード制限をかけるのが基本です。

ベーシック認証などを利用すれば簡単にパスワードがかけられます。

パスワード制限をかければ、
一般ユーザーは見れませんし、クローラーもアクセスできなくなるため、インデックス登録もされません。

noindex

検索エンジンにインデックス登録されたくない場合に使用する方法としては、「noindex」が一般的です。

「noindex」とはページのソースコード内に「noindex」という記述をすることで、検索エンジンへの登録を拒否する方法です。

JavaScriptやCSSをブロックしない

そのほかのrobots.txtの注意点ですが、
JavaScriptやCSSをブロックしない点も重要です。

robots.txtのファイルを作成するときに、「JavaScriptやCSSファイルはブロックしてもいいのかな?」と悩むかもしれません。

私自身、過去にJavaScriptやCSSファイルをブロックしていたこともありますが、ブロックしないが正解です。

インデックスやレンダリングに問題が起きる可能性があります。

場合によってはセキュリティを優先

robots.txtでブロックする際に悩ましいのが、管理者ログインページをブロックするかどうかです。

robots.txtの役割は、巡回の必要がないファイルの除外なので、管理者ログインページは除外するべきです。

しかし、robots.txtは誰でも見ることができるファイルのため、robots.txtに管理者ログインページのURLを記述することで、ログインページのURLが公開されてしまいます。

IDやパスワードがバレるわけではないので、私は問題ないと思っていますが、場合によっては記述しない選択も必要です。

よくある質問(FAQ)

sitemap.xmlだけ記述しておけばいい?

はい、最低限のSEO対策としてはOKです。拒否するページがないなら以下だけでも問題ありません。

User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
クロールさせたくない場合はどうする?

以下の方法を使い分けましょう:

目的方法
インデックスさせたくないnoindex をHTML内に記述
アクセス自体を拒否したいパスワード制限(ベーシック認証など)
一部ボットだけ制御したいUser-agent に個別指定

まとめ|robots.txtはSEOに欠かせない“基本設定”

robots.txtは「検索エンジンへの玄関口」です。

設定を間違えるとSEOに悪影響を及ぼす可能性があります。
だからこそ、下記のポイントを必ず押さえておきましょう。

重要ポイントおさらい:

  • robots.txtはサイトルートに設置する必要がある
  • 検索エンジンのクロール制御とsitemap通知が主な役割
  • ページの非表示には noindex が必要
  • CSSやJSはブロックしないのが基本
  • セキュリティ目的で使うなら注意が必要
もしよろしければシェアお願いいたします。
目次