CLUSTER SEO BLOG
テクニカルSEOにフォーカスしたSEO対策をまとめています

構造化データテストツールの使い方

こんにちは、テクニカルSEO対策サービス「CLUSTER SEO」開発チームの江頭です。

構造化データは書式が厳格に決まっているので、正しく実装しないと、検索結果にリッチリザルト表示されません。そこでGoogleの公式ツール「構造化データテストツール」が役に立ちます。すでに公開されたページなら、サーチコンソールの構造化データレポートも便利です。

この記事では、構造化データテストツールの使い方やエラーの対処方法をまとめて説明します。

特定ページの構造化データをテストする

ある1ページに対して、構造化データをテストするには、 「構造化データテストツール」 を使います。

構造化データテストツールの使い方

URLを入力するか、 [コードスニペット]タブでHTMLを貼り付け、[テストを実行]をクリックします。

構造化データのテスト

JSON-LD形式の場合、scriptタグだけでもOKです。複数のscriptタグを記述できます。

構造化データテストツールでコード断片をテスト

テスト実行後、すぐに検証結果が表示されます。

構造化データテストツールの結果(エラーなし)

エラーがなければ、構造化データのマークアップとしては正しいと言えます。

サイト全体の構造化データをテストする

構造化マークアップを複数ページに配置していて、サイト全体でテストしたい場合は、サーチコンソールの「リッチリザルトレポート」を使うのがよいでしょう。

ページに構造化データが含まれていると、サーチコンソールの[拡張]メニュー内に項目が追加されます。

サーチコンソールの[拡張]メニュー

「パンくずリスト」など構造化データのタイプをクリックすると、タイプごとのレポートが表示されます。「エラー」の件数をチェックしてみてください。

リッチリザルトレポート(警告あり)

構造化データのエラー・警告への対応

検証結果が「エラーあり」の場合

赤字で「解析不能な構造化データ」オブジェクト宣言にXXXがありません」などとエラー表示されている場合は、構文エラーです。

構造化データテストの結果(エラーあり)

構文エラーがあると、リッチリザルト形式では表示されません。次章「構造化データのエラーの直し方」を参考に、構造化データの書式を見直してください。

検証結果が「警告あり」の場合

推奨プロパティを指定しなかった場合に起こります。構造化データとしては認識されているので、通常はリッチリザルト形式で表示されます。

構造化データのエラーの直し方

「解析不能な構造化データ」「オブジェクト宣言にXXXがありません」と表示される場合は、JSON構文エラーです。

以下に、エラーメッセージ別に直し方を列挙してみました。

構文エラー: 「}」またはオブジェクト メンバー名がありません

もっとも遭遇するエラーです。JSONでは、{}内の最後の項目の後ろに,を記述してはいけないことになっています。

誤:最後から2行目の}の直後にある,が構文エラー

{
  "@context" : "http://schema.org",
  "@type" : "Event",
  "name" : "自社サイトの課題が分かるアクセス解析実践セミナー",
  "startDate" : "2020-01-29T15:00+09:00",
  "location" : {
    "@type" : "Place",
    "name" : "株式会社シンメトリック",
    "address" : "東京都渋谷区富ケ谷2丁目43番15号 山崎ビル6F"
  },
}

正:}直後の,を削除

{
  "@context" : "http://schema.org",
  "@type" : "Event",
  "name" : "自社サイトの課題が分かるアクセス解析実践セミナー",
  "startDate" : "2020-01-29T15:00+09:00",
  "location" : {
    "@type" : "Place",
    "name" : "株式会社シンメトリック",
    "address" : "東京都渋谷区富ケ谷2丁目43番15号 山崎ビル6F"
  }
}

そのほか、"(ダブルクォーテーション)を使わずに'(シングルコーテーション)を使って項目を囲んだ場合も同じエラーになります。

誤:'(シングルコーテーション)を使っている

