どうも、
Google Search Console の構造化データを見た所、エラーが検出されていました。
エラーと言われても特に何か特別な事をした訳でも無く、Bloggerの投稿画面から投稿していたので、発生理由がわからなかったのですが、エラーを調べていた所どうやら使用しているテンプレート(Vaster2を使用しています。)が構造化データのマークアップに対応した方がいい箇所が出ているようです。
schema.orgの仕様通りにmicrocodeをマークアップする事で、GoogleやYahoo!などの検索エンジンにブログ情報をクロールしてもらい、ユーザーに最適な検索結果を提供するというものです。
現状マークアップ不完全によりエラーが出ているからと言って検索順位にすぐに影響が無いと言われているので個人レベルのブログでは放置しておいても構わない気がしますが、修復出来る所は修復しておきましょう。
ERROR
ちなみにBlogPostingは、構造化データに用いられるSchema.orgで定義された、Blogの記事部分のスキーマ(語彙)らしい。
確認した所、使用されるプロパティは以下の通りです。
これらを使用してウェブサイトをGoogleなど検索サイトにどの様なサイトなのか情報を提供しています。
schema.orgの詳細や各プロパティのリスト等は、公式サイトを参考にしてください。
では、素人ながらも少しづつエラー修復をしましょう。
変更の前にテンプレートのBackupを取っておくように。
[タイプ BlogPosting のオブジェクトではプロパティ image_url は Google で認識されません。]
Googleが認識出来るプロパティはitemprop=imageとなるようです。
まずimage_urlを検索します。
見つかったら、itemprop=imageと変更します。(_urlを削除)
この修正により、imageについてもなぜか修復されてしまいました。_urlを削除した事で 'itemprop=image'が認識されたのでしょうか。
class=post hentryにauthorが無いとされているってことか?
確認した所authorが無いと言っているので、ここにclass=hCardを'author'として宣言してあげればいいだけです。
ここでややこしい話ですが、hCard のルート class 名は "vcard" です。
つまりclassとして、書き出す時は'vcard'と書く必要があります。
いろいろあってこのように定義されていますが、説明は割愛します。
また、authorのマークアップ追加は、'vcard' と'fn'が必要となります。
これら2つのclassを追記、spanタグで囲む必要があります。
テンプレート上で以下を検索します。
<div class='post hentry' itemprop='blogPost' itemtype='http://schema.org/BlogPosting'>
見つかったら、直下に以下を追加します。
xxxxxは自身の名前
ここで、style='display:none;'を指定しないと記事ごとにxxxxx(自身の名前)が表示されます。(下の赤枠で囲った所)
表示させない場合は、style='display:none;'を指定すれば表示を消す事が出来ます。
contentで指定しました。
コレで3つが解消されました。残りはもう少し調べてみます。素人なので。
Google Search Console の構造化データを見た所、エラーが検出されていました。
エラーと言われても特に何か特別な事をした訳でも無く、Bloggerの投稿画面から投稿していたので、発生理由がわからなかったのですが、エラーを調べていた所どうやら使用しているテンプレート(Vaster2を使用しています。)が構造化データのマークアップに対応した方がいい箇所が出ているようです。
schema.orgの仕様通りにmicrocodeをマークアップする事で、GoogleやYahoo!などの検索エンジンにブログ情報をクロールしてもらい、ユーザーに最適な検索結果を提供するというものです。
現状マークアップ不完全によりエラーが出ているからと言って検索順位にすぐに影響が無いと言われているので個人レベルのブログでは放置しておいても構わない気がしますが、修復出来る所は修復しておきましょう。
構造化データ エラーの内容について
BlogPostingに以下の6件のエラーと2件の警告です。ERROR
- image_url
- author
- datePublished
- headline
- image
- publisher
- dateModified
- mainEntityOfPage
ちなみにBlogPostingは、構造化データに用いられるSchema.orgで定義された、Blogの記事部分のスキーマ(語彙)らしい。
構造化データに用いられるマークアップのプロパティとは
ここでマークアップする時に用いられるプロパティついて備忘。エラー修復だけの方は飛ばして下さい。確認した所、使用されるプロパティは以下の通りです。
- itemscope :マークアップする宣言です。値は必要ありせんが、XHTMLと互換性を持たせた HTML5で作成される場合は、itemscope='itemscope'とする必要があります。
- itemtype :microdataの種類をurlで示します。'https://schema.org/xxxxx'としてxxxxxにはschema.orgで指定された種類があります。
- itemprop :値は項目。これもschema.orgで指定されています。
これらを使用してウェブサイトをGoogleなど検索サイトにどの様なサイトなのか情報を提供しています。
schema.orgの詳細や各プロパティのリスト等は、公式サイトを参考にしてください。
では、素人ながらも少しづつエラー修復をしましょう。
変更の前にテンプレートのBackupを取っておくように。
image_url、imageの修復
ERRORの内容は[タイプ BlogPosting のオブジェクトではプロパティ image_url は Google で認識されません。]
Googleが認識出来るプロパティはitemprop=imageとなるようです。
まずimage_urlを検索します。
見つかったら、itemprop=imageと変更します。(_urlを削除)
この修正により、imageについてもなぜか修復されてしまいました。_urlを削除した事で 'itemprop=image'が認識されたのでしょうか。
authorの修復
当然個人ブログなのでこんな設定は必要ないと感じますが。class=post hentryにauthorが無いとされているってことか?
確認した所authorが無いと言っているので、ここにclass=hCardを'author'として宣言してあげればいいだけです。
ここでややこしい話ですが、hCard のルート class 名は "vcard" です。
つまりclassとして、書き出す時は'vcard'と書く必要があります。
いろいろあってこのように定義されていますが、説明は割愛します。
また、authorのマークアップ追加は、'vcard' と'fn'が必要となります。
これら2つのclassを追記、spanタグで囲む必要があります。
テンプレート上で以下を検索します。
<div class='post hentry' itemprop='blogPost' itemtype='http://schema.org/BlogPosting'>
見つかったら、直下に以下を追加します。
xxxxxは自身の名前
<span class='vcard' itemscope='itemscope' itemprop='author'
itemtype='https://schema.org/Person'>
<span class='fn' itemprop='name'style='display:none;'
>xxxxx
content='xxxxx'</span></span>
*取り消し部はcontent='xxxxx'に変更しました。
itemtype='https://schema.org/Person'>
<span class='fn' itemprop='name'
content='xxxxx'</span></span>
*取り消し部はcontent='xxxxx'に変更しました。
contentで指定しました。
コレで3つが解消されました。残りはもう少し調べてみます。素人なので。