[レベル: 上級]
indexifembedded
という robots
タグを新たに Google は導入しました。
indexifembedded
タグは、iframe(やその他の方法)で埋め込まれたページに noindex
が設定されていても、埋め込まれたページのコンテンツとしてインデックスするように Google に指示する仕組みです。
noindex 設定していても埋め込み先ではインデックスさせる
indexifembedded
タグの働きは少々ややこしいです(理解するまで何回も読み直した)。
基本的に、ほかのサイトに埋め込まれることが想定されるページで利用します。
ここで言う “埋め込む (embed)” とは、iframe
要素(タグ)や object
要素などを使って別ページのコンテンツを掲載することを意味します。
コピーして埋め込むことではありません。
たとえばこちらは、コア アップデートの情報をもっと詳しく提供すべきだとゲイリーが主張したポッドキャストを iframe
で埋め込んでいます。
このポッドキャストは、独自の URL で公開されています。
次の URL です。
https://html5-player.libsyn.com/embed/episode/id/21728744/height/90/theme/custom/thumbnail/yes/direction/forward/render-playlist/no/custom-color/ececec/
ポッドキャストを公開しているサイトの管理者は、この URL が検索結果に出てくることを望まなかったとします。
そこで、noindex
タグをページに追加しました。
ポッドキャストを公開しているページは検索結果に表示されなくなります。
ところがこの状態だと、ポッドキャストを埋め込んだページ(今あなたが見ているこのページ)においても、埋め込まれているコンテンツとしてはポッドキャストをGoogle はインデックスしません。
元のページに noindex
が設定されているからです。
ここで indexifembedded
タグの登場です。
noindex
とともに(ポッドキャストを公開しているページに)indexifembedded
を追加します。
すると、このページ(今あなたが見ているこのページ)の埋め込みコンテンツとして Google は今度はインデックスしてくれるのです。
それでも、ポッドキャストを公開している元のページはインデックスされません。noindex
は依然として有効です。
つまり、noindex
が設定されていても 埋め込み先ページにおいてのみインデックス対象にするという役割を indexifembedded
は果たします。
📝すずきメモ: indexifembedded は分解すると “Index if embedded” で、「埋め込まれているならインデックスする」という意味になる
indexifembedded の設定方法
indexifembedded
タグは、次のいずれかの方法で設定します。
- robots meta タグ
- HTTP ヘッダー
robots meta タグ
head
セクションの robots meta
タグとして indexifembedded
を設定できます。
<meta name="googlebot" content="noindex" />
<meta name="googlebot" content="indexifembedded" />
もしくは、noindex
と indexifembedded
をまとめて記述することもできます。
<meta name="googlebot" content="noindex,indexifembedded" />
📝すずき注①: 通常 indexifembedded
は noindex
と併用する
📝すずき注②: 公式アナウンスでは content
ではなく value
が使われている。どちらも Google はサポートするとのこと(とはいえ、meta タグで value
が使われるのを僕は見たことがない)。【UPDATE (2022/01/25)】content
に修正された。
HTTP ヘッダー
HTTP ヘッダーの X-Robots-Tag
でも indexifembedded
を構成できます。
X-Robots-Tag: googlebot:noindex
X-Robots-Tag: googlebot:indexifembedded
まとめることもできます。
X-Robots-Tag: googlebot:noindex,indexifembedded
なお、indexifembedded
タグをサポートする検索エンジンは現状では Google だけです。
そのため、googlebot
を明示的に指定しています。
indexifembedded を使う場面
indexifembedded
タグの働きと設定方法は理解できたでしょうか?
問題は、使う場面です。
まったく思い付きません💦
ジョンはこんなふうに言ってます。
A "common" (it's new, so there's nothing common yet :)) use-case would be widgets or embedded content, where you have a special URL for the embed that you don't want indexed, but you still want to allow the embedding page to use it for indexing. Eg, video embeds.
— 🐄 John 🐄 (@JohnMu) January 21, 2022
一般的な使用事例は(新しいので「一般的」というものはまだないが)、ウィジェットや埋め込みコンテンツだろうと思う。埋め込み専用の URL を与えられているもののインデックスさせたくなくて、それでも埋め込んでいるページがインデックスに利用するのは許可したい場合だ。たとえば、動画かな。
たとえば、YouTube は、埋め込み専用の URL を各動画に割り当てています。
<iframe width="560" height="315" src="https://www.youtube.com/embed/aS05Osvu8ys" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
YouTube の場合は、通常の動画公開ページに向けて rel="canonical"
を設定することで埋め込み専用 URL がインデックスされるのを防いでいます。rel="canonical"
の代わりに、indexifembedded
と noindex
を使うことでも、インデックスさせることなく、かつ埋め込まれたページではインデックス対象にして、埋め込み用コードを発行することができますかね。
いまいち、僕にはしっくりきません🥴
なんでも、コンテンツを発行しているそのページはインデックスさせたくないけれど、埋め込まれた先のページではインデックスさせたいメディア パブリッシャーがいるんだそうです。
検索結果の多様性を確保するために、この新しい仕組みを Google は導入したとかなんとか。
少なくとも、indexifembedded
タグは、ほかのサイト/ページで埋め込まれることを想定したコンテンツを公開しているサイトが利用するものと言えそうです。
利用価値を見出すサイトはごく限られるでしょう。