構造化データしたい(JSON-LD)
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://example.com/",
"name": "サイト名"
}
</script>
</head>
構造化データは、ページの内容を検索エンジンが理解できる形で書き添えるしくみです。 うまく認識されると、検索結果にパンくずや記事の日付、レビューの星などが表示されることがあります(リッチリザルト)。
語彙(どんな種類・項目があるか)はSchema.orgで定義されています。
書き方にはMicrodata、RDFa、JSON-LDの3つがあります。
このうちJSON-LDは、HTML本体と分けてscriptタグにまとめて書けるため、CMSやテンプレートと相性がよく、いまの主流です。
scriptタグはhead内に置くのが一般的ですが、body内でもかまいません。
JSON-LDの書き方
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事のタイトル"
}
</script>
<script type="application/ld+json">の中に、JSON形式でデータを書きます。
@context… 常に"https://schema.org"。語彙の定義元を指します@type… データの種類(WebSite、Article、BreadcrumbListなど)それ以降 … その種類ごとに決まった項目
警告
中身はJSONなので、最後の項目の後ろにカンマを付けると構文エラーになります。 (JavaScriptのオブジェクトと違い、末尾カンマは許されません)
書いたあとはリッチリザルトテストや スキーマ マークアップ検証ツールで確認します。
サイト情報を伝えたい(WebSite)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"url": "https://example.com/",
"name": "サイト名",
"description": "サイトの説明"
}
</script>
WebSiteは、サイト全体を表す種類です。
トップページに1つ置きます。
urlとnameが基本の項目です。
記事情報を伝えたい(Article)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事のタイトル",
"description": "記事の概要",
"image": "https://example.com/blog/1/ogp.png",
"datePublished": "2026-08-30T09:00:00+09:00",
"dateModified": "2026-08-31T12:00:00+09:00",
"author": {
"@type": "Organization",
"name": "組織名"
}
}
</script>
Articleは、ブログ記事やニュース記事を表す種類です。
各記事ページに置きます。
項目には決まった型があります。
headline… 記事のタイトル(文字列)image… 画像のURL(文字列)。絶対URLにしますdatePublished/dateModified… 日時。2026-08-30または2026-08-30T09:00:00+09:00の形式(ISO 8601)author…PersonまたはOrganizationのオブジェクト。名前だけの文字列にはしません