すたすた式
Blogger Vaster1.9
Search Consol error(サーチコンソール・構造化データのエラー)まとめ
New JSON-LD ←新しく書きました。JSON-LDをつかって構造化データのエラーに対処しました。こちらの方が簡単かもしれません。
HTMLを編集します。必ずバックアップを取ってから作業してください。
バックアップの取り方、テンプレートのいじり方を事前にわかっていると後の作業が楽になりますので、検索してサラッ調べておくといいと思います。
初心者が試行錯誤したものです。エラーは消えますが、これが”正しい”コードかどうかは分かりませんので留意してください。 そもそも search consol の構造化データに表示されたエラーは、hentry マークアップ: microformats.org でした。 今回やったことは schema.org についてなので、microformats.org のエラーが消えるかどうかはわかりません。
構造化データテストツールにおいては mainEntityOfPage のエラーは消えました。今回は今までにも増してよくわかりませんでした……
ctrl +F で hentry を検索?
<div class='post hentry' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
を下記に書き換え。
<div class='post hentry' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta itemscope='itemscope' itemprop='mainEntityOfPage' itemType='https://schema.org/WebPage' expr:itemid='data:post.link' content= 'data:post.link : data:post.url'/>
元のコードを残したかったらコメントアウトをして、
<!-- <div class='post hentry' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> --> <div class='post hentry' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta itemscope='itemscope' itemprop='mainEntityOfPage' itemType='https://schema.org/WebPage' expr:itemid='data:post.link' content= 'data:post.link : data:post.url'/>
これで mainEntityOfPage のエラーは消えます。
追記: 参考サイトを確認したところ記述が違いましたので(コピペミスかも)
<meta itemscope='itemscope' itemprop='mainEntityOfPage' itemType='https://schema.org/WebPage' expr:itemid='data:post.link ? data:post.link : data:post.url'/>
としていましたが
<meta itemscope='itemscope' itemprop='mainEntityOfPage' itemType='https://schema.org/WebPage' expr:itemid='data:post.link' content= 'data:post.link : data:post.url'/>
に変更しました。得られる結果は変わらないと思います。
Blogger | Vaster author 構造化データエラー その2でやったように、hentry 以下に何かしらのコードを入れればいいと考えました。
mainEntityOfPage とは何かと検索すると、そのページのメインコンテンツを意味するようです。ブログの場合は「記事」に当たるのでしょうか。
https://schema.org/BlogPosting を見ると mainEntityOfPage はCreativeWork か URL で記述するようです。
今回はURL で記述しましたが、試しにCreativeWork でも書いて見たところ、得られた結果は同じでした。
<span itemprop='mainEntityOfPage' itemscope='itemscorp' itemtype='https://schema.org/URL' style='display:none;'><span>
これでエラーは消えましたが、mainEntityOfPage というのは、”そのページのメインコンテンツのこと”というのを考えると、サイドバーや、ヘッダー、フッターではなく「記事」を指定するものが必要なのでは?と思い、まったく自信はありませんが、記事のURLを指定すると思われる
<data:post.url/>
をはさみました。
<span itemprop='mainEntityOfPage' itemscope='itemscorp' itemtype='https://schema.org/URL' style='display:none;'><data:post.url/></span>
しかし記事のURLが認識されていないようです。
URLを認識するのにitemid というのが必要らしく、また<data:post.url/>を展開するのにexpr コマンドというのも必要らしいところまではわかりましたが……。
これ以上は考えてもよくわからなかったので、結局のところ このサイトを参考にして書き換えをしました。理解できず残念です。
サイト内検索に使ってください 🐤
© 2015 すたすた式
Enjoy!👍
QooQ
コメントなし:
コメントを投稿