JSON-LD

このページの記事目次 (タグ: JSON-LD の検索結果)

total 2 pages  次のページ →  

Template 30、コメントのマークアップ

関連記事、「執筆ガイドライン10、コメントはArticleだ!」を受けて、HTMLとJSON-LDのマークアップを施しました。

HTMLのマークアップ

HTMLでは、コメントをArticleタグ内に投入しました。こんな感じ↓

コメントHTMLマークアップ
Article(ピンク)
コメントは、固有のidを持つarticleにしました。
Heading(黄色)
Articleは独立したコンテンツなので、ヘッディングタグが必要です。当ブログでは、本記事同様h2タグにいたしました。
コメント本文(赤色)
地味ですが、全てを囲んで1段落になっています。
footer(水色)
お名前、URL、投稿日時などが入ります。
time(灰青色)
Article投稿日です。

今のところ私の技術でできるのはこのくらいです。

空のヘッディングに対するエラー対処

コメントタイトルをh2タグにしたところまではよいのですが、見出しタグは空にしておくと↓のようなエラーがでます。

W3C, Markup Validation Serviceのエラーメッセージより

Empty heading. (=見出しタグの中が空だよ。)

ふぅむ。っと思って、タグ内が空にならないように、コメントする人がタイトルを書かなかった場合、No titleと記述されるように書き換えました。テンプレートを書き換えました。

<dt><label for="subject">タイトル</label></dt>
<dd><input id="subject" type="text" name="comment[title]" size="25" class="name" value="No title" onfocus="if (this.value == 'No title') this.value = '';" onblur="if (this.value == '') this.value = 'No title';"  /></dd>

とりあえずdtとddタグは無視してください。クリックすると書き換えられるようになっています。

でも、これ、過去記事には使えないので、結論としては削除することにしました。笑。

その代り、タイトルは必ず★と★の間に挟まれるように配置しました。タイトルがない場合は★★という表記になり、HTML的に空になりません。
そんなリア充っぽいタイトルになるのが嫌な方もいらっしゃるかも??(←代表・私)
♪とか、【】なども考えたんです。でもとりあえず★スタートで。
いつでも変えられますから…

JSON-LDでのマークアップ

<!--comment--><script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Comment",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "<%topentry_link>#<%comment_no>"
  },
   "headline": "<%comment_title>",
   "datePublished": "<%comment_year>-<%comment_month>-<%comment_day>T<%comment_hour>:<%comment_minute>:<%comment_second>+08:00",
   "description": "<%comment_body>",
  "author": {
    "@type": "Person",
    "name": "<%comment_name>"},
  "author": {
    "@type": "thing",
    "name":"<%comment_name>",
    "sameas":"<%comment_url>",
    "url":"<%comment_url>"}  
   }
}
</script><!--/comment-->

うーん。URLの入れ方が重複しているっポイのですが、とりあえず入ったので良しとします。JSON-LD版では、コメントいただいた方をauthorとしてマークアップできるほか、urlも投入され、元ブログとの連結もsameAsにて繋がっています。これぞウェブ!って感じで楽しいです。

え?、私だけ??

そう。だからこっそり過去記事として公開しているんです。

ちなみに私自身はこれまで通り余所のブログでは最初の自己紹介や引用させていただいた時のご挨拶以外はurlを残さないと思います。ウェブにおいては、つながっている事(ソーシャルグラフ)が一つの価値で、その概念はとても好きなのです。それがブログを始めた理由の一つだったりするのですが、コメントに関しては、リンクメンテができないから、私がブログを止めると、残したリンクはリンク切れになってしまいます。今のところ、外部サイトへのリンク切れはSEOに影響しないと言われていますが、それでもリンクしてみたら切れていたというのは、それなりにユーザのストレスになるものです。大好きなブロガーさんたちにご迷惑をおかけするのは嫌ですし。かといって、これからも続けます!なんて自信がつく日は来なさそうです。やれやれ。笑。

Template-20、JSON-LD形式の「ゲームレビュースニペット」のマークアップ

まず、最初にお断りしておかなければならないのは、これは私が個人のリスクで試して見たことのメモであり、他の人におすすめしているわけではありません。


今回試してみたのは、ゲームの感想をレビュースニペットに投入することです。現在Googleの下記関係サイトでは、Local businesses、Movies、Books、Music、Productsが例として挙げられていますが、Videogamesについては、言及がありません。


