2025年5月3日
2025年5月3日
はじめに
人間だけでなくコンピューターも理解できるWebサイトを構築することは、Webの相互運用性を高め、Webのビジョンの1つであるセマンティックWebを実現する上で非常に重要です。最近ではLLM(Large Language Model)の利用率が急増し、セマンティックWebのニーズがますます高まっています。
そこで今回は、Schema.orgというコミュニティが開発している語彙(vocabulary)を学びます。語彙を使用することでWebサイトのコンテンツが整理され、コンピューターがコンテンツをより正確に解析できるようになります。
Schema.orgって何?
Schema.orgはインターネット上の構造化データのスキーマを作成し、普及させることを目的に活動しているコミュニティです。Google、Microsoft、Yahoo、Yandexなどの企業とWebコミュニティの人々で構成されています。Schema.orgの参加者は、GitHubやメーリングリストで語彙に関する提案や議論を行っています。
基本用語
語彙
Schema.orgにおける語彙とは、スキーマの構成要素を指します。あらゆるスキーマを作成するための基本となるプロパティやデータ構造は語彙の一部です。
スキーマ
スキーマとは、データを記述するための仕組みです。Schema.orgは、開発者が様々な概念を記述できるようにするために、複数のスキーマを提供しています。
構造化データ
構造化データとは、スキーマに従って記述されたデータです。Schema.orgの語彙に基づいたスキーマを使用して構造化データを作成する場合は、複数の形式で記述できます。
構造化データの具体例
構造化データは語彙とスキーマを包含しているため、具体的な構造化データを用いることで用語の意味が理解しやすくなります。ここでは、Articleスキーマを参考にしながら用語を整理します。
Articleスキーマに基づいた構造化データ
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEOの基礎知識",
"datePublished": "2023-10-05T09:00:00+09:00",
"author": {
"@type": "Person",
"name": "佐藤花子"
},
"publisher": {
"@type": "Organization",
"name": "WebTech Inc.",
"logo": {
"@type": "ImageObject",
"url": "https://webtechinc.example.com/logo.png",
"width": "600",
"height": "60"
}
},
"description": "SEOの基本概念と実践方法について解説します",
"image": {
"@type": "ImageObject",
"url": "https://webtechinc.example.com/images/seo-basics.jpg",
"width": "1200",
"height": "800"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://webtechinc.example.com/articles/seo-basics"
}
}
この構造化データでは、Articleスキーマの以下の語彙(プロパティ)が使用されています。
- @context: Schema.orgの語彙を使用することを宣言するURL
- @type: データの種類(この場合は「Article」)
- headline: 記事のタイトル
- datePublished: 記事が公開された日時
- author: 記事の著者情報(Person型)
- publisher: 記事の発行者情報(Organization型)
- description: 記事の簡潔な説明
- image: 記事に関連する画像情報(ImageObject型)
- mainEntityOfPage: この構造化データが表すページのURL
- logo: 発行組織のロゴ情報(ImageObject型)
これらのプロパティからなる構造化データは、JSON-LD形式やMicrodata形式などの複数の形式で表現できますが、現在はマークアップ形とコンテンツを分離するために、JSON-LD形式で表現することが推奨されています。先ほどの例はJSON-LD式で記述されており、scriptタグを使用することでHTMLに埋め込めます。
<!DOCTYPE html>
<html>
<head>
<title>SEOの基礎知識 - WebTech Inc.</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEOの基礎知識",
"datePublished": "2023-10-05T09:00:00+09:00",
"author": {
"@type": "Person",
"name": "佐藤花子"
},
"publisher": {
"@type": "Organization",
"name": "WebTech Inc.",
"logo": {
"@type": "ImageObject",
"url": "https://webtechinc.example.com/logo.png",
"width": "600",
"height": "60"
}
},
"description": "SEOの基本概念と実践方法について解説します",
"image": {
"@type": "ImageObject",
"url": "https://webtechinc.example.com/images/seo-basics.jpg",
"width": "1200",
"height": "800"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://webtechinc.example.com/articles/seo-basics"
}
}
</script>
</head>
<body>
<!-- ページコンテンツ -->
</body>
</html>