2つの違い
| 項目 | noindex | robots.txt |
|---|---|---|
| 場所 | 各ページの<head> | サイトルート/robots.txt |
| 目的 | インデックスを止める | クロールを止める |
| クロール | される | されない |
| インデックス | される | される可能性あり(注意) |
noindexの使い方
<meta name="robots" content="noindex">
noindexすべきページ例
- サンクスページ(送信完了画面)
- ログイン後の会員専用ページ
- カートページ・購入確認画面
- 検索結果ページ(サイト内検索)
- タグページ・カテゴリの薄いページ
robots.txtの使い方
User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /
Sitemap: https://example.com/sitemap.xml
robots.txtで制御すべきもの
- 管理画面(/wp-admin/等)
- 大量の動的ページ(クロールバジェット節約)
- テスト環境
- 不要なリソース(画像・JS・CSSは基本Allow)
大事な注意点
robots.txtでDisallowにしたページは、noindexが効きません。クロールされないので、noindexタグを読まれないからです。
インデックスを止めたいならnoindexを使い、クロールも止めたい場合だけrobots.txtでDisallowします。両方使うと矛盾します。
WordPressでの設定
- 「設定」→「表示設定」→「検索エンジンがインデックスしないようにする」(サイト全体のnoindex化)
- Yoast SEO/All in One SEOでページ別noindex設定
- robots.txtは多くのプラグインで自動生成
確認方法
- Search Console「URL検査」でnoindex判定確認
- ブラウザでrobots.txt直接表示(example.com/robots.txt)
- 「site:example.com」検索で実際の表示
まとめ
- noindex=インデックス禁止、robots.txt=クロール禁止
- 会員・サンクスページはnoindex
- 管理画面はrobots.txtでDisallow
- 両方の併用は矛盾なので避ける
- Search Consoleで動作確認
