構造化データとは?AIO新時代に向けた構造化データかんたんガイド

当サイトには広告が含まれています。

こんにちは、菅井です。
今回はAIOにとって大切な「構造化データ」について、少し掘り下げて書いていこうと思います。

構造化データというのは前回のブログ記事でも書きましたが、割と重要なものですので、私も勉強を振り返るついでにここに書いていこうと思います。

目次

そもそも構造化データって何?

ざっくり言うと、「このページはこういう内容ですよ」ということを、検索エンジンやAIにもわかる形(マークアップ)で伝えるための仕組みです。

私たち人間はページを見れば、どこがタイトルで、どこが価格で、どこが口コミなのか、感覚的にパッと理解できますが、検索エンジンなどのクローラーロボットは違います。

ソースコードを読んで判断するしかないので、「ここは価格です」「ここはレビューです」ということを、schema.org というルールに沿ったコード(JSON-LDなど)で明示してあげる必要があるんです。

いわば、サイトの内容にラベルを貼ってあげるようなイメージですね。

構造化データの書き方と実装方法

実装方法としては、<head> タグ内に <script type="application/ld+json"> という形でコードを埋め込むのが一般的です。ページの見た目には一切影響しないので、デザインを崩す心配なく追加できます。

例えば、記事ページなら、

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形式でロボットにもわかるように渡してあげているわけです。

また、ショップやサロン系などの場合
(以下はネイルサロンのサンプルです)

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>

NailSalonLocalBusiness の子タイプなので、店舗名・住所・電話番号・営業時間・価格帯といった、実店舗ならではの情報を細かく伝えられるのが特徴です。

口コミが多いサロンさんなら 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はもっともらしい間違いを平気で出してくることがある(ハルシネーション)ので、ここは油断禁物です。

sugai

AIはあくまで作業を効率化してくれる道具です。
仕上げと最終確認は自分の手でしっかりと、という姿勢を忘れないようにしたいですね。

SWELLテーマを使用している場合は自動で出せるブロックもあります

SWELLのFAQブロックで構造化データを出力

WordPressのSWELLテーマを使用されている場合は、

  • FAQブロック
  • 商品レビューブロック

この2つはブロックを設置したあと、右のサイドバーから「構造化データを出力する」をONにすることで、自動で構造化データをhead内に出力してくれますので、ぜひ活用してみてください。

結局、何から手をつければいいの?

いきなり全部を完璧にしようとしなくて大丈夫です。まずは、

  1. Organization / Person(誰が発信しているか)
  2. BreadcrumbList(サイト構造)
  3. 該当ページに合ったもの(記事ならArticle、FAQならFAQページなど)

この基本セットから整えていくのがおすすめです。

構造化データは、いわば縁の下の力持ち。
派手さはないですが、AIにも人にも「ちゃんとしたサイトだな」と伝わる、地味に効いてくる部分だと感じています。

私も自分自身の勉強も兼ねて、少しずつ実践しながら知識をアップデートしていこうと思います。

デザイン作るの難しい〜!と感じたら

デザイン・ホームページで

お困りのことがありましたら、
私たちクートスラボにご依頼ください!
実績多数の女性クリエイターチームが、

どんなお悩みも解決します。

\ 見積もり・ご依頼はこちら! /

シェアお願いします!
  • URLをコピーしました!
目次