NYマーケティング

robots.txtとnoindexの違いは?使い分けと書き方を解説

=========
人気のダウンロード資料
【1位】
SEOに強い記事を作るための構成シート
【2位】
SEOチェックシート【全53項目】
【3位】
上位表示させるためのSEO構成作成マニュアル
=========


robots.txtとnoindexは、「クローラーに対して働きかける」点で似ていますが、それぞれ役割が全く異なります。

特に、サイト規模が大きくなればなるほど、robots.txtとnoindexを適切に使い分けることが、内部SEO対策に好影響を与えます。しかしその反面、正しく理解せず誤って使用してしまうと、Webサイトの流入を大きく落とすことにつながるため注意が必要です。

この記事では、弊社NYマーケティングの代表中川が0から月間1億PVのサイト成長を達成した実績と14年間の豊富な経験を基にrobots.txtとnoindexの相違点とそれぞれの機能、SEO効果を高める方法について詳しく解説します。

この記事でわかること
・robots.txtとnoindexの違い
・robots.txtとnoindexのそれぞれの使い分け

こんな人におすすめ
・robots.txtとnoindexを正しく活用してSEO効果を向上させたい方

目次

robots.txtとnoindexの違い

robots.txtとnoindexは、共に検索エンジンの動作を指示する点で共通しています。しかし、この2つは役割が異なります。

robots.txtは「クローラーのクロールを制御する」役割がありますが、noindexの役割は「クローラーのインデックス登録を制御する」になります。

robots.txtとは|クロールをブロックできる

robots.txtとはクローラーに対して、サイト内のどのディレクトリ・URLにアクセスしてよいかを伝えることができるファイルのことです。

そもそも、検索エンジンが各サイトのデータを収集する際には、クローラーと呼ばれる自動巡回プログラムがウェブページを訪れて情報を収集し、そのデータに基づきサイトが検索エンジンに認識されます。

しかし、サイトごとにクロールできるページ数には制限があります。(このことをクロールバジェットといいます)そこで、robots.txtを利用して不要なコンテンツのクロールを制限し、クローラーによる重要なページのクロールを促進させます。

このクロールの制限により、クローラーがクロールして欲しい重要なページを、優先的にクロールしてくれるようになります。

noindexとは|インデックスから除外できる

noindexは、特定のページが検索エンジンにインデックスされないよう、検索エンジンに伝えるマークアップタグのことです。

サイト内に低品質なページや類似するコンテンツがある場合、それらのページがクロールされると、検索エンジンからの評価が下がります。

それだけでなく、ヘルプフルコンテンツシステムのアップデートにより、それらの低品質と捉えられるページが存在した場合、サイト全体の評価を損ない、高品質なページの評価をも引き下げてしまう可能性があります。

noindexタグを記述して、インデックスさせるべきでないページをインデックスさせないことで、検索順位に悪影響を及ぼすことを避けられます。

=========
EC・ポータルサイトのSEOにお困りですか?
NYマーケティングなら日本でも数少ない「大規模サイトのSEO」を支援!
SEOコンサルティングのページを見てみたい

=========
NYマーケティングでは「SEOでの成果に行き詰まっている」企業様に、SEOコンサルティングの支援をしています。まずはカジュアルにご相談ください!
サービス紹介ページはこちら

robots.txtとnoindexの使い分け

robots.txtとnoindexは使い方が全く異なります。以下でそれぞれの使い方を解説します。

robots.txtを使う場面

robots.txtは主に、

  • クローラーのアクセスを拒否したい時(例:会員制ページや開発中のページなど)
  • クロールバジェットを最適化したい時(クロール効率の最適化)

などに使用します。

また、robots.txtファイル内にXMLサイトマップのパスを記述することで、XMLサイトマップの存在をクローラーに提示できます。

robots.txtとXMLサイトマップの関係性について詳しく知りたい方は、以下の記事を参考にしてください。

noindexを使う場面

noindexタグは、検索エンジンに特定のページを検索結果に表示させないよう指示するために使用します。

使用される場面として多いのは、サイト内に類似するページがある場合や、検索エンジンから低品質と捉えられるページが存在する時などです。

検索エンジンは、サイト内に類似するページが存在する場合に重複コンテンツと捉え、また低品質と捉えるコンテンツが存在する場合に、そのサイト全体の評価を下げます。