{
  '@context' : 'http://schema.org',
  '@type' : 'Event',
  'name' : '自社サイトの課題が分かるアクセス解析実践セミナー',
  'startDate' : '2020-01-29T15:00+09:00',
  'location' : {
    '@type' : 'Place',
    'name' : '株式会社シンメトリック',
    'address' : '東京都渋谷区富ケ谷2丁目43番15号 山崎ビル6F'
  }
}

正:'(シングルコーテーション)を使わずに"に変更

{
  "@context" : "http://schema.org",
  "@type" : "Event",
  "name" : "自社サイトの課題が分かるアクセス解析実践セミナー",
  "startDate" : "2020-01-29T15:00+09:00",
  "location" : {
    "@type" : "Place",
    "name" : "株式会社シンメトリック",
    "address" : "東京都渋谷区富ケ谷2丁目43番15号 山崎ビル6F"
  }
}

構文エラー: 「,」または「}」がありません

FAQマークアップで発生しやすいエラーです。文字列の値に"(ダブルクォーテーション)を記述していると、このエラーになります。値の中に"を記述する場合は、"と記述してください。もしくは、値の中に'(シングルコーテーション)は記述できるので、'で問題ない場合は置き換えてください。

誤:値に"(ダブルクォーテーション)をそのまま使っている

{
  "@context" : "http://schema.org",
  "@type" : "FAQPage",
  "mainEntity": [{
    "@type" : "Question",
    "name" : "ビッグワードとは何ですか?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "検索ボリュームが多いワードを指します。詳しくは<a href="bigword.html">ビッグワードとは?</a>をご覧ください。"
    }
  }]
}

正:"(ダブルクォーテーション)を"に置き換え

        (中略)

      "text": "検索ボリュームが多いワードを指します。詳しくは<a href="bigword.html">ビッグワードとは?</a>をご覧ください。"

        (中略)

正:"(ダブルクォーテーション)を'に置き換え

        (中略)

      "text": "検索ボリュームが多いワードを指します。詳しくは<a href='bigword.html'>ビッグワードとは?</a>をご覧ください。"

        (中略)

構文エラー: 値の型が正しくありません

'(シングルコーテーション)を使って値や囲んだ場合に発生します。JSONでは、文字列リテラルを"(ダブルクォーテーション)で囲む必要があります。

誤:

  "startDate" : '2020-01-29T15:00+09:00',

正:

  "startDate" : "2020-01-29T15:00+09:00",

構文エラー: 項目「xxxx」のオブジェクトタイプが無効です

@typeの記述漏れの場合に発生します。@typeはすべての中括弧ブロック({}内)に記述してください。

誤:@typeの記述もれ

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "position": 1,
      "name": "HOME",
      "item": "https://cluster-seo.com/"
    },
    {
      "position": 2,
      "name": "SEO",
      "item": "https://cluster-seo.com/blog/category/seo/"
    }
  ]
}

正:@typeの記述を追加

        (中略)

    {
      "@type": "ListItem",
      "position": 1,
      "name": "HOME",
      "item": "https://cluster-seo.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "SEO",
      "item": "https://cluster-seo.com/blog/category/seo/"
    }

        (中略)

構文エラー: 項目「xxxx」がありません

省略できない項目を記述漏れした時に発生するエラーです。項目名を間違えた時にも起こります。

誤:acceptedAnswer内にtitle項目がない(項目名を間違えてnameと記述)

{
  "@context" : "http://schema.org",
  "@type" : "FAQPage",
  "mainEntity": [{
    "@type" : "Question",
    "name" : "ビッグワードとは何ですか?",
    "acceptedAnswer": {
      "@type": "Answer",
      "name": "検索ボリュームが多いワードを指します。"
    }
  }]
}

正:acceptedAnswer内にtitle項目を追加

{
  "@context" : "http://schema.org",
  "@type" : "FAQPage",
  "mainEntity": [{
    "@type" : "Question",
    "name" : "ビッグワードとは何ですか?",
    "acceptedAnswer": {
      "@type": "Answer",
      "title": "検索ボリュームが多いワードを指します。"
    }
  }]
}

