ひとりSEO担当者の疑問に答えます

noindexメタタグが使えないページをインデックスさせない方法とは?

SEO担当者の質問に、SEOのエキスパートである住 太陽さんが実践的で有効な解決法を答えます。今回の質問は「noindexメタタグが使えないページをインデックスさせない方法とは?」です。

ひとりで頑張るSEO担当者さんの悩みに答える本連載。今回の質問は「noindexメタタグが使えないページをインデックスさせない方法とは?」です。この回答は「X-Robots-Tagを使いましょう」です。

「noindexメタタグが使えないページをインデックスさせない方法とは?」に対する回答は、
「X-Robots-Tagを使いましょう」です

ログイン画面もインデックスさせたくない

今回の相談内容は検索流入を増やしたいのではなく、検索にヒットさせたくないというものです。ペンネーム「ひろぴ」さんが寄せてくださいました。「ひろぴ」さんのサイトはログインしないとコンテンツを見ることができないサイトで、ログイン後のコンテンツについては検索避けができているとのこと。ただし、ログイン画面がインデックスされてしまったという状況で、そのログイン画面も検索避けしたいのだそうです。

ログイン画面をインデックスさせないためにJavaScriptで生成する形にしている(詳しい実装方法は質問に書かれていませんでした)とのことですが、それでもインデックスされてしまったのだそうです。「ひろぴ」さんはJavaScriptでnoindexメタタグを挿入することがGoogle非推奨であることから、それ以外の方法でnoindexを指定する方法を望んでおられます。

X-Robots-Tagを使う

ログインページを生成するJavaScriptをHTMLページに記述したり、HTMLページから外部JavaScriptを呼び出したりしているのであれば、そのHTMLページにnoindexメタタグを書き込んでおけばよいはずです。おそらく、そうはいかない何らかの事情がおありなのでしょう。

となれば、HTTPレスポンスヘッダーにnoindexディレクティブを追加する「X-Robots-Tag」を使用するのがいいでしょう。詳しい設定方法はこのコーナーの過去記事「PDFを検索にヒットしないようにするには?」にあります。JavaScriptを読み込む大元のページにHTTPリクエストがあったとき、HTTPレスポンスヘッダーに「X-Robots-Tag: noindex」を返すようにしておけば、noindexメタタグをページに挿入した場合と同様の効果があります。

外部JavaScriptを呼び出す形であれば、念のため、そのJavaScriptファイルのクロールをrobots.txtで禁止しておくか、またはX-Robots-Tag: noindexを返すようにしておくといいかもしれません。

まとめ

robots.txtによる検索避けはあくまでも「クロールしないでね」という指定であり、「検索結果に出さないでね」という指定ではないため、不完全な形ながら検索結果に表示される可能性があります。

今回の質問のように検索結果に表示させたくない場合にはnoindexディレクティブを使うのがベストプラクティスです。何らかの事情でHTML内にnoindexメタタグを書き込めない場合には、HTTPレスポンスヘッダーでX-Robots-Tagを返すことで「インデックスせず検索結果にも出さないでね」という指定をすることができます。

P.S.
本コーナーでは、読者の質問にお答えしています。誰にも聞けずに困っていること、現場で感じるふとした疑問など、どしどし質問をお寄せください。

◇◇◇

ひとりSEO担当者の疑問や悩みを募集しています。応募したい方は以下からお願いします。

用語集
HTML / JavaScript / SEO / robots.txt / インデックス / クロール / タグ / ヒット
この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

今日の用語

オプトイン
何らかの選択を望んですること。 広告メールを受け取ることなどを、ユーザーが ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]