そのため、noindexタグを適切に設置することは、「サイトの評価をプラスにする施策」というよりは、「サイトがマイナス評価になることを防ぐための施策」といった側面の方が強いです。

【補足情報】noindexとnofollowの違い

noindexタグは、クローラーに対し、特定のページをインデックスしないように指示を出します。これは、ページ自体はクローラーによって読み込まれる可能性があるものの、そのページが検索結果には表示されないようにするためのものです。

これに対してnofollowタグは、クローラーに対し、リンク元の評価をリンク先へ受け渡さないように指示します。

noindexはページ自体が検索結果に出ないようにするためのもので、nofollowはリンクを通じて他ページへ評価を渡さないようにするもので、使用目的が全く異なります。

noindexとnofollowの違いについてさらに詳しく知りたい方は、以下の動画をご覧ください。

robots.txtの書き方

robots.txtを設置する場合は下記の4種類の記述方法から構成され、必要に応じて記述し指定していきます。

  • disallow
  • allow
  • sitemap
  • user-agent

下記でそれぞれ詳しく解説します。

robots.txtの基本の書き方

まずrobots.txtの初期の設定として、特定のディレクトリ・ページへのクロールを制御する必要が無い場合は、以下の記述をします。

User-Agent: *
Disallow:

Sitemap: http://example.com/sitemap.xml

※robots.txtファイルの設置と記述は必須ではないため、上記はあくまでrobots.txtを設置する場合の初期設定と捉えてください。

上記のように記述し、「/robots.txt」のファイル名で保存します。その後、必要な指示を記述した後、ウェブサーバーにアップロードします。

このようにrobots.txtファイルを作成するには、新規テキストファイル(ファイル名は基本的に「robots.txt」)に必要なコードを記述してサーバーにアップします。

disallowでクロールをブロックする

disallowとは、クローラーのアクセス制限を指定する記述です。クロールしてほしくないファイルやディレクトリをdisallowで指定することによって、クロールがブロックされます。

一方で、disallowが空欄になっている場合は、いずれのファイルやディレクトリに対してもクロールの制限を行わないことになります。

クロールを制限するには、disallowを使ってクロール拒否したいページやディレクトリのパスを記述する形になります。

User-Agent:*
Disallow: /example/

この例では、/example/ ディレクトリ内のすべてのページやファイルが、クローラーによるクロールをブロックしています。

このように、disallowにファイル名を記述して、ページやディレクトリを絞り込むことでクロール制限したいファイルが限定できます。

ただし、disallowの指定を誤ると、該当のページ・ディレクトリに全くクロールされなくなるため、指定には注意が必要です。不安な場合は、SEOの専門家に相談しましょう。

allowでクロールを許可する

allowによってクロールを許可するページを指定することができます。allowはわざわざ書かなくてもデフォルトがクロール許可となるので、使う機会が少ないのが現状です。

しかし、allowはdisallowよりも強い権限を持っているため、すでにdisallowを使っているけれど、特定のページやディレクトリだけクロール許可したい場合にallowを指定します。

User-agent: *
Disallow: /example/
Allow: /example/sample.html

この設定では、/example/ディレクトリ内の全てのファイルがクロールから除外されますが、例外として、/example/sample.htmlのみクロールが許可されています。

このように、allowにページやディレクトリのパスを記述して、特定のページ・ディレクトリのみクロールを許可することができます。

sitemapでクロールを効率化する

sitemapは、クローラーにウェブサイトのXMLサイトマップの場所を知らせるために使用されます。

XMLサイトマップとは、クロールして欲しいURLのリストをまとめたXML形式のファイルのことであり、クローラーはこれによってクロールを行う優先度を決めています。

sitemapを適切に記述しておけば、クローラーがXMLファイルを積極的に読み、効率の良いクロールを行ってもらえます。

XMLサイトマップの場所をクローラーに知らせる場合は、以下のように「Sitemap」にサイトマップのパスを記述することで、XMLサイトマップの存在を示し、クロールを促すことができます。XMLサイトマップが複数ある場合には改行して記述しましょう。

User-Agent:*
Disallow: 
Sitemap: https://example.com/sitemap.xml

また、sitemapの記述をした後は、Google Search Consoleを通じてサイトマップを登録することを忘れないようにしましょう。

robots.txtとXMLサイトマップの関係性について詳しく知りたい方は、以下の記事を参考にしてください。

