ローカルビジネス構造化データを解説:Googleの必須・推奨プロパティ、JSON-LDの完全な例、営業時間、複数店舗、検証方法、AIの回答での可視性まで。

要点
ローカルビジネス構造化データ(LocalBusiness スキーマ)は、実店舗を持つビジネスを検索エンジンに説明する構造化データのブロックで、通常は JSON-LD で記述します。業種、名称、住所、電話番号、座標、営業時間、ウェブサイトを伝えます。Google が必須としているのは name と address だけですが、位置座標、営業時間、電話番号、URL、価格帯の記述も推奨しています。このマークアップは、Google や AI アシスタントがあなたのサイトを、Google ビジネス プロフィール(Google Business Profile)やディレクトリで把握しているビジネスと結びつける助けになります。ただしプロフィールの代わりにはならず、リッチリザルトの表示も保証されません。
さらに詳しく知るには、こちらに質問
ローカルビジネス構造化データは、店舗、レストラン、クリニック、代理店などの連絡先ブロックを機械が読めるデータに変えるスキーママークアップの一種です。Google はローカルビジネスの構造化データに関するガイドで仕様を公開しており、語彙は schema.org/LocalBusiness に由来します。このガイドでは、そのまま応用できる完全な例、押さえるべきルール、そしてマークアップを無意味にしてしまうミスを紹介します。
LocalBusiness は schema.org の型で、「特定の実店舗ビジネス、または組織の支店」を表します。Organization と Place という 2 つの親の型を継承しているため、企業のプロパティ(ロゴ、電話番号、SNS のプロフィール)と場所のプロパティ(住所、座標、地図、営業時間)の両方を使えます。
schema.org には 30 の直接のサブタイプがあり、その多くにさらに下位の型があります。Google は利用可能な最も具体的なサブタイプを使うよう求めています。歯科医院なら Dentist、パン屋なら Bakery、法律事務所なら LegalService または Attorney です。よく使われる型は次のとおりです。
| 業種 | 推奨される型 | 親の型 |
|---|---|---|
| レストラン、カフェ、バー | Restaurant, CafeOrCoffeeShop, BarOrPub | FoodEstablishment |
| 小売店 | ClothingStore, HardwareStore, Florist... | Store |
| 歯科医院、医師、薬局 | Dentist, Physician, Pharmacy | MedicalBusiness |
| 美容院、スパ、ネイルサロン | HairSalon, DaySpa, NailSalon | HealthAndBeautyBusiness |
| 配管業者、電気工事業者、屋根工事業者 | Plumber, Electrician, RoofingContractor | HomeAndConstructionBusiness |
| 弁護士、公証人 | Attorney, Notary | LegalService |
| ホテル、朝食付きの民宿 | Hotel, BedAndBreakfast | LodgingBusiness |
| 自動車整備工場、自動車ディーラー | AutoRepair, AutoDealer | AutomotiveBusiness |
| 会計士、銀行の支店 | AccountingService, BankOrCreditUnion | FinancialService |
| 代理店、コンサルタント、その他の専門事務所 | ProfessionalService | LocalBusiness |
複数の型に当てはまる場合、Google は配列を受け付けます。たとえば ["Store", "AutoRepair"] です。この目的での additionalType はサポートされていません。
Google のドキュメントでは、プロパティが 2 つのグループに分かれています。必須は 2 つだけで、マークアップを役立つものにするのは推奨プロパティです。
| プロパティ | Google での扱い | 記入する内容 |
|---|---|---|
name | 必須 | 店頭の看板やビジネス プロフィールとまったく同じビジネス名 |
address | 必須 | 番地、市区町村、地域、郵便番号、国コードを含む PostalAddress |
geo | 推奨 | 小数点以下 5 桁以上の緯度と経度 |
openingHoursSpecification | 推奨 | 曜日、開店・閉店時刻、季節ごとの例外 |
telephone | 推奨 | 国番号と市外局番を含む代表番号 |
url | 推奨 | その店舗専用の有効なページ |
priceRange | 推奨 | "$$" や "$20-50" のような相対的な価格帯(100 文字未満) |
menu, servesCuisine | 推奨(飲食店) | メニューの URL と料理のジャンル |
department | 推奨 | 独自の営業時間や電話番号を持つ部門(スーパー内の薬局など) |
aggregateRating, review | レビューサイトのみ推奨 | あなたのサイトが集めた他のビジネスの評価。自社の評価は絶対に不可 |
image, logo, sameAs, areaServed, hasMap | Google の一覧にはないが schema.org では有効 | 写真、ロゴ、プロフィールの URL、対応エリア、地図リンク:エンティティの理解に役立つ |
最後の行は AI での可視性にとって重要です。sameAs はページをビジネス プロフィール、SNS アカウント、ディレクトリの掲載情報と結びつけ、これらのプロフィールが同じエンティティを表していることをあらゆるシステムが確認しやすくします。
JSON-LD は Google が推奨する形式で、タイプが application/ld+json の script タグを、店舗ページの head または body に配置します。架空の歯科医院の完全な例を示しますので、自社のデータに合わせて調整してください。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dentist",
"@id": "https://www.example-dental.com/lyon/#business",
"name": "Example Dental Lyon",
"url": "https://www.example-dental.com/lyon/",
"image": "https://www.example-dental.com/images/lyon-front.jpg",
"logo": "https://www.example-dental.com/images/logo.png",
"telephone": "+33 4 00 00 00 00",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Rue de la République",
"addressLocality": "Lyon",
"postalCode": "69002",
"addressRegion": "Auvergne-Rhône-Alpes",
"addressCountry": "FR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.76012,
"longitude": 4.83584
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:30",
"closes": "19:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "12:30"
}
],
"sameAs": [
"https://www.facebook.com/exampledentallyon",
"https://www.linkedin.com/company/example-dental"
]
}
</script>この例を堅牢にしているポイントは 3 つあります。@id はビジネスに固定の識別子を与え、サイト内の他のブロック(Organization、Service、Review)から参照できるようにします。座標は Google の求めるとおり小数点以下 5 桁です。そして url はトップページではなく店舗ページを指しています。コードを手書きしたくない場合は、無料のスキーマジェネレーターでフォームからブロックを作成できます。
営業時間が同じ曜日のグループごとに OpeningHoursSpecification オブジェクトを 1 つ使います。Google のドキュメントは次のような特殊なケースもカバーしています。
opens を "00:00"、closes を "23:59" にします。opens と closes をどちらも "00:00" にします。validFrom と validThrough の日付(YYYY-MM-DD)を追加します。営業時間が変わったら、ビジネス プロフィールと同時にマークアップも更新してください。両者の営業時間の食い違いは、Google や AI の回答で誤った情報が出るよくある原因です。
各店舗には、専用のページと、専用の LocalBusiness ブロック、住所、電話番号、営業時間が必要です。トップページの 1 つのブロックに 10 件の住所を詰め込まないでください。トップページにはブランドの Organization ブロックを置き、各店舗ページは parentOrganization でそれを参照します。こうしたページの作り方は、複数店舗の SEO と地域別ランディングページのガイドで解説しています。
スーパー内の薬局や自動車ディーラー内のサービスセンターは department 配列に入れ、本体のビジネスと異なるプロパティだけを記述します。Google は、部門に独自のブランドがない限り、「{店舗名} {部門名}」という名前を付けることを推奨しています。
顧客の自宅で作業する配管業者でも、登記上の事業所の住所で LocalBusiness を使い、対応エリアを areaServed で記述できます。Google は areaServed を自社のプロパティ一覧に含めていませんが、schema.org では有効で、対応エリアを設定したビジネス プロフィールとページの整合性を保てます。
なりません。Google ビジネス プロフィールは、ローカルパックと Google マップの主な情報源であり続けます。Google のヘルプセンターによると、ローカル検索結果は主に関連性、距離、知名度によって決まり、「完全かつ正確な情報を掲載しているビジネスほど表示されやすくなります」。スキーママークアップは別の側面に働きかけます。プロフィールと同じ内容を、機械が推測せずに読める形式でサイトに語らせるのです。
| 項目 | Google ビジネス プロフィール | LocalBusiness スキーマ |
|---|---|---|
| 保存場所 | Google のシステム内(確認済みのオーナーが管理) | あなたのサイトのコード内 |
| 主な効果 | ローカルパック、マップ、ナレッジパネル、クチコミ | Google、Bing、AI アシスタント向けの明確なエンティティデータ |
| 読み取れる対象 | Google のサービス | ページを読むあらゆるクローラー |
| 確認 | 必須(はがき、動画、電話など) | 不要。ただし表示されている内容と一致している必要あり |
| 優先度 | 第一 | 第二(整合性を保つためのレイヤー) |
両者をつなぐのが NAP の一貫性です。名称(Name)、住所(Address)、電話番号(Phone)を、プロフィール、サイト、マークアップ、ディレクトリで同じ表記にします。ルールの詳細は NAP の定義で、他のローカルシグナルの中でのスキーマの位置づけはローカル SEO のページで解説しています。
店舗ページのテンプレートはすべて 2 つのツールでテストしましょう。Google の機能の対象になるかを確認するリッチリザルト テストと、schema.org に照らして構文を確認する Schema Markup Validator です。当社の構造化データ検証ツールなら、任意の URL をすばやくチェックできます。公開後は、Search Console の拡張レポートでエラーを一括で確認できます。
Google の構造化データに関するポリシーが枠組みを定めています。「ページの読者に表示されないコンテンツをマークアップしないでください。」違反すると手動による対策を受け、リッチリザルトの対象外になることがあります。よく見かけるミスは次のとおりです。
| ミス | 結果 | 対処法 |
|---|---|---|
汎用的な LocalBusiness 型 | 事業内容の理解が不正確になる | 最も具体的なサブタイプを使う |
| 住所や電話番号がビジネス プロフィールと異なる | シグナルが矛盾し、回答に誤ったデータが出る | どこでも同じ NAP にする |
自社について自分で書いた aggregateRating | レビューの星が表示されず、手動による対策の可能性もある | 削除する。自己宣伝的なマークアップなしでレビューを表示する |
| 全店舗をトップページの 1 つのブロックに記述 | 店舗が混同され、どれも自分のページと結びつかない | 1 店舗につき 1 ページ、1 ブロック |
| マークアップの営業時間がページに表示されていない | マークアップが無視される、または問題として報告される | ページ本文に営業時間を表示する |
| 小数点以下 2 桁または 3 桁の座標 | ピンの位置が不正確 | 小数点以下 5 桁以上 |
| 変更後に古いままの営業時間 | 顧客が閉まっている店に向かってしまう | プロフィールとマークアップを同時に更新する |
レビューに関するミスには特に注意が必要です。2019 年以降、Google は LocalBusiness や Organization が自社について掲載する「自己宣伝的な」レビューに星を表示しなくなりました。詳しくはレビューの構造化データに関するガイドで解説しています。同じ考え方は FAQ スキーマにも当てはまります。ページに表示されている内容だけをマークアップしてください。
誰かが ChatGPT、Gemini、Perplexity に「リヨンで土曜日に開いている歯医者」を尋ねると、回答はアシスタントが読み取り、照合できる情報源から組み立てられます。ビジネス プロフィールのデータ、ディレクトリ、レビュープラットフォーム、そして各ビジネス自身のウェブサイトです。当社のAI の回答におけるディレクトリの調査では、こうした第三者の掲載情報がどれくらいの頻度で引用されるかを示しています。
構造化データは 2 つの面で役立ちます。フッターの解析に頼らない明確な事実(営業時間、住所、業種)をクローラーに提供すること、そして sameAs と一貫した NAP によって、サイトを他のプロフィールと同じエンティティに結びつけることです。全体像はAI 検索のための構造化データのガイドで解説しており、LLM 向け構造化データ監査では言語モデルがあなたのページから何を抽出するかを確認できます。マークアップだけでは決して十分ではありません。多くのアシスタントは JSON-LD だけでなくページそのものを読むため、事実は表示テキストにも書いておく必要があります。
取り組みの効果を確かめるには、Sorank の AI 言及トラッキングが顧客の尋ねるローカルな質問を追跡し、あなたのビジネスが引用されているかを示します。また GEO 最適化は、アシスタントが引用する店舗やサービスのコンテンツの公開を支援します。考え方の全体は地域ビジネス向けのページにまとめています。
覚えておきたいルール:1 店舗につき 1 ページ、1 つの LocalBusiness ブロック、そしてビジネス プロフィールと同じ名称、住所、電話番号、営業時間。追加し、検証し、ビジネスに変化があるたびに更新しましょう。
その店舗を説明するページに設置します。店舗が 1 つのビジネスならトップページ、複数の住所があるビジネスなら各店舗ページです。JSON-LD のスクリプトはそのページの head または body に配置します。ブランド自体は、トップページの Organization ブロックで記述するのが適しています。
Google は構造化データをランキング要因としては説明しておらず、ローカルパックの順位は主にビジネス プロフィールの関連性、距離、知名度によって決まります。マークアップは、Google がビジネス情報を正しく理解して表示する助けとなり、サイトとプロフィールの整合性を保ちます。その価値は明確さと機能の対象になることにあり、順位を直接押し上げるものではありません。
はい。顧客の所在地でサービスを提供するビジネスも、登記上の事業所の住所で LocalBusiness、または Plumber のようなより具体的なサブタイプを使えます。対応エリアは areaServed プロパティで記述できます。Google の一覧にはありませんが、schema.org では有効です。情報はビジネス プロフィールで設定した対応エリアと一致させてください。
先行導入企業のご紹介
