headタグの中に記述していいHTML要素と記述してはいけないHTML要素

[レベル: 中級]

メタデータ (metadata) に関する技術ドキュメントを Google は検索セントラルサイトに公開しました。
<head> 要素(タグ)内では有効な HTML 要素だけを使用するように注意喚起しています。

head 内で有効な要素

<head> セクションで有効なメタデータとして Google 検索で認識されるのは次の HTML 要素です。

  • title
  • meta
  • link
  • script
  • style
  • base
  • noscript
  • template

head 内で無効な要素

上で挙げた以外の要素を <head> 内に記述してはいけません。
特にありがちなのは次の要素を <head> に追加するケースです。

  • iframe
  • img

無効な HTML 要素が <head> に存在すると <head> 内のメタデータの読み取りをそこで Google は 終了します。
<head> 内では使われるはずがない要素が出現するので、<head> が終わったのだろうと判断するからです。
したがって、無効なメタデータよりもあとに存在する <head> 内のデータは無視されます。

<head> セクションの中に iframe 要素を記述していたことが原因で、そのあとに続く hreflang 要素が認識されなかったというトラブルが過去に実際に発生しています。

特殊な事情があって、有効ではない HTML 要素を <head> に置かなければならない場合は <head>最後に配置します。
そうすれば、必要なメタデータの読み込みはすでに完了しているはずだからです。

HTML が文法的に正しいかどうかは Google 検索のランキングではありません。
h1 タグ、h2 タグ、h3 タグの順番が整っていなかったり、(h1 タグや h2 タグがなく)h3 タグだけだったりしても、Google は評価を下げはしません

HTML 文法が 100% 正しくないページのほうがウェブには圧倒的に多いのです。
Google は文法ミスを許容します。

そうは言っても、インデックスやランキングに悪い影響を与えうる HTML の使い方は存在します。
<head> 要素内のメタデータもそのうちの 1 つです。