SEO対策をしていると「noindex」や「robots.txt」といった用語に出会います。どちらも「検索エンジンに見せたくないページに使うもの」ですが、役割や効果はまったく異なります。本記事では、初心者の方でも迷わないように、それぞれの違いと使い分け方を具体例とともに解説します。
こんな人におすすめ
- ページを検索結果に出したくないけど、正しい方法がわからない
- robots.txtに書けばインデックスされないと思っていた
- フォームやサンクスページなど、SEO対象外のページがある
- GA4やサーチコンソールも使っているけど連携に自信がない
目次
noindexとは?
noindexは、インデックスを制御するmetaタグです。
検索エンジンに「このページを検索結果に表示しないで」と伝えます。
HTMLの<head>
内に以下のように記述します。
<meta name="robots" content="noindex">
このタグを設置すると、Googleなどの検索エンジンはそのページをインデックス(登録)しなくなります。
ただし、クロール自体はされるため、検索エンジンはページ内容を把握した上で「表示しない」と判断します。
robots.txtとは?
robots.txtは、検索エンジンのクローラーに「このディレクトリやファイルは見に来ないで」と伝えるためのアクセス制御ファイルです。
サイトのルート(https://example.com/robots.txt
)に配置します。
User-agent: *
Disallow: /private/
上記は「すべてのクローラーに /private/
ディレクトリ以下は見に来ないで」と伝える内容です。
つまり、robots.txtはクロールを止めるものであり、インデックス制御とは違うのです。
noindexとrobots.txtの主な違い
比較項目 | noindex | robotx.txt |
---|---|---|
設置場所 | HTML内(headタグ) | サイトルートのrobots.txt |
対象 | ページ単位 | ディレクトリ・ファイル単位 |
クロール | される | 原則されない(ただし強制は不可) |
インデックス制御 | 検索結果に表示させない | 制御できない(見られなければ結果的に表示されにくい) |
サーチコンソールでの扱い | インデックス登録状況の確認ができる | クロールされないので確認不可 |
ポイントは、robots.txtでクロールをブロックしてしまうと、そのページに設置したnoindexタグも見てもらえない=効かなくなるということです。
使い分けのポイントと具体例
使い分けは非常に重要です。以下に代表的なケースと推奨される方法をまとめます。
noindexを使うべきケース
- 問い合わせフォーム(入力ページ)
- サンクスページ(完了画面)
- 重複コンテンツ(タグページなど)
<meta name="robots" content="noindex, follow">
※follow
を付けると、ページ内のリンクはクロール対象になります。
robots.txtを使うべきケース
- 管理画面(/wp-admin/ など)
- PDFや画像などクローラーに見せる意味のないファイル
- ステージング環境(テストサイト)
User-agent: *
Disallow: /wp-admin/
よくある誤解と注意点
「robots.txtに書いておけばインデックスされない」は誤解
robots.txtでブロックされたページが、外部からリンクされている場合、検索エンジンがそのURLを見つけてインデックスだけされる可能性があります(内容は見えないがURLだけ出る)。
noindexが効かないケース
robots.txtでブロックされているページにnoindexを付けても、クローラーがページに来られないためnoindexを認識してもらえません。この状態ではインデックスを制御できません。
コンバージョン計測との関係
GA4などでコンバージョンページ(サンクスページ)をトラッキングする場合、robots.txtでブロックしてしまうと、GAタグが実行されないことがあるため、noindexを使うほうが安全です。
この記事のまとめ
- noindexは検索結果から除外するためのタグ
- robots.txtはクロール自体をブロックするためのファイル
- noindexを使いたいページには、robots.txtでブロックしてはいけない
- SEO対策では、「検索に出したくないがユーザーには見せたいページ」はnoindex、「そもそもクローラーに見られたくないページ」はrobots.txtで対応
- インデックスされてしまった不要ページは、noindexを設置し、GoogleサーチコンソールからURL削除リクエストを行う
Comment