検索結果にサイトを表示されないようにする

はじめに

みなさま。
WEB開発ライフを楽しんでいるでしょうか?

今回は、昨年開発した会員限定コンテンツページで、検索結果には出さないようにしたいという要件があったため、
その設定である、noindex設定について詳しく書いていきます。

なお、この設定は開発環境やステージング環境といった、本番以外の環境にも有効ですので、ご活用いただけたらと思います。

設定方法

早速設定方法を見ていきましょう。
HTML/HTTPヘッダーに設定する場合で、それぞれ記載するファイルか異なりますので、2つの方法を書いていきます。

1. HTMLへ設定

下記コードを設定します。

<meta name="robots" content="max-image-preview:large, noindex, noarchive">

設定ファイルの一例です。

  1. index.html
  2. main.js
  3. Home.vue
  4. header.html
  5. header.php
  6. App.js
  7. router.js

環境によりますが、いずれも結果的に<meta> タグ内に設定されます。

わからない場合は、「meta」でgrepしてみましょう。

2. HTTPヘッダーへ設定

下記コードを設定します。

<FilesMatch ".*">
  Header set X-Robots-Tag "noindex, nofollow"
</FilesMatch>

または、

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

または、

<?php
header("X-Robots-Tag: noindex");
?>

です。

設定ファイルは上から順に、

  1. .htaccess
  2. nginx.conf
  3. index.php

です。

あらためてnoindexとは?

noindexを付与することにより、検索結果に希望するページが上がらないように設定することができます。

似ている機能として一緒に使われることが多い、nofollow についてもまとめておきます。

特徴noindexnofollow
対象ページ全体ページ内の特定のリンク
目的ページを検索結果に載せないリンクのSEO効果をなくす
適用方法メタタグリンクタグ

先日も別記事に記載しましたが、まとめると
noindex:検索エンジンに「この部屋(ページ)は見ないでね!」と伝える。
nofollow:リンク先のドアを「触らないで!中に行かないで!」と指示する。
ということです。

おわりに

いかがでしたでしょうか?
設定内容は、単純なのですが、大切なことなので、意識して設定していきましょう。