
JSON-LD による個人サイトの検索最適化

Ethan Hawksley が、個人サイトにおける JSON-LD (JSON Linked Data) の実装方法を解説するガイドを公開した。構造化データの追加により、検索エンジンの理解度向上とリッチリンクプレビューの取得が見込まれる。
リンク構造化データ形式である JSON-LD は、ウェブページに構造化データを追加するための形式である。Web クローラーがサイトの意味的構造を理解するのを支援し、リッチリンクプレビューの対象となることで、検索ランキングの改善の可能性がある。
JSON-LD の基本的な特性
JSON-LD ドキュメントはラベル付きの有向グラフとして機能し、@graph に保存される。ブラウザーの JavaScript エンジンは application/ld+json 型の script 要素を実行しないが、Googlebot などの専門的なクローラーはこれらの要素を解析する。Web クローラーは Schema.org が定める標準的なコンテキストに基づいて動作する。
同じ ID を持つノードの場合、Web クローラーは複数ページにわたるプロパティをマージできる。一方、LLM などのスクレイパーは1ページのみを読むため、複数ページにわたるプロパティマージを行わない。
個人サイトでの推奨実装
各ノードタイプごとに推奨される実装方法は以下の通りである:
- WebSite ノード — ドメインのルートページで詳細に記述し、他のページではシンプルなバージョンの記述が推奨される
- Person ノード — 個人サイトのすべてのページに含めることが推奨される。LLM クローラーは引用者の決定において Person ノードを参考にしている
- BreadcrumbList — ルートページを除くすべてのページに含めることが推奨される
- BlogPosting ノード — すべての公開ブログ記事に含める必要がある。個人サイトでは author と publisher の両方を同じ Person ノードに指定できる

実装上の注意点
@id は一意に識別するハッシュが付加された URL として指定することがベストプラクティスとされている。BlogPosting のimage プロパティは、リンクプレビュー用の OG image と一致させる必要がある。画像サイズについて、Person ノード用は 1200 × 1200 ピクセル、BlogPosting ノード用は 1200 × 630 ピクセルが推奨される。
Google の公式ドキュメントでは、publisher プロパティを Organization だけでなく Person に設定することが認められている。ビルドステップのない静的サイトであっても、最小限の実装として WebSite、ProfilePage、Person ノードをルートページに追加することで恩恵を受けられる。
Hawksley は約4ヶ月前の初回投稿で自身のサイト構築について説明しており、Wakatime によると現在までに約100時間のコーディングを費やしている(調査およびテスト時間は含まない)。
この記事は元記事の事実のみに基づいて自動生成されました。
出典
Ethan Hawksley「JSON-LD Explained for Personal Websites」https://hawksley.dev/blog/json-ld-explained-for-personal-websites/ (Schema.org、Wakatime の報道による)