こんにちは、菅井です。
今回はAIOにとって大切な「構造化データ」について、少し掘り下げて書いていこうと思います。
構造化データというのは前回のブログ記事でも書きましたが、割と重要なものですので、私も勉強を振り返るついでにここに書いていこうと思います。
そもそも構造化データって何?


ざっくり言うと、「このページはこういう内容ですよ」ということを、検索エンジンやAIにもわかる形(マークアップ)で伝えるための仕組みです。
私たち人間はページを見れば、どこがタイトルで、どこが価格で、どこが口コミなのか、感覚的にパッと理解できますが、検索エンジンなどのクローラーロボットは違います。
ソースコードを読んで判断するしかないので、「ここは価格です」「ここはレビューです」ということを、schema.org というルールに沿ったコード(JSON-LDなど)で明示してあげる必要があるんです。
いわば、サイトの内容にラベルを貼ってあげるようなイメージですね。
構造化データの書き方と実装方法
実装方法としては、<head> タグ内に <script type="application/ld+json"> という形でコードを埋め込むのが一般的です。ページの見た目には一切影響しないので、デザインを崩す心配なく追加できます。
例えば、記事ページなら、
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事のタイトル",
"author": {
"@type": "Person",
"name": "著者名"
},
"datePublished": "YYYY-MM-DD",
"publisher": {
"@type": "Organization",
"name": "運営者名・サイト名"
}
}
</script>このように、「これは記事(Article)です」「著者は〇〇です」「公開日はこの日です」ということを、JSON形式でロボットにもわかるように渡してあげているわけです。
また、ショップやサロン系などの場合
(以下はネイルサロンのサンプルです)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NailSalon",
"name": "サロン名",
"image": "サロンの画像URL",
"telephone": "電話番号",
"priceRange": "¥¥",
"address": {
"@type": "PostalAddress",
"streetAddress": "番地・建物名",
"addressLocality": "市区町村",
"addressRegion": "都道府県",
"postalCode": "郵便番号",
"addressCountry": "JP"
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "10:00",
"closes": "19:00"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "32"
}
}
</script>NailSalon は LocalBusiness の子タイプなので、店舗名・住所・電話番号・営業時間・価格帯といった、実店舗ならではの情報を細かく伝えられるのが特徴です。
口コミが多いサロンさんなら aggregateRating を入れておくと、検索結果に星評価が表示されやすくなるので、地図検索やローカルSEOとの相性もいいですね。
このような形でクローラーに読み取らせて、検索エンジンのAIエージェントに覚えてもらおうというのが設置の狙いの一つです。
なぜAIO時代に構造化データが重要なのか?


以前のミニセミナーの記事でも書きましたが、AIはサイトのスクリーンショットだけでなく、ソースコードや構造もしっかり見て内容を理解しようとします。
その際、構造化データがあると「このページの著者は誰か」「これはFAQなのか、レシピなのか、商品情報なのか」ということを、AIが誤解なく読み取りやすくなります。
つまり、AIに正確に、かつスムーズに内容を理解してもらうための「通訳」のような役割を果たしてくれるということになります。
人間には曖昧でも伝わることが、AIには曖昧なまま伝わらないことがある。
だからこそ、この一手間が効いてくるんですね。
入れるとサイトはどう変わるの?
わかりやすいところで言うと、検索エンジンの結果にリッチリザルト(星評価や画像、FAQの折りたたみなど)が引用されやすくなります。
これは単純に見た目が目立つので、クリック率にも良い影響が出やすいです。
そしてAIOの観点で言えば、AIエージェントが情報を引用・回答生成する際の「材料」として扱いやすくなるというメリットもあります。
内容が正確に伝わりやすい=引用してもらいやすい、というのは、前回の記事でお伝えした内容ともつながってきます。


