noindexとは検索エンジンにインデックスさせないようにするタグです。
本ページではこのnoindexの書き方や、扱う際の注意点、事例なども交えながら網羅的に解説していきます。
Googleの検索エンジンではnoindexタグを必ず従う命令文として解釈します。そして設定はページ単位(URL単位)で行う事が出来ます。
あらかじめnoindex設定をした新規ページを作成すると、そのページはインデックスされませんし、すでにインデックスされているページに新たにnoindexを設定し直すと、いずれインデックスから外れていく動きとなります。
- noindexは検索エンジンにインデックスさせないようにする命令文
- ページ単位で設定する事が出来る
では、noindexの書き方を見ていきましょう。
基本はheadタグに書く方法を覚えれば十分となりますが、.htaccessに記述する方法もあります。
noindexの書き方
headタグ内に記述する方法
noindexだけの場合
<meta name=”robots” content=”noindex”/>
noindexとnofollowをまとめて書く場合
nofollowはそのページに設定されている発リンクすべてをクローラに辿らせない設定です。
<meta name="robots" content="noindex , nofollow" />
noindexとnofollowとnoarchiveをまとめて書く場合
noarchiveはそのページを検索エンジンにキャッシュさせない設定です。
<meta name="robots" content="noindex , nofollow , noarchive" />
.htaccessに記述する方法
「htmlが書けないファイルに対してのnoindex設定方法」となり、通常ページではほぼ使いません。
事例としては画像やPDFファイル、たまにパワポファイルを上げている方(政府機関に多い)がいますが、そういったファイルをnoindexにしたい場合に有効な手段となります。
.htaccessに以下の様なコードを記述するとページヘッダ情報のX-Robots-Tagにnoindexが設定されます。
<Files hogehoge.ppt> Header set X-Robots-Tag "noindex" </Files>
上記「hogehoge.ppt」のパワポファイルをnoindexにする設定する例となります。
ファイル名部のところは正規表現が使えますので、.pngやjpegやjpgなどを組み合わせて対象とする事もできます。
また「”noindex”」部もhtmlに記述する方法と同様に、nofollowやnoarchiveも使えます。
ページヘッダ情報の確認はchromeブラウザで確認が出来ます。
- 確認したいページをchromeで表示
- 右クリック
- 検証
- 画面右側にデベロッパーツールが表示される
- ネットワーク(network)タブをクリック
- ここまで表示した時点で、ページをリロードする(ctr+r)
- デベロッパーツールの下側に色々なファイルの受信リストが出てくるのでその一番上にあるファイル名(見たいページのURLがあるはず)をシングルクリックする
- そのリストの右側に「Response Headers」という枠が表示される(その上には「General」枠、下には「Request Headers」があります)
- 「Response Headers」の中に以下が表示されていればOK
X-Robots-Tag:noindex
※設定内容により「noindex」部の値は変わる
これまで書き方を見てきましたが、noindex設定時の注意点もいくつかあります。
noindexを設定したらすぐインデックスから除外されないです。Googleがサイトを常に監視しているわけでもないので当然ですね。また、あくまでインデックスの制御であり、クロールの制御では無いのでそのあたりを解説していきます。
noindex設定時の注意点
すぐにインデックスから除外されない
すでにインデックスされているページにnoindexを設定すればすぐにインデックスから除外される訳ではないです。クローラーにクロールされてnoindexを認識してからインデックスから外れるのでその間のタイムラグがあります。
この反映までのタイムラグをなるべく短くしたい場合は、自然なクローリングに任せるのではなく、サーチコンソール>URL検査>インデックス登録をリクエスト、するか、大量URLの場合は更新日を最新日付にしたsitemap.xmlをサーチコンソール>サイトマップ>新しいサイトマップの追加で対応すれば良いです。
- クロールされないとnoindexを認識されない
- クローリングを促す方法としては、サーチコンソールでインデックスをリクエストするか、sitemap.xmlを登録する
クロールの制御はしない
あくまでもインデックスの制御となります。Webサーバーの生ログを見れば一発でわかりますがnoindexにしているページ、すでにnoindexになっていてSERPSには出てこないページでもクローラーは来ています。
よってクロールバジェットを考えるのであればnoindexは正しいやり方では無いのですが、検索エンジンがnoindexの設定を認識するとそのページURLへのクローラのアクセス頻度が少なくなります。わざわざ1日置きに来る事もなくなり、3ヶ月に1回、1年に1回みたいな感じで徐々にクロールされる頻度が長くなってきます。よって長い目で見るとnoindex設定されたページのクローリング回数が少なくなっている事によって、その分クロールバジェットの節約に寄与する訳です。
但し、インデックス対象ページが数十万ページ以上ある様なデータベースサイトではクロールの制御はファセットナビゲーションをしっかり行う事が大事なので気にする必要がありますが、一般的なブログサイトであれば、こういったクロールバジェットを特に気にする必要はありません。
低品質なページや重複ページなどではブログサイトであろうが、データベースサイトであろうが、noindexを設定していかないとGoogleから正しい評価をもらう事が出来ませんので、ここからはその事例を元に解説をしていきます。
noindexを設定するページの事例
noindexを設定すべきページはざっくり言うと以下2種類があります。
・低品質ページ
・クロールバジェットの観点であえてnoindexにするページ
ではどの様なページが上記に該当するか具体例を紹介します。
低品質ページ
内容が薄っぺらいページ
そのままですね。ページとしては作りたいけど数文字、数行で完結している様なページ、または順位も付いていず、訪問もなく、アクセスも無い様なページがこれに該当するかと思います。
定義はなく主観に頼らざるおえないです。
私の経験上(記事系オウンドメディア)では、ページをアップして1年経過した上で訪問ゼロ、GSCでの順位も付いてないかまたは30位以下、1年合計アクセス(内部回遊などで)が一桁台なページはnoindexしていました。記事メンテナンスも考えましたが、必要であればその記事のキーワードで別記事を新たに作成した方が運用効率が高いと判断していたからです。
コピーコンテンツ
ここでいうコピーコンテンツとは下項に記載している重複コンテンツは除く、ドメイン単位で考えての重複コンテンツを意味しています。
一言で言うと外部ドメインにあるコンテンツを自ドメインにコピーして表示しているもの、がこれに当たります。個人が運営しているブログサイトではあまり無いのですが、大規模サイト、データベースサイトでは往々にあります。詳細ページ系です。
例えばECサイトであれば商品詳細ページ、不動産サイトであれば物件詳細ページ、求人サイトであれば求人詳細ページです。物理的に1つの情報は同じで、これらは一般的に1URLで表現されています。例えば〇〇マンションの〇〇号室の物件詳細ページ、どこの賃貸サイトを見ても基本情報は同じです。
基本情報が他ドメインでも同じであればGoogleに低評価をくらわない様にSEOとしてはnoindexにしたいところです。しかしそうすると他ドメインに負けてしまいます。
これらコピーコンテンツの対応策は基本情報にプラスしたそのサイトならではの独自コンテンツを入れる事です。それによって他ドメインとの差別化をはかるnoindex回避法となります。不動産サイトの一例で言うと、他には無い部屋内部の写真であったり、その部屋を写した動画、営業担当の内覧の感想であったり、実際にお客さんを案内した際に出たお客さんからの疑問とその回答であったりします。または、それらの独自コンテンツの情報をさらに、質問軸等でまとめたもの、まとめ方自体も有用であればコンテンツとして認識してくれます。何よりユーザファーストですね。
重複コンテンツ
類似コンテンツとも呼ばれたりします。SEO界隈では対象ドメイン内での事象として話される事が多いです。
重複コンテンツはいわゆる評価分散な状態になる場合があります。AというページとBというページのテーマ(≒狙っているキーワード)が同じでメインコンテツがほぼ同じ、あるいはちょっとだけ違っている、みたいなページです。この場合、代表的なページ以外はnoindexを設定します。
また、自サイト内の内部リンクのURLの最後の方に効果測定用のパラメータが付与されていたり、外部被リンクサイトからのURLが何だか分からないパラメータが付与されたりして、自サイトの複数のURLから同一ページにアクセス出来る様な状態となる場合があります。Googleの評価の最低ブロックはページURL単位となっているので、こういった想定外のケースで重複コンテンツが生み出されている時があります。この場合はnoindexで対応するのでは無く、自ページcanonicalで対応します。Googleはcanonicalをヒントとして受け取りますが、経験上、だいたい従ってくれています。サーチコンソールのURL検査でcanonicalを従ってくれたか否かを確認できます。
こういった重複コンテンツはブログ記事の場合は、特段気にかけずどんどんnoindexしていけばいいのですが、大規模サイトのインハウスSEO担当者は重複コンテンツと戦っているといっても過言ではないです。
もう一つ例を出します。例えば、Tシャツの商品の詳細ページだった場合、色違いやサイズ違いなどで別商品ページを作るかどうかです。ケース・バイ・ケースな事もありますがこの例の場合、SEO的な回答としては別々にページを作らない、1ページで補う(1URLでサイズ違い、色違いを表現する)が正解となりますが、サイト設計者が初心者の場合だと普通に別ページとして企画してきます…。同じ様なページを量産する仕組みを作ってしまうんですよね。。
よって大規模サイトは重複コンテンツが出ない様にはじめにしっかりと設計をします。後から改修すると重複コンテンツをnoindexだけではなく、URL設計、robots.txt、サイト構造、サイト内導線、パンくず構造、TDH設計、canonical…とサイトの根本を大幅にいじる可能性があるからです。
検索結果0件、または少量のコンテンツ
検索結果0件のページまたは結果数が1件とかの少量のページは低評価を受けやすいのでいっその事noindexにした方がいいよ、という話です。
ブログではあまり無いのですが、例えば1件も記事の無いカテゴリページとかがその対象になります。後で記事書くけど忘れないようにカテゴリだけ作っておこう、みたいなノリでカテゴリは増やさない方がいいですね。
こちらも考えるべきは大規模サイト・データベースサイトのサイト内検索結果ですね。検索に使える条件があればあるほど組み合わせが出来る為に、論理的に考えられるURLが指数関数的に増加します。そのどんな場合でも件数があればいいのですが、大規模サイトであろうがそのすべてのURLに検索結果数は無い事の方が多いです。
その場合に検索結果数0件であればnoindexを設定します。少量でもと記載したのは、Google的な考え方に「ソフト404」というものがあります。
の対策として考えてもいいかと思います。
エラーページ
通常は1サイト1URLテンプレ。大規模サイトでも多くても5テンプレートぐらいです。
どっちなの?って聞かれたらnoindexですが、わざわざnoindexにしなくてもいいくらいのノイズですね。
HTML版のsitemapページ
こちらも基本1サイト1URL。
リンク集なのでどっちなの?って聞かれたらnoindexになりますが、ページネーションしていてもノイズレベルなのでどちらでもいいです。
ただ、ここで紹介しましたが、私の場合はあえてこのページはindexにしてます。リンク集で一般的にはあまり手を加えないイメージですが、それはどういったページにするか?の問題です。
1ページ目に新規ページのリンクリストが出てくるように動的に作れば「更新ページ集」という位置づけのユーザにとって有用なページになる(と思う)ので、堂々とTOPからリンクを張っています。これによってペナルティを受けたり、ドメイン全体で順位が下がる様な事にはなった事ないです。
クロールバジェットの観点であえてnoindexにするページ
ページネーションされたページ
これは大規模サイト、データベースサイトの場合の話で、色々な前提ありきの話になります。
- サイト内検索結果ページの2ページ以降はnoindexにする
という事です。2ページ目はやり過ぎというのであれば、50ページ目以降でもいいかと思います。
私が見ていたサイトでサーチコンソールを見ていると、着地URLがたまに「XX万ページ目」というのが出てきたりしていました。こんなURLな感じ→「〜〜〜/xxx/xxx/?p=13456」
「2ページ目以降は1ページ目にcanonicalする」、で対応しているサイトも多々見受けられます。文句言うわけではないですが、caonicalの使い方が間違っているかと感じています。テーマは同じでも明らかに1ページ目と2ページ目以降のページネーションされたページの内容は80%以上違いますよね。Googleの指針がそうしろとなるまでは、私は使いません。もちろんスマホでalternateでのPC2ページ目とスマホ2ページ目はほぼ同じ内容なのでcanoicalを使います。
「検索結果0件」の項でも触れましたが、サイト内検索結果ページを主要キーワードのランディングページとして捉えているこのページは検索条件の項目数によって指数関数的にURLパターンが出来上がります。それもページネーション付きで…。これは検索ボリュームを見ながら項目数を抑える事によってある程度制御は出来ますが、それでも多くなります。
限りあるクロールバジェットを有効的に使う為にも、こういった大量ページを制御していきたいですね。
この場で言っているページネーションするページテンプレートの定義
- そのサイトの主要なターゲットキーワードのランディングページを想定して作っているリストページ
あくまで業界によりますが、大規模サイトの主要なランディングページは詳細ページよりいわゆるカテゴリページの方が大事だったりします。例として求人業界の場合、「社名+求人+(地域名or職種名)」より、「職種名+(地域名)+求人」の方が圧倒的に検索ボリュームが多いんです。※地域名はベニスで自動判断される場合が多い
必然的に「職種名+(地域名)+求人」のページを狙いたくなります。いわゆる比較検討のページとしてのリストページとなり、ページネーションのあるテンプレートになります。
ページネーションされたページをnoindexにする前提
- link rel=nex/prevのサポート終了後、Googelからの大規模サイトのページネーションに関わるベストプラクティスが明確に示されていない
※サイト毎にケース・バイ・ケースでやり方や思想も違っていますので一概にnoindexにするとは言えません。
私がページネーションされたページをnoindexにする理由
- 1ページ目であろうが、10ページ目であろうがターゲットキーワードは同じ
- ページネーションしているページのクローリングがもったいない
- 詳細ページの内部被リンクを稼ぐためにページネーション部は有効という人もいますが、その場合は詳細ページ同士の関連リンクで稼ぐ、がSEOとしては正解だと思います。
- 詳細ページへのクローリングを促す為、という人もいますが、詳細ページは大量に出来るので来るかどうかも不確定な一覧ページのクローリングに頼るより、sitemap.xmlやindexingAPIなど別手段を検討する方が確実性が向上する
ターゲットキーワードが同じであれば、1ページ目だけをIndexとして生かしておいて、2ページ目以降はクローラを回さず、その分、新規に追加したページや更新されたリストページをクローリングしてもらった方が限りあるクロールバジェットの有効活用と言えるかと思います。
あくまでnoindexはクロールの抑制である
だらだらと書きましたが、noindexでクロールを制御する事はできません。あくまで抑制としてnoindexを使い、2ページ目以降のクローリング頻度を少なくする、という事です。
クローリングを制御するということでより確実性が上がる方法としては、ページネーションが発生したURLはディレクトリで対応して、そのディレクトリをrobots.txtでDisallowする方法があります。
…はじめの設計でそれを実現できていればいいですが中々そこまで頭が回らないのが現実ですねorz
コメント