BloggerはGoogleが提供する無料ブログサービスです。
記述時点で、このブログは「Awesome Inc.」を使用しています。
[環境]
- Google純正のブログサービスBlogger
- Bloggerに用意されたテンプレート(Awesome Inc.)
- Google アドセンス
構造化データエラー...?
Google Search Console (以下、Search Console) に「構造化データエラー」が記録されました。「構造化データエラー」は無視しても問題ないとされていますが、SEO的には不利な扱いを受ける可能性があります。
修復するにはテンプレートを改造しなくてはならないので敷居が高いです。
私のように「構造化データエラーって?」の方に向けて、調査したことをメモしておきます。
構造化データ
Search Console > 検索での見え方 > 構造化データ
Search Console の構造化データを確認すると、272アイテムにエラーが発生していました。
これはいったい何なのでしょうか?
構造化データとは?
構造化データとはHTMLで書かれた情報が何を意味するのかを、検索エンジンやその他のクローラーに理解できるようタグ付けしたものです。Awesome Inc. では、次の記述が見つかります。
[Awesome Inc.]
- class = 'hentry'
- http://schema.org/BlogPosting
次の規格に準拠していることを示しています。
- 構造化データの規格:schema.org
- シンタックス:microformats.org (hentry)
クローラーは上の情報を読み取って、存在するであろうフィールド、メタタグを探します。
存在しない時は「構造化エラー」として記録されます。
schema.org
Google、yahoo!、Microsoftの大手検索エンジン企業が共同で取り組んでおり、値の数は日々拡張されています。
microformats.org
Googleは Microdata を推奨しているので hentry 属性が記述されているようです。結論:エラーの原因
[Awesome Inc.]- Awesome Inc. テンプレートは schema.org, microformats.org に準拠したフィールドやメタタグのいくつかが記述されていない。
- または、意図的に省略している。
悪影響は?
[Googleの説明を要約すると...]- 構造化データエラーによる悪影響はない。
- 構造化データを使用すると検索結果に豊富な機能を組み込むことができる。
悪影響はないということなので一安心です。
構造化データのエラーが、Googleのクロールやインデックス、ランキングに悪影響を与えることは通常はありません。そのまま放置して無視してかまいません。
Google プロダクト フォーラム
Google プロダクト フォーラム
メリットはある!?
次のメリットがあるそうです。
Google検索では、ページの内容を理解している場合や、構造化データを使用してページコードに明示的に追加情報を指定した場合、検索結果に豊富な機能を組み込むことができます。
Google Developers
Google Developers
対応した方がいいのか?
Awesome Inc. をデフォルトで利用している(私のような)ユーザーは、もれなく構造化エラーが発生している。(たぶん)構造化データは、クローラーのために策定された規格です。
検索エンジンのシェアはGoogle寡占なので、Googlebotの規格ですね。
ということは、
Googleに媚を売りたければ対応する...
対応はむずかしい
構造化データに準拠するには、XMLで記述されたテンプレートを改造しなければなりません。私には敷居が高いです。
[例えば...]
- Awesome Inc. の3,000行以上あるXMLコードからエラーと判定された部分を特定する
- 規格に対応したフィールドを追記する(または修正する)
- 規格に対応したマークアップを追記する(または修正する)
チャレンジしてみた
構造化エラーを抑え込めるか否か興味があったのでチャレンジしました。結果は良好です。
[パターン]
- とりあえずエラーを消す
- 積極的に対応する
テンプレートのバックアップ
作業に入る前にAwesome Inc. テンプレートをバックアップしておきます。とても重要です。
[手順]
- Blogger > テーマ > HTMLの編集
- HTMLをマウスでクリックしてアクティブにする
- Ctrl+A で全体を選択状態にしてから Ctrl+c でコピーする
- Ctrl+v でテキストエディタにペーストする
- 名前を付けて保存する
- 終了
とりあえずエラーを消す
schema.org, microformats.org (hentry) に関する属性情報を削除すると、エラーの記録は止まります。具体的には Awesome Inc. テンプレートで hentry を検索すると以下の構文がヒットするので、schema.org, hentry に関する属性を全て削除します。
手順
修正前:
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
修正後:
<div class='post uncustomized-post-template' >
いい調子です!
image_url を除くエラーは解決した
必須フィールド、推奨フィールドのエラーが検出されなくなりました。ボキャブラリーおよび、シンタックスの記述を削除したので当然の結果といえます。
必須フィールド | author, datePublished, headline, publisher |
推奨フィールド | dateModified, mainEntityOfPage |
image_urlは個別対処
image_url | BlogPosting のオブジェクトではプロパティ image_url は Google で認識されません。 |
対処方法
image_url でテンプレートを検索すると2か所でヒットするので、image にリネームする。
手順
修正前:
<meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
<meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
<meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
修正後:
<meta expr:content='data:post.thumbnailUrl' itemprop='image'/>
<meta expr:content='data:post.firstImageUrl' itemprop='image'/>
<meta expr:content='data:post.firstImageUrl' itemprop='image'/>
積極的に対応する
schema.org, microformats.org (hentry) 属性はそのままに、テンプレートに不足するメタタグを追記します。以下の手順は Awesome Inc. テンプレート限定ですが、Bloggerユーザーであれば応用できる可能性があります。
追記する場所を探す
Blogger > テーマ > HTMLの編集
- テンプレートのHTMLを表示
- hentry で検索
私の環境では、2019行で見つかりました。
初期状態のテンプレートではもう少し若い行番号で見つかると思います。
hentry属性のあるタグの次の行から構造化データ(スキーマ)を追記します。
追記するタグは?
Google Search Console がエラー検出したフィールドを追記します。当方の環境では以下の記述により全てのエラーが検出されなくなりました。
サンプル
下記コードは当サイト固有の情報が含まれるのでコピペはお勧めしません。
<div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<!-- 追記ここから -->
<div style='display:none'>
<meta content='data:post.link : data:post.url' expr:itemid='data:post.link' itemType='https://schema.org/WebPage' itemprop='mainEntityOfPage' itemscope='itemscope'/>
<!-- 公開日の定義 -->
<span class='published' itemprop='datePublished'><data:post.timestampISO8601/></span>
<!-- 更新日の定義 -->
<span class='updated' itemprop='dateModified'><data:post.lastUpdatedISO8601/></span>
<!-- authorの定義 -->
<span itemprop='author'><data:post.author/></span>
<!-- nameの定義 -->
<span itemprop='name'><data:post.author/></span>
<!-- headlineの定義 -->
<span itemprop='headline'><data:post.title/></span>
<!-- publisherの定義 -->
<div itemprop='publisher' itemscope='itemscope' itemtype='https://schema.org/Organization'>
<span itemprop='name'><data:blog.title/></span>
<span itemprop='logo' itemscope='itemscope' itemtype='https://schema.org/ImageObject'>
<span itemprop='url'>https://kzstock.blogspot.com/</span>
<meta content='horizontal' itemprop='width'/>
<meta content='vertical' itemprop='width'/>
</span>
</div>
<!-- imageの定義 -->
<div itemprop='image' itemscope='' itemtype='https://schema.org/ImageObject'>
<img alt='3' height='3' src='https://kzstock.blogspot.com/' width='3'/>
<meta content='https://kzstock.blogspot.com/' itemprop='url'/>
<meta content='3' itemprop='width'/>
<meta content='3' itemprop='height'/>
</div>
</div>
<!-- 追記おわり -->
<!-- 追記ここから -->
<div style='display:none'>
<meta content='data:post.link : data:post.url' expr:itemid='data:post.link' itemType='https://schema.org/WebPage' itemprop='mainEntityOfPage' itemscope='itemscope'/>
<!-- 公開日の定義 -->
<span class='published' itemprop='datePublished'><data:post.timestampISO8601/></span>
<!-- 更新日の定義 -->
<span class='updated' itemprop='dateModified'><data:post.lastUpdatedISO8601/></span>
<!-- authorの定義 -->
<span itemprop='author'><data:post.author/></span>
<!-- nameの定義 -->
<span itemprop='name'><data:post.author/></span>
<!-- headlineの定義 -->
<span itemprop='headline'><data:post.title/></span>
<!-- publisherの定義 -->
<div itemprop='publisher' itemscope='itemscope' itemtype='https://schema.org/Organization'>
<span itemprop='name'><data:blog.title/></span>
<span itemprop='logo' itemscope='itemscope' itemtype='https://schema.org/ImageObject'>
<span itemprop='url'>https://kzstock.blogspot.com/</span>
<meta content='horizontal' itemprop='width'/>
<meta content='vertical' itemprop='width'/>
</span>
</div>
<!-- imageの定義 -->
<div itemprop='image' itemscope='' itemtype='https://schema.org/ImageObject'>
<img alt='3' height='3' src='https://kzstock.blogspot.com/' width='3'/>
<meta content='https://kzstock.blogspot.com/' itemprop='url'/>
<meta content='3' itemprop='width'/>
<meta content='3' itemprop='height'/>
</div>
</div>
<!-- 追記おわり -->
資料
schema.org は、ウェブ上でデータを記述する共通のボキャブラリを作成してウェブを改善するための、Google、Microsoft、Yahoo! による共同の取り組みです。HTML ページに schema.org のマークアップを追加すると、Google 検索を含む多くの企業やサービスがそのサイトのデータを認識できるようになります。同様に、HTML 形式のメールに schema.org のマークアップを追加すると、Gmail をはじめ他のメール サービスもデータを認識できるようになります。
どのマークアップ タイプを使用しても schema.org のボキャブラリでデータを記述できます。マークアップ支援ツールは microdata と JSON-LD の使用に対応しています。
Search Console ヘルプ
どのマークアップ タイプを使用しても schema.org のボキャブラリでデータを記述できます。マークアップ支援ツールは microdata と JSON-LD の使用に対応しています。
Search Console ヘルプ
Q: なぜマークアップを追加する必要がありますか?私はそれから何を得ますか?データはどのように使用されますか?
検索エンジンは、ページ上のマークアップをさまざまな方法で使用しています。これらのプロジェクトを使用すると、検索結果にコンテンツをより明瞭に表示することができます。schema.orgのすべてのタイプの情報が検索結果に表示されるわけではありません。各会社のドキュメントを参照して特定の用途を見つけることはできますが、時間の経過とともに多くのデータがより多く使用されることが期待できます。さらに、マークアップはあなたのWebページから公にアクセス可能であるため、他の組織も同様に興味深い新しい方法を見つけることができます。
Q: 私はすべてのプロパティをマークアップする必要がありますか?
アイテムのいくつかのプロパティだけをマークアップするのは問題ありません。マークアップは、すべてかどうかの選択ではありません。しかし、できるだけ多くのコンテンツをマークアップすることは、検索エンジンがあなたの情報を使用してページをユーザーに最も有用な方法で提示するのに役立ちます。一般的なルールとして、Webページを訪問したユーザーには表示されるコンテンツのみをマークアップし、隠しdivやその他の隠しページ要素にはコンテンツをマークアップしないようにしてください。
FAQ - schema.org
検索エンジンは、ページ上のマークアップをさまざまな方法で使用しています。これらのプロジェクトを使用すると、検索結果にコンテンツをより明瞭に表示することができます。schema.orgのすべてのタイプの情報が検索結果に表示されるわけではありません。各会社のドキュメントを参照して特定の用途を見つけることはできますが、時間の経過とともに多くのデータがより多く使用されることが期待できます。さらに、マークアップはあなたのWebページから公にアクセス可能であるため、他の組織も同様に興味深い新しい方法を見つけることができます。
Q: 私はすべてのプロパティをマークアップする必要がありますか?
アイテムのいくつかのプロパティだけをマークアップするのは問題ありません。マークアップは、すべてかどうかの選択ではありません。しかし、できるだけ多くのコンテンツをマークアップすることは、検索エンジンがあなたの情報を使用してページをユーザーに最も有用な方法で提示するのに役立ちます。一般的なルールとして、Webページを訪問したユーザーには表示されるコンテンツのみをマークアップし、隠しdivやその他の隠しページ要素にはコンテンツをマークアップしないようにしてください。
FAQ - schema.org
External link
:SC2
このサイトを検索 | Search this site
0 コメント