リッチリザルトで表示されないときのチェックポイント

構造化データテストツールでは合格したのに、リッチリザルトで表示されない場合は、以下の2つの可能性があります。

  1. Googleが通常の検索結果を選択した
  2. 構造化データがガイドライン違反と判断された

Googleが通常の検索結果を選択した

構造化データを記述したら、必ずリッチリザルト表示されるというわけではありません。上位に表示されるなど、複数の条件があります。SEO対策としてできることは、構造化データのガイドラインに沿ってページを運用し続けることでしょう。

構造化データがガイドライン違反と判断された

構造化データのガイドラインチェックは非常に厳しいです。違反している構造化データはブラックハットSEOとみなされ、検索結果にリッチリザルト表示されません。それどころか、そのページが検索結果に表示されなくなることもあります。SEO対策において、ガイドライン順守はMUSTとしましょう。

実際、Googleは構造化データのガイドラインについて、次のように言及しています。

構造化データが Google 検索結果に表示されるようにするには、これらのガイドラインに準拠する必要があります。コンテンツのガイドラインに違反しているページやサイトは、ランクが下がったり、Google 検索のリッチリザルトの対象外としてマークされたりすることがあり、ユーザーに高品質の検索エクスペリエンスを提供し続けることができなくなる場合があります。ページ内でスパム行為のある構造化データまたはコンテンツが見つかった場合、Google はそのページに対して手動による対策をとります。

https://developers.google.com/search/docs/guides/sd-policies?hl=ja

また、構造化データ共通のガイドライン以外に、「イベント」や「ぱんくずリスト」など、データ種別ごとのガイドラインもあります。 ガイドライン違反には注意したいものですね。

このガイドラインの中で、特に違反が多そうなものを3つピックアップしてみました。

構造化データの内容をページに表示していない

ページ内に掲載していない情報を、構造化データだけに追加するのはNGです。

たとえば、「イベント情報について画面上には一切表示していないのに、イベントの構造化データを追加する」ようなケースです。

意図的に構造化データを作成するケースは別として、実際にありえそうなのは「マークアップ作業上の人的ミス」です。構造化データをJSON-LD形式で記述した場合は、「表示されるコンテンツを表すタグ」と「構造化データを表すscriptタグ」の位置が離れていることが多いので、気づかずにガイドライン違反を犯してしまうパターンが多そうです。

広告や割引情報など宣伝を含めている

構造化データに「今月まで50%OFF!」や「残りわずか!今すぐ購入!」のような宣伝文句をいれることは禁止されています。特に、イベントの構造化データにはセール情報を入れたい気持ちになりますが、構造化データに含めることはできません。

不適切なデータ型やプロパティを使用している

構造化データのうち、「イベントの名前にイベントの日付を入れる」「口コミの投稿者名に価格を入れる」のように、不適切なデータ項目の利用も、ガイドライン違反になります。

リッチリザルト テストツールについて

Googleは構造化データテストツールの提供を終了予定です。(2020年7月時点では提供を継続中です。)今後は「リッチリザルト テストツール」を使用してください。

今後は構造化データテストツールではなくリッチリザルトテストツールの使用が推奨される

リッチリザルト テストツールの使い方は構造化データテストツールとほぼ同じです。ただし、構造化データテストツールと違い、Googleがリッチリザルトとして利用していない構造化データは検証の対象外となります。

まとめ

以上、構造化データのテスト方法を説明しました。構造化データの推奨項目は変更されることがあるので、サーチコンソールのレポートは時々チェックしておきたいですね。

弊社では既存コンテンツのキーワード・リンクを再設計してビッグワードを狙う SEO サービス「CLUSTER SEO」を提供しています。「オウンドメディアはあるけれど成果が上がらない…」というお悩みをお持ちでしたら、ぜひご利用ください!
⇒テクニカルSEO対策サービス「CLUSTER SEO」

Page Top