[レベル: 中級]
<noscript>
タグ内のコンテンツを Google はインデックスしません。
しかし画像は例外です。<noscript>
の中であっても <img>
タグの要素はインデックス対象になります。
スパム対策のため <noscript> は無視される
<noscript>
タグは、スパムに利用されてきた経緯があります。
(JavaScript を実行する)ブラウザでは画面に表示されないものの、HTML コード内には存在するため検索エンジンには認識されます。
隠しテキストや隠しリンクとしての悪用が可能でした。
そのため、かなり以前から <noscript>
内のコンテンツを Google は無視するようになっています。
Lazyload 画像対応の noscript は例外
Lazyload で遅延読込みさせる画像をインデックスさせるために、Google は次の2つの方法を推奨しています。
<noscript>
の中に<img>
を記述して画像の情報を追加する- 構造化データで画像の情報を追加する
無視するはずの <noscript>
タグの利用をすすめています。<noscript>
内の画像も、隠しテキストや隠しリンクのように無視されてしまわないのでしょうか?
しかしながら画像、つまり <img>
タグに限っては Google はインデックス対象にします。
画像以外のコンテンツは依然として無視されます。
Google の Martin Splitt(マーティン・スプリット)が確認のうえ明言しています。
Okay, my apologies! I misread / misremembered an internal doc! Generally speaking, <noscript> is ignored *except* for images. If you have an <img> in <noscript> this is indexed. Other content won't be indexed.
— Martin Splitt @🇨🇭🏠 (@g33konaut) January 23, 2019
Google I/O 2018 のときに John Mueller(ジョン・ミューラー)氏に僕が直接聞いたことと一致しています。
なので、確実に正しい情報だと言えます。
したがって Lazyload 画像を SEO 対応するための手段としての <noscript>
タグ利用は問題ありません。
なお、検索エンジンフレンドリーな Lazyload の構成を Google は 2018 年 11 月に公開しています。
この構成を実装したとしても、<noscript>
または構造化データの併用が推奨されます。