参照文献;Google Developers Site、Google Search
Review snippets



ゲームレビューをレビュースニペットに入れてみる


Review Snippet Videogames
Google先生、スニペット関係はインデックスが早いよね…
エラーはなしですが、警告が2件出ています。



警告1、offers


これは、Review側ではなく、ItemReviewed側にあたる"@type":"VideoGame"での推奨フィールドで、には、属性offersを記述することが推奨されているようです。
ただ、疑問なのは、Schema.orgの参考ページGamesに紹介されているマークアップ例でもExample 4にいたるまで、見当たりません。


警告は気持ちが悪いので、記述しようかなとも悩みました。しかし、主がProductなどで、VideoGamesを販売するスニペットならまだしも、私は主がReviewで、ItemReviewedとしてのVideogameなので、そのままにしておくことにしました。その内、Reviewでembedする際は推奨じゃなくなるかもしれませんし。



警告2、aggregateRating


これも、Review側ではなく、"@type":"VideoGame"での推奨フィールドでしたので、同じように警告を出したままにすることにしました。
今のところサーチコンソールで無効なカード改善可能なカードとして認知されていないようです。不思議ではありますが、ま、しばらく様子を見てみます。



コード例

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Review",
  "datePublished" : "レビュー公開日"XXXX-XX-XX",
  "itemReviewed": {
    "@type": "VideoGame",
    "image": "ゲームイメージ画像URL",
    "name": "ゲームタイトル",
    "url" : "ゲーム公式URL",
    "datePublished" : "ゲーム販売開始日XXXX-XX-XX", 
    "operatingsystem": "プラットホーム名",
    "applicationcategory":"ゲームカテゴリー?もしくは単にgame?",
    "actor" : [ { "@type" : "Person", "name" : "声優名を書きました" }, { "@type" : "Person", "name" : "声優名を書きました" } ], 
    "director" :[{ "@type" : "Person", "name" : "ディレクター名" },{ "@type" : "Person", "name" : "ディレクター名" }], 
    "author" : { "@type" : "Person", "name" : "シナリオライター名を書きました" },
    "sameAs" :"同じゲームを紹介している他のサイトURL"
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "レビューレーティング(1-5)",
    "bestRating" : "5",
    "worstRating" : "1"
  },
  "name": "レビューの記事タイトル",
  "author": {
    "@type": "Person",
    "name": "レビュー筆記者名"
  },
  "reviewBody": "レビュー本文",
  "publisher": {
    "@type": "Organization",
    "name": "レビュー発行組織"
  }
}
</script>

※レビューにDescriptionを書くようになったら、追加するかもしれません。

Template-13、FC2ブログでJSON-LD形式の「ブログポスティング」構造化データのマークアップ

JSON-LD形式の「ブログポスティング」構造化データのマークアップ


★ Templete-9で追加した「アーティクル」は削除
★ 記事エリアのパーマネントエリアに張り付け(パンくずリスト直下)
★ 外部資料、Schema.orgの「BlogPosting」ページを参考にしながら、JSON-LD形式の雛形に、FC2の変数を埋め込む
★ ロゴはのろのろファビコンで代替
★ これでいいのかよくわからないけれど、エラーは出ていない

<!--permanent_area--><!--topentry--><p class="p_mokuji">
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "BlogPosting",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "<%topentry_link>"
  },
   "headline": "<%topentry_title>",
   "articleSection": "<%topentry_category>",
   "articleSection": "<!--parent_category--><%topentry_parent_category><!--/parent_category-->",
   "keywords":["<!--tag_list--><%topentry_tag_list_name>, <!--/tag_list-->"],
   "commentCount":"<%topentry_comment_num>",
   "comment":"<!--comment--><%comment_body><!--/comment-->",
   "datePublished": "<%topentry_year>-<%topentry_month>-<%topentry_day>T<%topentry_hour>:<%topentry_minute>:<%topentry_second>+08:00",
   "dateModified": "<%topentry_year>-<%topentry_month>-<%topentry_day>T<%topentry_hour>:<%topentry_minute>:<%topentry_second>+08:00",
   "description": "<%topentry_description>",
   "image": {
    "@type": "ImageObject",
    "url": "<%topentry_image_url>",
    "height": 800,
    "width": 800
  },
  "author": {
    "@type": "Person",
    "name": "<%author_name>"
  },
   "publisher": {
    "@type": "Organization",
    "name": "<%blog_name>",
    "logo": {
      "@type": "ImageObject",
      "url": "http://blog-imgs-92.fc2.com/l/a/g/laggy2015/favicon-96x96.png",
      "width": 600,
      "height": 60
    }
  }
}
</script>
<!--/topentry--><!--/permanent_area-->