構造化データにはどんな種類がある?
代表的なものをいくつか挙げると、こんな感じです。
- Article(記事)
- FAQPage(よくある質問)
- Product(商品情報)
- Review / AggregateRating(レビュー・評価)
- BreadcrumbList(パンくずリスト)
- Organization / Person(運営者・執筆者情報)
このあたりは、サイトの種類やページの目的によって組み合わせるのが基本です。
全部盛り込めばいいというものではなく、実態に合ったものだけを正しく入れることが大切です。
ですので、ひとまず上記の項目さえ埋めておけば、一般的なサイトでは十分だと思います。
実装するときの注意点は?


一番気をつけたいのは、「ページの内容と構造化データの内容が一致していること」です。
見えている情報と、マークアップしている情報がズレていると、これはスパム的な扱いを受けてしまう可能性があります。
あとは、@graph でまとめて複数のスキーマを関連づける書き方をすると、サイト全体の文脈がより伝わりやすくなるのでおすすめです。
実装したら、Googleの「リッチリザルトテスト」などで、ちゃんとエラーなく認識されているかを必ず確認するようにしましょう。ここを飛ばしてしまうと、せっかく入れたのに機能していない、ということになりかねません。
注:構造化データを入れたからといってすぐ結果が出るわけではない
構造化データはあくまで縁の下の力持ち。クローラーへの補助的なタグのようなものです。
極端な話、中身が薄いページにどれだけ丁寧にマークアップを施しても、「薄い内容を、正確にAIに伝えている」だけになってしまいます。
コーディングやラベルがどれだけ整っていても、中身がスカスカでは意味がありません。
そして、構造化データを設定したからといって、それだけで検索順位が急上昇したり、AIの回答にすぐ引用されるようになったりするわけでもありません。
あくまで、良質なコンテンツがある上で、その価値を正しく伝わりやすくする補助です。効果がじわじわ出るものであって、即効性を期待するものではない、と捉えておいたほうがいいと思います。


コード作成にはAIを活用しよう
「これ、毎回手打ちで書くの結構しんどいな…」と思いますよね。実際かなりめんどくさいです。
プロパティの名前を覚えたり、階層構造を間違えずに書いたり、地味に神経を使う作業なんですよね。カンマの打ち忘れひとつでエラーになったりもします。
そこでおすすめなのが、ChatGPTやClaude、Geminiといった生成AIエージェントに手伝ってもらう方法です。
例えば、
「このページの内容でArticleの構造化データをJSON-LD形式で作って」
「この情報を元にFAQPageのスキーマを書いて」
というように、ページの内容や必要な情報を伝えるだけで、たたき台を作ってくれます。
ゼロから書くよりも圧倒的に速いですし、プロパティの書き漏らしも減ります。
ただし、AIが出してくれたコードをそのまま貼り付ける前に、必ず内容のチェックを行ってください。
- 実際のページ内容とズレていないか
- 必須プロパティが抜けていないか
- 記述ミス(構文エラー)や書き間違いがないか
このあたりは、必ず人の目でチェックしましょう!
前回の記事でも書きましたが、AIはもっともらしい間違いを平気で出してくることがある(ハルシネーション)ので、ここは油断禁物です。



AIはあくまで作業を効率化してくれる道具です。
仕上げと最終確認は自分の手でしっかりと、という姿勢を忘れないようにしたいですね。
SWELLテーマを使用している場合は自動で出せるブロックもあります


WordPressのSWELLテーマを使用されている場合は、
- FAQブロック
- 商品レビューブロック
この2つはブロックを設置したあと、右のサイドバーから「構造化データを出力する」をONにすることで、自動で構造化データをhead内に出力してくれますので、ぜひ活用してみてください。
結局、何から手をつければいいの?
いきなり全部を完璧にしようとしなくて大丈夫です。まずは、
- Organization / Person(誰が発信しているか)
- BreadcrumbList(サイト構造)
- 該当ページに合ったもの(記事ならArticle、FAQならFAQページなど)
この基本セットから整えていくのがおすすめです。
構造化データは、いわば縁の下の力持ち。
派手さはないですが、AIにも人にも「ちゃんとしたサイトだな」と伝わる、地味に効いてくる部分だと感じています。
私も自分自身の勉強も兼ねて、少しずつ実践しながら知識をアップデートしていこうと思います。