user-agentで指定のクローラーを制御する

user-agentでは、特定の検索エンジンのクローラーを指定して、その動きを制御することができます。

クローラーにはGoogleのGooglebotだけでなく、BingのBingbotやBaiduのBaiduspiderなど、異なるクローラーが存在します。

通常、ウェブサイトは全てのクローラーに対してアクセスを許可しますが、user-agentを指定することで、特定のクローラーに対して制限をかけることができます。

User-agent: Googlebot-Mobile
Disallow: /example/

User-agent: *
Allow: /

上記の記述では、Googleモバイル用クローラー「Googlebot-Mobile」にだけ /example/ ディレクトリへのアクセスを制限し、他のクローラーはサイトのすべてのページにアクセスできるようにしています。

参照:robots.txt の書き方、設定と送信 │ Google検索セントラル  

noindexの書き方

noindexを設定する基本的な方法は、HTMLドキュメントの<head>タグにメタタグを追加する方法です。記述方法は次の通りです。

<meta name="robots" content="noindex" />

noindexは上記のように、HTMLドキュメントに直接記述するのが一般的です。しかし、PDFや画像などの一部のファイルは、HTMLタグを使用することができません。このような場合は、HTTPレスポンスヘッダーに以下の記述をします。

HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex
(...)

参照:noindex を使用してコンテンツをインデックスから除外する │ Google検索セントラル

robots.txtとnoindexの確認方法

ここでは、robots.txtとnoindexを記述した後、それらがGoogleから正しく認識されているかを確認する方法として、Google Search Consoleを使った確認方法を解説します。

robots.txtの確認方法

robots.txtファイルは、Googleが提供しているrobots.txt テスターを使うことで、適切に設定されているかどうか確認できます。

しかし、robots.txtテスターは2023年12月12日以降は利用できなくなり、代わりにGoogle Search Consoleの新しいrobots.txtレポートで確認できるようになります。具体的には、以下のキャプチャ画像の赤枠の「設定」→「クロール」の「robots.txt」から確認できます。

robots.txtレポート
robots.txtレポート

noindexの確認方法

noindexタグがGoogleに正しく認識されているかは、Google Search Consoleの「インデックス作成」の「ページ」をクリックした後の「noindexタグによって除外されました」から確認できます。

Google Search Consoleの「noindexタグによって除外されました」
Google Search Consoleの「noindexタグによって除外されました」

上記のキャプチャ画像のURL一覧を確認することで、サイト内のURLで、noindexさせたいURLがクローラーに対して認識されているかどうか確認できます。

robots.txtとnoindexを使う際の注意点4つ

robots.txtとnoindexは誤って使用すると、自サイトに悪影響を及ぼすので注意が必要です。以下の4つの点に注意して使用してください。

robots.txtとnoindexの併用について

robots.txtでページをブロックしている場合、クローラーはそのページにアクセスすることができません。そのため、もしもnoindexでページをインデックス登録させたくない場合、robots.txtでブロックしていることが原因で、クローラーがページをクロールできずnoindexが認識されないことがあります。

この場合、robots.txtで指定をしている該当ページのrobots.txtの指定を外す必要があります。これにより、クローラーが該当ページをクロールできるようになり、クローラーにnoindexを認識させることができます。

もしも上記のrobots.txtの指定解除が難しい場合、対象ページが少ない状況においては、Google Search Consoleの「削除」を使用することでも、インデックス削除の申請ができます。(※以下のキャプチャ画像)

Google Search Consoleのインデックス削除

ただしGoogleの検索結果上での削除は約6か月間となるため、再び検索結果に情報が表示される可能性があることには注意が必要です。(インデックス削除として確実なのは、サーバー上からページ自体を削除することや、パスワード保護を施したアクセスのブロックです)

参考:完全に削除する │ Search Console ヘルプ

robots.txtはディレクトリの最上位に設置する

robots.txtファイルはサイトのルートディレクトリ、すなわちサイトの最上位階層に設置する必要があります。これにより、クローラーはサイト訪問時に最初にこのファイルを参照し、どのページをクロールすべきか、あるいは避けるべきかの指示を受け取ります。

例えば、

https://www.example.com/

というサイトがある場合、そのrobots.txtファイルは

https://www.example.com/robots.txt

とする必要があります。

