[SEO施策]構造化データマークアップをして、店舗やサービスの情報を検索エンジンに伝える方法[構造化, Webサイト制作]

構造化データマークアップをして、店舗やサービスの情報を検索エンジンに伝える方法

構造化データマークアップに関する記事として、これまでに

について書いてきました。

今回は、上記のシリーズの記事と同様に「JSON-LD」という記述法を使って、
お店やサービスの情報について、検索エンジンに明示する方法を書いていきます。

「構造化データマークアップって何? JSON-LDとは?」 という方は、こちらの記事:
[WordPress]JSON-LDでパンくずリストを構造化データマークアップする方法をご覧ください。 構造化データマークアップの基本的な仕組みや考え方について、パンくずリストの構造化を例にして書いてあります。

早速コードをご紹介

お店やサービスの情報を検索エンジンに明示するコードは、次の様になります。
"@type" : "LocalBusiness" を使用します。

<script type="application/ld+json">
{
  "@context" : "http://schema.org",
  "@type" : "LocalBusiness",
  "name" : "Your Service Name",
  "address" : "M県S市M町1-2-3",
  "priceRange" : "¥800,000~¥1,000,000",
  "telephone" : "+8103********",
  "image" : "https://example.com/photos/16x9/thumbnail-16by9.jpg"
}
</script>

解説など

上記のコードが、Googleが提供してくれている公式の構造化データマークアップ検証ツール( リッチリザルトテスト に通して、エラーが出ない最小限の構成になります。

ざっくりと何を記述しているかを書きます。
3~4行目は、いつも通りの、JSON-LD形式で構造化データマークアップを行う際の基本的な形です。
ここで、この構造化データマークアップが「何に対しての構造化データなのか」ということを定義していることになります。
今回はお店やサービスの情報を構造化したいので、"@type" : "LocalBusiness", を指定。
5行目では店名、サービスの名称を指定。
6行目は、お店やサービスの所在地を指定。(便宜上、サンプルのアドレスを載せています)
こちらの所在地の情報については、緯度経度の情報など、もっと細かく指定することも可能です。
詳しくは、後述するGoogle公式のLocalBusiness構造化の解説ページを参照ください。

7行目は、お店やサービスの大まかな価格帯を設定。
この、価格帯を表す表記方法については定義が曖昧で、githubの、schemaorgのIssue上でも議論を引き起こしていた様です。
英語圏で大体の価格レンジを示す $(安価)~$$$$$(高価) の$マークを重ねて記述することによる表示方法、または実際の価格での範囲表示が有効な模様です。

8行目は、お店やサービスの電話番号を指定。(便宜上、サンプルの電話番号を載せています)
電話番号は、Google公式のLocalBusiness構造化の解説ページで「電話番号には必ず国番号と市外局番を含めてください。」と記載がありますので、先頭に日本を示す国番号+81をつけています。

9行目は、文字通りお店やサービスの画像URLを指定します。

以上の内容を記述しておけば、最小限ですが、お店やサービスの情報を、構造化データマークアップする事ができた、ということになります。

なお、上記は本当に最小限の構成で、リッチリザルトテスト に通して、エラーが出ずに認識される構成となります。

もちろん、以下の公式のガイドに沿って情報を加えていくことで、より詳細に情報を
検索エンジンに伝えることが可能になることでしょう。
Local Business Structured Data | Google Search Central
(ちなみに、なぜ英語版のリンクを載せているかというと、このあと書きます…)

必須項目で挙げられている @id について

日本語版の公式解説ページには、必須の指定項目として挙げられている @id という項目があります。
しかし、公式のサンプルコード内には @id の指定がなく、これを省略しても、特にリッチリザルトテストでもエラーは出ません。

なぜなのか…

と長らく疑問に思っていたのですが、次のリンクに答えがありました。
最新のドキュメントの更新情報 | 検索セントラル | Google Developers
↑このリンク先の、2021年7月22日のアップデート情報に以下の様に記載がありました。

ローカル ビジネスのドキュメントから @id プロパティを削除しました。これは、url プロパティのみでローカル ビジネスを十分に識別できるためです。

※日本語のドキュメントにはまだ反映されていない様ですが、英語版ドキュメントでは、たしかに必須項目から消えていることが確認できました。

…なるほど。そういうことだったんですね。納得しました。

構造化データマークアップを記述する位置

このセクションは、構造化関連の記事では毎回書いていますが、割と重要な点でもあるので
今回も書いておきます。

「ページ内の、どこに構造化データを書いたらいいの?」という疑問についてになります。
この、構造化データマークアップの記述位置についてですが、
Google公式の例を見ると、headタグ内に記述されている例をよく見かけます。

ただし、head内でなくても、動作自体はしてくれるようです。
WordPressなどのCMSで、構造化マークアップ用のテンプレートを用いて、
bodyタグの終了直前にまとめてscriptを読み込むような場合でも、公式の検証ツールで正しく検出されます。

この記述位置に関する疑問に関しては、Googleが見解を以下の動画で配信してくれています。
JSON-LD Structured Data: Where to Insert in a Page?
上記動画の0:51あたりから「答えは “Yes”」「ページのheadや、body内に入れることができるよ」
 くらいのニュアンスの回答を言ってくれているようですね。

リッチリザルトの、Google公式の検証ツールなど

こちらも、以前から書いている構造化データマークアップについてのシリーズ記事と同様のご紹介になりますが、
構造化マークアップが正しく記述できているかどうかを検証する際は、このGoogle公式のツールが便利です。

リッチリザルト テスト – Google Search Console

この記事のまとめ

今回は、
JSON-LD形式で、お店やサービスの情報を構造化データマークアップすることにより、
検索エンジンにそれを明示して伝える方法
について、ご紹介しました。

今回の "@type": "LocalBusiness" の他にも、
ユーザーにより優れた検索体験をしてもらうための
さまざまなリッチリザルトが公式に存在しており、
日々、Google検索の結果に反映されています。

今後も、おもしろそうなリッチリザルト機能をみつけたら、
また構造化についての記事を書いていきます。

※この記事は随時、品質の向上を目的として内容の修正、更新を行う可能性があります。