W3C Markup Validatorのエラー修正やってみた 1【ほぼschema.org関連】

CSS検証はやってみましたが、HTML検証はやっていなかったので、懲りずにやります。

結局、CSS検証サービスをやった結果は、削除すると不具合の生じるベンダープレフィックスがあるから全部修正するのは不可能ということになりました。

それでもHTMLの検証ならオールグリーンにできるかも・・・という思いで本サイトの検証をやってみることにします。

W3C Markup Validator

検証結果

まず最初に、本サイトはブログのテーマがある程度schema.orgの構造化マークアップを行ってくれていたので、そこからGoogleの構造化マークアップテストを行いながら、できるところまで構造化マークアップを施してみたという状態です。

その状態でトップページの検証した結果、エラー警告合わせて80件近くありました。ざっと見た感じ、Microdataマークアップ関連のものが多そうです・・・というか、ほぼ全部それしかなかった。あとはWordpress関連が少し。Wordpressで作ったブログなんて普通ほとんど自分でタグ書きませんからね、大体の場合、ブログのテーマかプラグインが関連してるでしょう。ではひとつひとつ見ていきましょう。

エラー修正

Attribute itemschope not allowed on element body at this point.

bodyタグにitemschope属性は定義するな、ということですが・・・まずはbodyタグを見ます。

このitemschope~の部分はschema.orgという、検索エンジンにサイトの詳細な情報を表示させやすくするための構造化されたマークアップのためのスキーマです。検索エンジンでリッチスニペットを表示させる事ができて、ページのカテゴリやテーマを検索エンジンに伝える事ができるようになります。Googleなどが採用してます。

schema.orgのプロパティには以下の5つがあります。

  • itemscope・・・microdataを取り扱うことを宣言する
  • itemtype・・・microdataの種類をURLで指定する
  • itemprop・・・情報の細かい項目を指定する
  • itemref・・・離れた場所に記述してある情報とリンクする
  • itemid・・・必要な場合、URLを指定する

microdataは、検索エンジンに送られる情報のことです。

で、なぜこの部分がエラーになっているかというと・・・この部分を手修正でいろいろいじって試しているうちに、scopeのスペル間違えてることに気付いていませんでした。
正しくは、itemscope=”itemscope” itemtype=”http://schema.org/WebPage”とbodyタグに記述します。「itemscope=”itemscope”」は単に「itemscope」だけでも大丈夫です。気を取り直して次のエラーです。

Element meta is missing required attribute content.

これは、metaタグにcontent属性がない、と怒られてます。どういうタグを書いたかというと、こんな感じ。

「itemprop=”mainEntityOfPage”」は、そのページの主となるエンティティを指定できます。つまり、このページの主要なトピックが何であるか、ということを検索エンジンに伝えます。

さて、このタグはGoogleの構造化マークアップに従ったつもりだったのですが、使用したmetaタグは、本来content属性が必須です。contentに定義する値もないのでとりあえず、content=””を付けてみたところ、このエラーは解消されました。構造化マークアップテストでも何も言われていないのでおそらく問題ないかと。

エラー警告の量が多いので、以下、次回。

広告
  • LINEで送る