テクニカルSEO BLOG
テクニカルSEOを中心にSEO対策をまとめています

リッチリザルトテストツールの使い方

こんにちは、テクニカルSEOツール「アナトミー」開発チームの江頭です。

構造化データをテストするには、Googleの公式ツール「リッチリザルトテストツール」(構造化データテストツールの後継ツール)を使います。また、サーチコンソールの構造化データレポートは、Googleがクローリングしたページを一括でチェックしてくれるので便利です。

構造化マークアップは書式が厳格に決まっているので、構文チェックを行い、検索結果にリッチリザルトで表示されることを目指しましょう。

この記事では、リッチリザルトテストツールで構造化マークアップをチェックする方法や、書式エラーの対処方法をまとめて説明します。

リッチリザルトテストとは?

リッチリザルトテストツールは、Webページに設置した構造化データ(構造化マークアップ)の構文が正しいかをチェックするツールです。

リッチリザルトテストツール

構造化マークアップの構文に誤りがあれば、エラーの詳細を報告してくれます。

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

リッチリザルトテストツールの使い方

URLを入力

構造化マークアップをテストしたいURLを入力し、[URLをテスト]ボタンをクリックします。

リッチリザルトテストでテスト対象のURLを入力

HTMLを直接入力

[コード]タブに切り替え、HTMLを貼り付けます。構造化データを含むHTMLを丸ごと指定できます。

リッチリザルトテストツールでコードをテスト

また、JSON-LD形式のscriptタグだけ指定してもOKです。

scriptタグでコードをテスト

[コードをテスト]ボタンをクリックすると、チェックが開始され、検証結果が表示されます。

リッチリザルトテストに成功

上記のように「このページはリッチリザルトの対象です」と表示されていれば、構造化データのマークアップとしては正しいと言えます。

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

構造化マークアップを複数ページに配置していて、サイト全体でテストしたい場合は、専用ツールでのテストをお勧めします。

アナトミーで構造化データを確認する

テクニカルSEOツール「アナトミー」のリッチリザルト分析機能を使うと、構造化データの設定内容を簡単に確認できます。

リッチリザルト分析機能

Googleサーチコンソールで構造化データを確認する

Googleサーチコンソールの「リッチリザルトレポート」では構造化データの構文エラーをチェックしてくれます。

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

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

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

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

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

「一部のマークアップがリッチリザルトの対象ではありません」のとき

以下のように「構造化データに関する解析エラー」が表示されているときは、構造化データに構文エラーがあります。

構造化データテスト結果:構造化データに関する解析エラー

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

「このページはリッチリザルトの対象です」と表示されるが「警告あり」のとき

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

構造化データテスト結果:警告あり

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

「解析不能な構造化データ」「オブジェクト宣言に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!」や「残りわずか!今すぐ購入!」のような宣伝文句をいれることは禁止されています。特に、イベントの構造化データにはセール情報を入れたい気持ちになりますが、構造化データに含めることはできません。

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

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

構造化データテストツールについて

構造化データテストツールは、リッチリザルトテストツールと機能はほぼ同じで、構造化データの構文チェックができます。

ただし、後継ツールとしてリッチリザルトテストツールがリリースされたため、構造化データテストツールは、近い将来、廃止される予定になっています。

まとめ

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

当社ではSEOコンサルティングサービスを提供しており、タイトルや見出しの改善といった内部施策から、ページスピード改善まで柔軟に対応してます。SEO対策にお悩みでしたら、ぜひご利用ください!
アナトミー SEOコンサルティング

Webサイト運用の内製化支援サービス|REBUILD WEB-MKTG-SITE

Page Top