概要
JSON-LD はウェブページに構造化データを追加するためのフォーマット SEO やリッチリンクプレビュー、検索順位向上に貢献 Schema.org ベースでノードごとに適切な型・プロパティを設定 主要ノード: WebSite, WebPage, Person, ProfilePage, SoftwareApplication, BreadcrumbList, CollectionPage ページごとに適切なノードを選択・実装が推奨
JSON-LDの基本と導入方法
- JSON-LD (JSON Linked Data)は、ウェブページに 構造化データ を追加するためのフォーマット
- Webクローラー がサイトの意味的構造を理解しやすくなり、 リッチなリンク表示 や SEO向上 に寄与
<script type="application/ld+json">タグ内にJSON-LDを記述し、 head要素 内に配置するのが基本- このMIMEタイプ指定により、 ブラウザのJSエンジン では実行されず、Googlebot等の 専用クローラー が解析
{ "@context": "https://schema.org" }で Schema.org スキーマを指定し、 有効なキー・値ペア の範囲を定義- JSON-LDは
@graph配下に ラベル付き有向グラフ としてノードを記述- 各ノードは
@type(型)、@id(一意な識別子)、 プロパティ (属性値ペア)を持つ
- 各ノードは
主要ノードの使い方
WebSiteノード
- サイト全体の メタデータ を記述
- name, url, alternateName, description, inLanguage, publisher, image 等のプロパティを活用
- ルートページには 詳細版、他ページには 簡易版 を使用可能
WebPageノード
- 現在のページ 自体を表現
@type: WebPageで、 物理的なHTMLページ を指す- name, url, isPartOf, inLanguage, breadcrumb 等を記述
- ProfilePage, CollectionPage などの サブタイプ も存在
Personノード
- 個人サイト では必須。 運営者情報 を詳細に記述
- name, givenName, familyName, image, sameAs, url が特に重要
- sameAs で他のプロフィールやSNSアカウントを明示し、 知識グラフ の構築に貢献
- affiliation, alumniOf, nationality, jobTitle 等で詳細な情報も追加可能
ProfilePageノード
- 人物紹介ページ 等に使用
- isPartOf でWebSiteと関連付け、 mainEntity で誰のページか明示
- dateCreated, dateModified で新鮮さもアピール
SoftwareApplicationノード
- ソフトウェア紹介ページ に適用
- name, url, description, applicationCategory, operatingSystem, creator, sameAs, offers 等を記述
- offers.price はFOSSの場合でも0を明示
BreadcrumbListノード
- パンくずリスト を構造化データで表現
- itemListElement 配下に ListItem として階層情報を記述
- SEO上のパス表現 をコントロールしやすくなる
CollectionPageノード
- リスト主体のページ (例:ブログ一覧、プロフィール一覧)で使用
- name, description, isPartOf, about, breadcrumb 等を記述
- breadcrumb は必ず該当ページのものを参照
JSON-LD設計のポイント
- @id はURL+ハッシュで ユニーク性 を確保
- 複数ページで同じ@idを使う場合 は、クローラーによる プロパティ統合 を考慮
- Schema.org には多様なノード型が存在。 SEO効果が高い型 を優先的に実装
- 詳細な記述 が推奨されるが、プロパティは 必要に応じて省略 も可能
まとめ
- JSON-LD は SEO・リッチ表示 ・ 機械可読性向上 に有効
- 主要ノード をページ種別ごとに適切に選択・設計
- 構造化データ の充実が、 検索エンジンやAI による理解・評価を高める
- Schema.org の公式ドキュメントも適宜参照し、 最新仕様 に準拠した実装が重要