【完全解説】noindex, nofollow の設定方法まとめ|検索エンジンにインデックスさせない全手段

Webサイトやページを公開する際、「検索エンジンにインデックスされたくない」「Googleの検索結果に表示させたくない」といった要望は少なくありません。

この記事では、検索エンジンに対して noindex, nofollow を指示する全ての主要な方法をまとめて解説します。サーバー構成やコンテンツ種類に応じて適切な手段を選びましょう。


1. robots.txt によるクロール拒否

設定内容

User-agent: *
Disallow: /

解説

  • サイトルートに robots.txt を設置し、検索エンジン全体に「クロール禁止」を伝える。
  • Disallow: / により、全URLがクロール対象から除外されます。
  • ただし、すでにインデックスされたページは削除されません。

設置場所

/var/www/html/robots.txt

2. HTML メタタグによる noindex 指示

記述方法(HTML <head> 内)

<meta name="robots" content="noindex, nofollow">

解説

  • ページ単位で検索エンジンにインデックス拒否を指示。
  • クローラーがこのタグを見て、そのページのインデックスとリンクのクロールを止めます。
  • ページごとに柔軟に対応可能。

3. HTTP ヘッダーで X-Robots-Tag を付与(Apache)

方法①:.htaccess に直接記述

<IfModule mod_headers.c>
  Header set X-Robots-Tag "noindex, nofollow"
</IfModule>

方法②:すでに設定されている値を削除して上書き

Header onsuccess unset X-Robots-Tag
Header always set X-Robots-Tag "noindex, nofollow"

解説

  • サーバー単位またはディレクトリ単位で HTTP レスポンスに noindex 指示を加える方法。
  • .htaccess に設定することで、HTMLを編集せずに制御可能。
  • 特定ファイル形式(PDFなど)にも適用できる。

4. Nginx で X-Robots-Tag を設定する場合

サーバー設定例(nginx.conf またはバーチャルホスト定義)

location / {
    add_header X-Robots-Tag "noindex, nofollow";
}

解説

  • Apache では .htaccess、Nginx では add_header を使用。
  • HTML以外のファイル(例:PDF)にも適用可能。

5. PHP やアプリ側でレスポンスにヘッダーを追加

PHPでの例

header("X-Robots-Tag: noindex, nofollow");

解説

  • アプリケーションレイヤーから動的に制御したい場合に有効。
  • ログインページや会員制ページなどで柔軟に対応可能。

6. 特定のファイル形式(PDFなど)にも適用可能

Apache の .htaccess でPDFファイルだけに設定する例

<FilesMatch "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</FilesMatch>

7. WordPressなどCMSの場合

  • 多くのSEO系プラグイン(All in One SEO Pack、Yoast SEOなど)でページ単位に noindex 設定が可能。
  • カスタム投稿やアーカイブページごとに制御できるため便利。

まとめ

方法適用範囲柔軟性備考
robots.txtサイト全体過去のインデックスには効果なし
HTMLメタタグページ単位ページごとに設定可能
.htaccess / Nginxサーバー単位HTML以外のファイルも可
PHP / アプリコード動的ページアプリ層での制御
WordPressプラグインCMS全体非公開記事などに便利

検索エンジンのインデックスを完全に防ぐには、robots.txt だけに頼らず、HTTPヘッダーやメタタグとの併用が重要です。

公開範囲を限定したいページやファイルがある場合は、適切な場所で noindex, nofollow を設定し、安全な運用を心がけましょう。

コメント

タイトルとURLをコピーしました