ガイド

robots.txt・noindex・canonicalの使い分け

3つの道具は、それぞれ役割がまったく違います。選び間違えると、消したいページが残り続けるか、Googleが指示を読むことすらありません。

執筆: WebDoctor編集部·2026年10月6日·2 分で読めます


クロールを制御したいならrobots.txt、検索結果に出したくないならnoindex、重複ページの中から1つのURLを選ぶならrel=canonicalを使います。3つは別々の問題を解決するもので、互いに邪魔もします。robots.txtでブロックしたページでもインデックスに登録されることがあり、クロールできないページのnoindexをGoogleが目にすることはありません。

robots.txt、noindex、canonicalの違いは何か

それぞれが働く段階が違います。robots.txtは、クローラがURLを取得してよいかを決めます。noindexは、取得したページを検索結果に表示してよいかを決めます。canonicalは、ほぼ同じ内容の複数ページのうちどれをグループの代表にするかをGoogleに伝えます。Googleのドキュメントの記述を並べると次のとおりです。

robots.txtのDisallownoindexrel=canonical
制御するものクロールインデックス登録どの重複ページをグループの代表にするか
書く場所サイトのルートにあるrobots.txtファイルrobotsメタタグ、またはX-Robots-Tag HTTPヘッダーhead内のlink要素、またはLink HTTPヘッダー
URLをGoogleから除外できるかできない。他サイトからリンクされていれば、ブロックしたURLもインデックスに登録されることがあるできる。Googlebotがページをクロールしてルールを読んだ時点でできない。重複ページは統合されるだけで、削除はされない
ページのクロールが必要か不要必要必要
拘束力従うかどうかはクローラ次第Googleはページを検索結果から完全に除外するルールではなくヒント

robots.txtはどんなときに使うのか

問題がクロールのトラフィックにあるときです。Googleのrobots.txtの概要には、このファイルは主にサイトへのリクエストの過負荷を避けるために使うと書かれています。ウェブページについては、Googleのクローラからのリクエストでサーバーが追いつかない場合と、重要でないページや似たページのクロールを避けたい場合の2つが用途です。画像、動画、音声ファイルをGoogle検索に表示させないための方法としても記載されています。

一方でGoogleは、robots.txtはウェブページをGoogleに表示させないための仕組みではない、とはっきり書いています。ブロックしたページでも、他のサイトからリンクされていればインデックスに登録されることがあります。そのリンクのURLやアンカーテキストが、説明文のない状態で検索結果に出ることもあります。しかもルールは任意で、Googlebotは従いますが、他のクローラが従うとは限りません。ファイルが実際に何を許可しているかは、当サイトのrobots.txtテスターで確認できます。

noindexはどんなときに使うのか

ページをGoogle検索に表示させてはいけないときです。headに<meta name="robots" content="noindex">を入れるか、PDFなどのファイルではレスポンスヘッダーとしてX-Robots-Tag: noindexを返します。Googleのnoindexのドキュメントによると、Googlebotがページをクロールしてルールを読み取ると、他のサイトからリンクされているかどうかに関係なく、Googleはそのページを検索結果から完全に除外します。

落とし穴はこの最初の段階にあります。メタタグやHTTPヘッダーを見るには、Googleがページをクロールしなければなりません。noindexを追加してもページが表示され続ける場合、ドキュメントは2つの原因を挙げています。Googleがまだ再クロールしていないか、robots.txtがブロックしているかです。Search ConsoleのURL検査ツールから再クロールをリクエストできます。また、一部の他の検索エンジンはnoindexを異なる方法で解釈する可能性がある、とGoogleは注記しています。

canonicalタグを選ぶべきなのはどんなときか

同じコンテンツが複数のURLにあり、そのうち1つに評価を集めたいときです。Googleの重複URLの統合に関するページは、理由として次を挙げています。検索結果に表示するURLを指定する、リンクなどのシグナルを優先URLに統合する、コンテンツの指標を追跡しやすくする、重複ページのクロールに時間を使わない、の4つです。

canonicalは何も隠しません。Googleの正規化に関するページはこれをルールではなくヒントと呼び、正規ページは最も定期的にクロールされ、重複ページのクロール頻度は下がると説明しています。検索結果は通常、正規ページを指しますが、重複ページのほうが検索ユーザーに適している場合は例外です。リダイレクトとrel=canonicalはどちらも強いシグナルで、サイトマップへの掲載は弱いシグナルです。HTML以外のファイルでは、canonicalをLink HTTPヘッダーで返します。これらのシグナルが食い違うと何が起きるかは、canonicalタグの衝突のガイドで解説しています。

robots.txtとnoindexは併用できるのか

削除が目的なら、同じURLでは併用できません。Googleは明確に、ページがrobots.txtでブロックされていると、クローラはnoindexルールを見ることがなく、ページは検索結果に表示され続ける可能性があると書いています。インデックスから消えないURLの対処法は、Disallowを外し、Googleにクロールさせ、noindexを効かせることです。

Googleの重複URLのページは、さらに3つの避けるべき使い方を挙げています。

  • 正規化の目的でrobots.txtを使わない。
  • 1つのサイト内で正規ページの選択を操作するためにnoindexを使わない。ページが検索から完全にブロックされるためです。
  • 正規化にURL削除ツールを使わない。URLのすべてのバージョンが検索から非表示になるためです。

結局どれを使えばよいのか

知っている道具からではなく、望む結果から考えます。

  • サーバーに負荷がかかっている、または重要でないページのクロールに時間が使われている:robots.txt。
  • ページをGoogleに表示させてはいけない:noindex。クロールは許可したままにします。非公開にすべき内容なら、Googleがもう1つの方法として挙げているパスワード保護を使います。
  • 同じコンテンツが複数のURLにある:各重複ページにrel=canonical。重複ページ自体が不要ならリダイレクト。
  • 画像、動画、音声をGoogle検索に出したくない:robots.txt。

AIクローラが気になる場合は、AIクローラ向けrobots.txtのガイドに、ボットごとにそのまま使えるルールをまとめています。

インデックス登録テクニカルSEO

Frequently asked questions

robots.txtでブロックすればGoogleから消えますか?
消えません。Googleは、robots.txtはウェブページをGoogleに表示させないための仕組みではないとしています。他サイトからリンクされていれば、ブロックしたページもインデックスに登録され、URLが説明文なしで表示されることがあります。除外したいなら、クロールを許可したうえでnoindexを使います。
noindexを付けたのに、まだGoogleに表示されるのはなぜですか?
Googleのドキュメントは2つの理由を挙げています。ルールを追加してからまだ再クロールされていないか、robots.txtがクローラをブロックしていてnoindexが読まれていないかです。そのURLのDisallowを外し、Search ConsoleのURL検査ツールで再クロールをリクエストしてください。
重複ページにはcanonicalではなくnoindexを付けるべきですか?
Googleは推奨していません。重複URLに関するガイドでは、1つのサイト内で正規ページの選択を防ぐためにnoindexを使うと、ページが検索から完全にブロックされると説明しています。rel=canonicalやリダイレクトなら、重複ページを優先URLに統合し、リンクなどのシグナルもまとめられます。
Googleは常にcanonicalタグに従いますか?
従うとは限りません。Googleは正規URLの指定をルールではなくヒントと呼び、インデックス登録時に集めたシグナルから正規ページを自ら選びます。リダイレクトとrel=canonicalは強いシグナル、サイトマップへの掲載は弱いシグナルなので、3つとも同じURLを指すようにしましょう。

チェックを実行

あわせて読みたい