レビュー・評価(Reviews)の構造化データをマークアップする方法

レビュー・評価(Reviews)の構造化データをマークアップする方法

Photo Ben White via Unsplash

レビュー・評価(Reviews)の構造化データをマークアップする方法を紹介します。

レビューは商品、レストラン、店舗、本や映画など幅広い検索結果に対して表示されます。

レビューは大きく「Critic reviews(批評家のレビュー)」と「Review snippets(レビュースニペット)」に分かれます。

Critic reviews(批評家のレビュー)

Critic reviews(批評家のレビュー)

Critic reviews(批評家のレビュー)は現在、日本語ではサポートされていないようです。言語設定を英語にすると表示されます。

複数のサイトから長めのレビューがピックアップされ、検索結果の上部に表示されます。

Critic reviewsがサポートされているコンテンツは以下の3つです。

Critic reviews(批評家のレビュー)の構造化データをマークアップする

Critic reviews(批評家のレビュー)の構造化データをJSON-LDでマークアップする方法です。JSON-LDはページのどこに記述しても問題ありませんが、通常は<head>タグ内に記述します。

EMBEDDED REVIEW(埋込み型レビュー)

EMBEDDED REVIEW(埋込み型レビュー)は、レビューをコンテンツの一部として埋め込む場合に使用します。たとえば、レストランの予約サイトでレストランに対する顧客からのレビューを掲載したり、書籍の販売サイトで書籍に対する顧客のレビューを掲載するときに使います。メインコンテンツはレストランや書籍の紹介であり、レビューはあくまで、コンテンツの一部分という位置づけです。

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Restaurant",
  "@id": "http://davessteakhouse.example.com",
  "name": "Dave's Steak House",
  "image": "http://davessteakhouse.example.com/logo.jpg",
  "sameAs": "http://davessteakhouse.example.com",
  "servesCuisine": "Steak House",
  "priceRange": "$$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "148 W 51st St",
    "addressLocality": "New York",
    "addressRegion": "NY",
    "postalCode": "10019",
    "addressCountry": "US"
  },
  "telephone": "+12122459600",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.761293,
    "longitude": -73.982294
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "88",
    "bestRating": "100",
    "worstRating": "1",
    "ratingCount": "20"
  },
  "review": {
    "@type": "Review",
    "url": "http://www.localreviews.com/restaurants/1/2/3/daves-steak-house.html",
    "author": {
      "@type": "Person",
      "name": "Lisa Kennedy",
      "sameAs": "https://plus.google.com/114108465800532712602"
    },
    "publisher": {
      "@type": "Organization",
      "name": "Denver Post",
      "sameAs": "http://www.denverpost.com"
    },
    "datePublished": "2014-03-13T20:00",
    "description": "Great old fashioned steaks but the salads are sub par.",
    "inLanguage": "en",
    "reviewRating": {
      "@type": "Rating",
      "worstRating": 1,
      "bestRating": 4,
      "ratingValue": 3.5
    }
  }
}
</script>

STANDALONE REVIEWS(独立型レビュー)

STANDALONE REVIEWS(独立型レビュー)は、レビューをメインコンテンツとして提供する場合に使用します。たとえば、ニュースサイトや雑誌サイトでレストランの評価や書評を掲載する場合に使用します。

<script type="application/ld+json">
{
  "@context":"http://schema.org",
  "@type":"Review",
  "author": {
    "@type":"Person",
    "name":"Lisa Kennedy",
    "sameAs":"https://plus.google.com/114108465800532712602"
  },
  "url": "http://www.localreviews.com/restaurants/1/2/3/daves-steak-house.html",
  "datePublished":"2014-03-13T20:00",
  "publisher": {
      "@type":"Organization",
      "name":"Denver Post",
      "sameAs":"http://www.denverpost.com"
  },
  "description":"Great old fashioned steaks but the salads are sub par.",
  "inLanguage":"en",
  "itemReviewed": {
    "@type":"Restaurant",
    "name": "Dave's Steak House",
    "sameAs": "http://davessteakhouse.example.com",
    "image": "http://davessteakhouse.example.com/logo.jpg",
    "servesCuisine": "Steak House",
    "priceRange": "$$$",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "148 W 51st St",
      "addressLocality": "New York",
      "addressRegion": "NY",
      "postalCode": "10019",
      "addressCountry": "US"
    },
    "geo": {
      "@type": "GeoCoordinates",
      "latitude": 40.761293,
      "longitude": -73.982294
    },
    "telephone": "+12122459600",
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "88",
      "bestRating": "100",
      "ratingCount": "20"
    }
  },
  "reviewRating": {
     "@type":"Rating",
     "worstRating":1,
     "bestRating":4,
     "ratingValue":3.5
  }
}
</script>

