noindexタグをbody要素内に記述したらそのページインデックスから消えた!?

[レベル: 上級]

noindex robots meta タグは通常 head 要素の中に記述します。
しかしながら、body 要素の中に記述された場合でも有効です。
Google はそのページをインデックスしません。

noindex を解説したページがインデックスから消えた

body 要素の中にある noindex robots meta タグ によってページが検索結果に出てこなくなってしまった体験談を Kristina Azarenko(クリスティーナ・アザレンコ)氏がブログで共有しています。

簡潔に説明すると次のような経緯です。

  1. Magento 2 の SEO に関する記事のなかで noindex について説明した(そのページは上位表示していた)
  2. デザインを変更した際に、<meta name="robots" content="noindex,follow"> の記述が HTML タグになってしまった(ブラウザには表示されないが、ソースコードには存在している)
  3. 記事内 (body 要素内)の noindex を Google が処理してしまったらしく検索結果から消えた

この現象を発見し、実験で検証したところ、body 要素に記述した noindex robots meta タグが Google 検索で本当に有効であることを確認できたそうです。

過去にゲイリーが注意喚起していた

noindex タグは body 要素の中でも処理されると聞くと驚くでしょうが、実は新しい事実ではありません(幅広く知られていないとしても)。

Google の Gary Illyes(ゲイリー・イリェーシュ)氏が 7 年前に注意喚起しています。
今はなき Google+ での投稿だったためもう見ることはできないのですが、次のように発言していました。

Dear all,

Please be mindful with noindex directives and remember that most search engines will honour it, even if it’s in the BODY element.

Check your includes, make sure you’re not injecting in the DOM a noindex directive! I found the easiest way to do this is with the Chrome Dev tools: open it up on the page you want to check, hit Ctrl+F (or Cmd+F for those who like fruity flavours), and then type noindex. Nothing found? Great!
If you find something like this:
<meta name=”robots” content=”noindex”>>

Probably not so great. Maybe fix?

Gary out.

皆さま

noindex ディレクティブには気を付けてください。ほとんどの検索エンジンがそれに従うことを忘れないでください。たとえ BODY 要素の中にあったとしてもです

インクルードを調べて、noindex ディレクティブを DOM に挿入していないことを確かめてください。これを確かめるいちばん簡単な方法は Chrome のデベロッパーツールの利用です。調べたいページでデベロッパーツールを開いて、Ctrl+F(または、フルーティなフレーバー(※Mac のこと)が好きな人は Cmd+F を押して、noindex と入力します。何も見つからなかった? すばらしい!

もし次のようなのを見つけたとしたら、

<meta name=”robots” content=”noindex”>

おそらくあまり良くはありません。たぶん修正したほうがいいんじゃないでしょうか。

ゲイリーから以上。

イリェーシュ氏のこの発言については、Web担当者Forum の連載コラムで当時取り上げたのでそちらも参照してください。

body 要素内の noindex に気を付けよう

body 要素の中に noindex タグを記述するのは通常は考えられません。

それでも、アザレンコ氏のように SEO 記事で noindex に関して説明したときにはそういうことがあるかもしれません(たとえば、この記事も)。
あるいは、システムによっては body 要素の中に挿入するような仕様になっている場合もありえなくはありません。
また、UGC サイトでユーザーの投稿に含まれる meta タグを許可してしまっていたとしたら、悪用される可能性も否定できません。

いずれにしても、body 要素内の noindex には注意が必要です。