JSON-LD(構造化データ形式)
JSON-LD(JavaScript Object Notation for Linked Data)は、Googleが推奨する構造化データの記述形式です。リンクトデータ形式のJSONをスクリプトブロックとしてページに埋め込み、表示されるHTMLには手を加えずに、そのページが扱うエンティティを検索エンジンへ伝えます。
JSON-LDは、typeにapplication/ld+jsonを指定したscriptタグの中に置かれ、通常はページのheadまたはbodyに記述します。描画されるマークアップとは独立しているため、microdataやRDFaのようにHTMLの各要素へ属性を差し込む必要がありません。これがGoogleがJSON-LDを推奨する理由であり、レイアウトを崩さずに追加・検証・削除ができる最も扱いやすい形式である理由です。各ブロックはschema.orgの語彙を指す@contextと、エンティティの種類を示す@typeを備えた自己完結したオブジェクトなので、機械は文章から意味を推測するのではなく、ページをデータとして読み取れます。
1つのブロックで商品、記事、組織、パンくずリスト、集約されたレビュー評価などを記述でき、複数のブロックを1ページに同居させられます。形式は単なるJSONなので、テンプレートで生成するのもバリデーターで読み取るのも容易で、テンプレートを直接編集できない場合はタグマネージャーでページ読み込み後に挿入することもできます。@idを使ってエンティティを参照でリンクすることもできるため、Productブロックは、ブランドの詳細を繰り返さずに、その商品を販売するOrganisationを指し示せます。
単一産地のコーヒーを販売するShopifyストアを考えてみます。商品テンプレートは、ratingValueが4.7でreviewCountが213件のAggregateRatingブロック、priceが2,900円でpriceCurrencyがJPY、availabilityがInStockのOfferブロック、そして全ページに置かれ、焙煎所とそのロゴを記述する独立したOrganisationブロックを描画します。運営者がタイムセールを行うとき、テーマはページ上の価格を変更するのと同じ瞬間に、JSON内の価格も再生成しなければなりません。さもないと両者がずれてしまいます。商品が売り切れた場合は、マークアップ内のavailabilityもOutOfStockに切り替える必要があります。そうしないとGoogleが、すでに成り立たない価格や在庫状態を表示し続けるおそれがあります。
JSON-LDはAI回答エンジンにとっても重要です。ChatGPT、Perplexity、Google AI Overviewsは、あるページが何についてのものか、引用に値するかを判断する際に、整形された解析しやすいシグナルに頼ります。適切に記述されたブロックは、商品名、価格、評価、販売者に関する曖昧さを取り除きます。これは引用される保証ではなく、これらのシステムは依然として表示テキストも読みますが、構造化データはページを理解するためのコストを下げ、重要な事実が誤読されにくくします。
率直な注意点として、JSON-LDは訪問者が実際に目にする内容と一致していなければなりません。Googleは、ページに存在しない評価・価格・コンテンツを主張する構造化データをガイドライン違反として扱い、リッチリザルトの抑制や手動による対策につながることがあります。JSONは表示コンテンツと同期させ、テンプレート変更後には検証し、余分な主張を加える場所ではなく、ページを忠実に説明するものとして扱ってください。