実際に該当のURLを見てみると、以下のようにrobots.txtが設置されていることが分かります。


robots.txtはユーザーのアクセス制限はできない

robots.txtはクローラーへのクロール指示に用いられるもので、ウェブサイトの一般ユーザーに対してアクセスを制限する機能は持ちません。URLが公開されている限り、クロールを拒否しても、誰でもそのURLに直接アクセスできてしまいます。

そのため、サイトの特定のコンテンツへのユーザーのアクセス制限をしたい場合は、Basic認証などのパスワード保護を用いる必要があります。

robots.txtでクロール拒否してもクロールされてしまうケースがある

robots.txtファイルでブロックしている限り、クローラーは基本的にはページをクロールすることはありません。ただし、例外として、内部リンクや外部サイトからリンクを貼られている場合、リンクを通じて該当ページがクロールされてしまうことがあります。

もしも、URLが検索結果に表示されないようにしたい場合、Basic認証などのパスワード保護を施すか、一般ユーザーに閲覧させたくないページをサーバー自体から削除するなどの措置が必要になります。

「robots.txtによりブロックされましたが、インデックスに登録しました」とはどのような状態か?

Google Search Consoleの「robots.txtによりブロックされましたが、インデックスに登録しました」というメッセージは、robots.txtファイルによってクローラーへのクロール拒否を指示しているページが、他のページからのリンクを通じて検索エンジンによって発見され、結果としてインデックスに登録された状況を指します。

これはnofollowが付与されていない外部リンクが存在することによって発生することがあります。これにより、ページが意図せずクロールされたことを示しています。そのため、外部サイトからのリンクによってページがインデックスされたくない場合は、該当ページにnoindexを入れる必要があります。

【大規模サイト向け】robots.txtとnoindexの最適化は内部SEO対策で非常に重要

大規模サイトでは、robots.txtとnoindexを利用して適切に内部SEO対策を実施する必要があります。なぜなら、サイト規模が大きくなればなるほどページ数が増え、「どのページをクローラーに認識させて、クロールさせるか」の制御が必要になるからです。

例えば、ユーザー生成コンテンツ(UGC)のサイトにおいては、ユーザーにとっては価値あるコンテンツでも、検索エンジンが低品質と捉えてしまうものもあります。そのため、noindexを活用して、「どのページをインデックス登録させるか」や、そもそもクロールさせる必要すらないページは、robots.txtでクロールバジェットを最適化する必要があります。

このように、大規模サイトを運営する場合、クロールやインデックスを綿密に調整し、クロールされるべきコンテンツとインデックスされるべきコンテンツを適切に選別することが、SEO戦略の成功に不可欠となります。

まとめ:robots.txtとnoindexを正しく使い分けてSEO効果を最大化しよう

robots.txtとnoindexの両者の違いを正しく理解し活用することは、検索エンジンにサイトの価値を正しく理解してもらうための、必須の内部SEO対策といえます。また、robots.txtとnoindexを誤って設定すると、サイトの評価が落ちるだけでなく、サイトの流入を大きく落とし売上低下にもつながるため、注意が必要です。

robots.txtとnoindexタグの使い分けを正確に実行するためには、内部SEOの専門的な知識が必要になります。

弊社NYマーケティングはSEO歴14年のナレッジと実績があります。特に、ECやポータルサイトといった大規模サイトの内部SEOを得意とし、ポータルサイトのPV数を月間1億PVまで伸ばした実績があります。

今回紹介したrobots.txtやnoindexの最適化からその他のSEO課題まで、お客様にとって最適なSEO施策をご提供します。初回無料相談を承っておりますので、下記のリンクからお気軽にお問い合わせくださいませ。

NYマーケティング株式会社
お問い合わせ | NYマーケティング株式会社 当フォームは支援・コンサルティングのご依頼専用です。 当社への営業・提携のご相談、取材依頼などは別のお問い合わせフォームよりご連絡ください。

■おすすめ記事

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

中川裕貴のアバター 中川裕貴 1億PVの男

Twitter:@ny__marketing
NYマーケティング株式会社 代表取締役。
オトコなら誰でも知っている『ポケパラ』をつくった人。最大で月1億PVまでグロース。その後、NYマーケティング株式会社を創業。大規模サイトSEOが得意。YouTubeでは鬼マニアックなSEO情報を発信中。
詳しいプロフィールはこちら。