Template-11、JSON-LD形式の「映画レビュースニペット」、追記

関連記事、「Template-11、JSON-LD形式の「映画レビュースニペット」のマークアップ」は、間違えていたので、修正しました



間違いの内容


正しい姿は、Reviewの中のitemReviewedとして紹介する映画の基本情報が入っている感じです↓
Review Snippet


誤った姿は、Movieの中にreviewが入っている状態です↓
Movie Snippet


この為JSON-LD形式のデータに関しては、書き直して関連記事も更新いたしました。変更にあたって、ちょっと苦戦したところだけ下記備忘録として記述します。



Author sameAsとは?


author sameAsについてググってみても、何も出てきません。他の人にとっては簡単なんでしょうけれども、SchemaOrgのウェブサイトにも定義が書いておらず、想像で試行錯誤しました。


Authorの追加要素として2つ目の@typeを投入し、sameAs属性はURLにしましたところ入ったので、結果オーライと言うことにしたので、正解ではないかもしれません。

"author": [
    {"@type": "Person","name": "レビュー筆記者名"},
    {"@type":"thing","sameAs": "レビュー筆記者の別のレビューURL"}],



当記事の最終更新日、2017年2月26日

Template-11、JSON-LD形式の「映画レビュースニペット」のマークアップ

JSON-LD形式の映画レビュースニペット


★ テンプレート投入は断念。レビューの記事毎に追記にコードを書き込む形式
★ FC2の変数使用も断念。記事内だと上手く変数が適用できない。
★ 外部記事「Review snippets」を参照。
★ とりあえず関連記事「映画、「ジュリー&ジュリア」感想」だけお試し。
★ リッチカードとしては、エラーは出ていない。
★ スニペット部分のコントロールが困難。
★ コードの保管場所がないので、テンプレート11を使っていたが、等記事へ引っ越し。

テンプレート修正11-1
↑ストーリー紹介に外部引用(販売元の紹介文)記事を用いていたら、そのまま使用されてしまった。素敵な文章を確実に抽出してくるところがGoogle先生かしこすぎ。reviewbodyで指定していない部分でもスニペットに使われることがわかったので、全て自前の文章に変更する。

テンプレート修正11-2
↑これは酷い。グーグル先生が私の自前の文章を検証した結果、ビジターに有用な情報を理解するのに苦戦した感じが伝わってくる検索結果。泣いちゃう。

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Review",
  "name": "レビュー記事タイトル",
  "datePublished" : "レビュー記事筆記日(XXXX-XX-XX)",
  "itemReviewed": {
    "@type": "Movie",
    "name": "映画名",
    "image": "映画イメージ画像URL",
    "url" : "映画公式サイトURL",
    "sameAs": "同じ映画の別のレビュー記事(ウィキペディアなど)",
    "datePublished" : " 映画公開日(XXXX-XX-XX)",
    "actor" : [ { "@type" : "Person", "name" : "役者名" }, { "@type" : "Person", "name" : "役者名" } ], 
    "director" : { "@type" : "Person", "name" : "監督名" },
    "author" : { "@type" : "Person", "name" : "作者名" }
    },
  "author": [
    {"@type": "Person","name": "レビュー筆記者名"},
    {"@type":"thing","sameAs": "レビュー筆記者の別のレビューURL"}],
  "publisher": {
    "@type": "Organization",
    "name": "レビュー発行組織名"
  },
  "reviewRating": {"@type": "Rating",
    "ratingValue": "レビューレーティング(1-5)",
    "bestRating" : "5",
    "worstRating" : "1"},
  "description": "映画ストーリー",
  "reviewBody": "レビュー本文"
}}
</script>


当記事、誤りが見つかりましたので、修正いたしました。
詳細は関連記事「Template-11、JSON-LD形式の「映画レビュースニペット」、追記をご参照くださいませ。
最終更新日、2017年2月26日
申し訳ありません。 お探しの記事は現在、この ユーザータグ (Keyword) を設定していない可能性があります。 右の検索BOXで 再度用語を短めに入力していただくと記事が見つかる場合があります。