Critic reviews(批評家のレビュー)の属性

Critic reviews(批評家のレビュー)の構造化データには次のような属性を使用します。

属性 必須 説明
aggregateRating レビューされたアイテムの評価点数に関する情報
複数のユーザーが点数付けする場合に使用します。
aggregateRating.
bestRating
システムで許可されている最高得点
空欄の場合「5」が適用されます。
「A」など文字による評価も可能です。
aggregateRating.
worstRating
システムで許可されている最低得点
空欄の場合「1」が適用されます。
「C-」など文字による評価も可能です。
aggregateRating.
ratingCount
評価の数
aggregateRating.
ratingValue
評価の平均
「B+」など文字による評価も可能です。
author 推奨 レビューをした人に関する情報
個人(Person)、または組織( Organization)
author.name 推奨 レビューをした人の名前
author.sameAs 推奨 レビューをした人に関連するページのURL
たとえば、レビューをした人の公式サイト、プロフィールページ、Wikipediaなど
datePublished 必須 レビューの公開日
description 必須 レビューの作者の意見を短く表現した概要文
これは検索結果に表示されます。
以下の仕様に従う必要があり、仕様から外れた場合、検索結果には表示されません。

  • 200文字以内である
  • 映画や本のタイトルなどは「ダブルクオーテーション(”)」で囲む 例: “Gravity” is the best movie.
inLanguage 推奨 レビューの言語コード
例: “ja”
itemReviewed 必須 レビュー対象のアイテムに関する情報
ローカルビジネス、映画、書籍のそれぞれについて、使用する属性が若干異なります。
詳細はこのページのしたの方にある「Review subject properties(レビュー対象)の属性」で解説します。
publisher 必須 レビューの発行者に関する情報
publisher.name 必須 レビューの発行者の名前
例: “The New York Times.”
publisher.sameAs 推奨 レビューの発行者に関連するページのURL
公式サイトやWikipediaなど
reviewRating 推奨 評価点数、レート
評価点数には「Rating」と「EndorsementRating」の2種類があります。
Ratingは1~5点範囲で3点など、最低点と最高点が用意されているパターンです。
EndorsementRatingはFacebookの「いいね!」のように、点数が積み上がっていくパターンです。たとえば、「2 いいね!」のようになります。サンプル

"reviewRating": [{
  "@type": "Rating",
  "ratingValue": "3.0",
  "bestRating": "5",
  "worstRating": "0"
}, {
  "@type": "EndorsementRating",
  "name": "2 thumbs up",
  "ratingValue": "2"
}]
reviewRating.bestRating 推奨 システムで許可されている最高得点
空欄の場合「5」が適用されます。
「A」など文字による評価も可能です。
reviewRating.worstRating 推奨 システムで許可されている最低得点
空欄の場合「1」が適用されます。
「C-」など文字による評価も可能です。
reviewRating.ratingValue 推奨 評価の平均
「B+」など文字による評価も可能です。
URL レビューが掲載されているページのURL

Review subject properties(レビュー対象)の属性

レビュー対象のアイテムに関する情報を提示するために使用する属性です。ローカルビジネス、映画、書籍のそれぞれについて、使用する属性が若干異なります。

ローカルビジネス

属性 必至 説明
itemReviewed.name 必須 レビュー対象ローカルビジネスの名前
itemReviewed.sameAs 必須 ローカルビジネスに関するページのURL
公式サイトがあれば、公式サイト
itemReviewed.address 必須 住所
itemReviewed.address.
streetAddress
必須 番地
itemReviewed.address.
addressLocality
必須 都市
itemReviewed.address.
addressRegion
必須 都道府県
itemReviewed.address.
postalCode
必須 郵便番号
itemReviewed.address.
addressCountry
必須 国コード
JP、USなど
itemReviewed.geo 推奨 緯度経度に関する情報
itemReviewed.geo.
latitude
推奨 緯度
itemReviewed.geo.
longitude
推奨 軽度
itemReviewed.telephone 推奨 電話番号

映画

属性 必須 説明
itemReviewed.name 必須 レビュー対象の映画のタイトル
itemReviewed.sameAs 必須 映画に関連するページのURL
公式サイト、Wikipediaなど
itemReviewed.datePublished 推奨 映画の公開日やDVDの発売日
itemReviewed.director 推奨 監督に関する情報
itemReviewed.director.name 推奨 監督の名前
itemReviewed.director.sameAs 推奨 監督に関連するページのURL
公式サイト、Wikipediaなど
itemReviewed.actor 俳優に関する情報
itemReviewed.actor.name 俳優の名前
itemReviewed.actor.sameAs 俳優に関するページのURL
公式サイト、Wikipediaなど

