無効な要素があると正しく読み込まれない!?HTMLの「規則」と「文法」
-
投稿日:2022.05.26
最終更新日:2022.09.07 - 風俗SEO
HTMLの文法を気にして、ウェブサイトの制作を行っていると言い切れないウェブマスターの方も多いのではないでしょうか。
「HTMLの文法」において、最も分かりやすい例は「見出しタグ」です。
見出しタグは、h1タグ→h2タグ→h3タグ…というように、数字の部分が大きくなるにつれて小さな見出しとなるようにすることが適切な使用方法だと言えます。
しかしながら、この本来の使い方を無視して、h2タグ→h1タグ→h3タグというようにバラバラに設定しているケースは多々あります。
この使い方は明らかに「正しい」とは言えませんが、Googleとしてはこれをどのように判断するのでしょうか。
実はこれに関しては問題ありません。
「ウェブサイト上には正しい使い方をしていないサイトの方が圧倒的に多い」ということもGoogleは述べています。
しかしそうなると、HTMLの文法というのはそこまで意識しなくても良いのでしょうか?
Googleが公開した「メタデータに関する技術ドキュメント」
Googleは「メタデータに関する技術ドキュメント」を公開しました。
ここでは、<head>タグ内で有効なメタデータ、そして<head>タグ内で無効なメタデータについて言及しています。
<head>タグ内で有効な要素は次の8つ。
- title
- meta
- link
- script
- style
- base
- noscript
- template
そして<head>タグ内で無効な要素としては以下の2つとその他のHTML要素としています。
- iframe
- img
このように、<head>タグ内では有効な要素と無効な要素が決まっています。
無効な要素を使ったらどうなるの?
では、Googleがいう「無効な要素」をHTML内で使用した場合どのようになるのでしょうか。
たとえば、<iframe>を<head>タグ内に記述した場合、<iframe>以下の<head>タグ要素は<head>内の要素として読み込まれないのです。
もっといえば、<iframe>以下の要素は<body>タグとして認識されてしまいます。
Googleの認識としては<iframe>は<head>タグ内に入るものではありませんので、<iframe>以下の要素は全て<body>タグの要素として認識して処理されるのです。
極端に言えば、<head>タグの最上部に<iframe>や<img>があると、全て<body>タグとして認識されてしまうのです。
もしも特別な理由があって<head>タグ内に入れなければならない場合、その対処法としては<head>タグの最後に設置するしかありません。
最低限の規則は守らなければならない
冒頭でお話しした「見出しタグの文法」のように、文法として多少間違っているところに関してはそこまで大きくインデックスやランキングに影響を及ぼすことはないと考えられます。
しかし「HTMLの規則」は守らなければなりません。
今回は<head>タグ内の要素に関してお話ししていますが、もっと簡単なところで言えば、「開きタグ(開始タグ)・閉じタグ(終了タグ)」などがそれに該当します。
これらは適切に処理しなければならないことはHTMLを記述したことがある方ならば誰もが分かることだと思います。
「HTMLの基本的な規則」だから守らなければならない、その一方でHTMLの文法が少し間違えているくらいであれば問題ないということです。
まとめ
今回Googleが公開した、メタデータに関する技術ドキュメントには、GoogleがどのようにそのHTML要素を認識するのかが記載されています。
これは「HTMLの基本的な規則」のひとつですから、もし自分のサイトの記述が間違っている様であれば改善していきましょう。
そして、「HTMLの文法」が多少間違っていてもGoogleは問題視しない、とは説明したものの、それが「良い」とは言えません。
特に冒頭の「見出しタグの文法」が間違っていれば、ユーザーの理解に関わる部分で影響を及ぼす可能性はあります。
Googleが問題ないとしたことは、ユーザーにとっても問題ないというわけではありません。
「HTMLの基本的な規則」はもちろんのこと「HTMLの文法」も可能な限り正しくあるべきでしょう。
RELATED ARTICLE
関連記事
LATEST ARTICLE
最新記事