書籍

属性 必須 説明
itemReviewed.name 必須 レビュー対象の書籍の名前
itemReviewed.isbn 必須 書籍のISBN
ISBNが無い場合はsameAsを使用
itemReviewed.sameAs 必須 書籍に関連するページのURL
公式サイトやWikipediaなど
ISBNが無い場合に使用
itemReviewed.author 必須 著者に関する情報
itemReviewed.author.name 必須 著者の名前
itemReviewed.author.sameAs 推奨 著者に関連するページのURL
itemReviewed.datePublished 推奨 書籍の発売日

Review snippets(レビュースニペット)

Review snippets(レビュースニペット)

Googleは検索結果のナレッジグラフにローカルビジネスや映画、書籍、音楽、商品についてのレビューを表示することがあります。現在、Review snippets(レビュースニペット)がサポートされているのは以下の構造化データです。

Review snippets(レビュースニペット)の構造化データをマークアップする

Review snippets(レビュースニペット)の構造化データをJSON-LDでマークアップする方法です。JSON-LDはページのどこに記述しても問題ありませんが、通常は<head>タグ内に記述します。

SIMPLE REVIEW(シンプルなレビュー)

SIMPLE REVIEW(シンプルなレビュー)は、レビューをメインコンテンツとして提供する場合に使用します。たとえば、ニュースサイトや雑誌サイトでレストランの評価や書評を掲載する場合に使用します。

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Restaurant",
    "image": "http://www.example.com/seafood-restaurant.jpg",
    "name": "Legal Seafood"
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "4"
  },
  "name": "A good seafood place.",
  "author": {
    "@type": "Person",
    "name": "Bob Smith"
  },
  "reviewBody": "The seafood is great.",
  "publisher": {
    "@type": "Organization",
    "name": "Washington Times"
  }
}
</script>

EMBEDDED REVIEW(埋込み型レビュー)

EMBEDDED REVIEW(埋込み型レビュー)は、レビューをコンテンツの一部として埋め込む場合に使用します。たとえば、レストランの予約サイトでレストランに対する顧客からのレビューを掲載したり、書籍の販売サイトで書籍に対する顧客のレビューを掲載するときに使います。メインコンテンツはレストランや書籍の紹介であり、レビューはあくまで、コンテンツの一部分という位置づけです。

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Product",
  "image": "http://www.example.com/catcher-in-the-rye-book-cover.jpg",
  "name": "The Catcher in the Rye",
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5"
    },
    "name": "A masterpiece of literature",
    "author": {
      "@type": "Person",
      "name": "John Doe"
    },
    "datePublished": "2006-05-04",
    "reviewBody": "I really enjoyed this book. It captures the essential challenge people face as they try make sense of their lives and grow to adulthood.",
    "publisher": {
      "@type": "Organization",
      "name": "Washington Times"
    }
  }
}
</script>

AGGREGATE RATING(総合評価)

AGGREGATE RATING(総合評価)は、複数のユーザーの評価点数の平均を提示する場合に使用します。

<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Book",
  "name": "Super Book",
  "description": "Ultra interesting. Super impressive.",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "9",
    "bestRating": "10",
    "worstRating": "1",
    "ratingCount": "20"
  }
}
</script>

Review snippets(レビュースニペット)の属性

Review snippets(レビュースニペット)の構造化データには次のような属性を使用します。

属性 必須 説明
itemReviewed 必須 レビュー対象のアイテムに関する情報
reviewBody 推奨 レビューの文章
author 必須 レビューの著者
datePublished 推奨 レビューの公開日
reviewRating 推奨 評価点数
reviewRating.ratingValue 推奨 評価の平均
reviewRating.bestRating システムで許可されている最高得点
空欄の場合「5」が適用されます。
reviewRating.worstRating システムで許可されている最低得点
空欄の場合「1」が適用されます。
publisher 推奨 レビューの発行者

Aggregated rating properties(総合評価)の属性

Aggregated rating properties(総合評価)の構造化データには次のような属性を使用します。

属性 必須 説明
itemReviewed 必須 評価対象に関する情報
ratingCount 必須 評価した人の数(レビューを書いたかどうかに関わらず、点数評価を付けた人の数)
ratingCountreviewCountいずれかが必須
reviewCount 必須 レビューの数(点数評価をしたかどうかに関わらず、レビューを書いた人の数)
ratingCountreviewCountいずれかが必須
ratingValue 必須  評価点数
bestRating 必須 システムで許可されている最高得点
空欄の場合「5」が適用されます。
worstRating 必須 システムで許可されている最低得点
空欄の場合「1」が適用されます。

参考