ローカル ビジネス

Google 検索や Google マップでビジネスを検索すると、クエリに一致するビジネスの詳細が記載されたナレッジグラフ カードが表示されることがあります。ビジネスのタイプで検索(たとえば「ニューヨークのおすすめのレストラン」)すると、クエリに関連するビジネスのカルーセルが表示されることもあります。ローカル ビジネスの構造化データにより、自社の営業時間、各部門に関する情報、ビジネスについてのクチコミなどを Google に伝えることができます。ユーザーが検索結果から直接予約や注文を行えるようにするには、Maps Booking API を使用して、予約や支払いなどのアクションを有効にします。

構造化データを追加する方法

構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。

構造化データの作成、テスト、リリースの概要は次のとおりです。ウェブページに構造化データを追加するための手順ガイドについては、構造化データの Codelab をご覧ください。

  1. 必須プロパティを追加します。ページ上の構造化データを配置する場所について詳しくは、JSON-LD 構造化データ: ページでの挿入場所をご覧ください。
  2. ガイドラインを遵守します。
  3. リッチリザルト テストでコードを検証します。
  4. 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、noindex タグ、またはログイン要件によってページがブロックされていないことを確認します。ページが正常に表示される場合は、Google に URL の再クロールを依頼できます。
  5. 今後の変更について Google への情報提供を続けるには、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。

シンプルなローカル ビジネス リスティング

JSON-LD を使用したシンプルなローカル ビジネス リスティングの例を示します。


<html>
  <head>
    <title>Dave's Steak House</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "@id": "http://davessteakhouse.example.com",
      "name": "Dave's Steak House",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "148 W 51st St",
        "addressLocality": "New York",
        "addressRegion": "NY",
        "postalCode": "10019",
        "addressCountry": "US"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "4",
          "bestRating": "5"
        },
        "author": {
          "@type": "Person",
          "name": "Lillian Ruiz"
        }
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 40.761293,
        "longitude": -73.982294
      },
      "url": "http://www.example.com/restaurant-locations/manhattan",
      "telephone": "+12122459600",
      "servesCuisine": "American",
      "priceRange": "$$$",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday"
          ],
          "opens": "11:30",
          "closes": "22:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "11:30",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "16:00",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "16:00",
          "closes": "22:00"
        }
      ],
      "menu": "http://www.example.com/menu",
      "acceptsReservations": "True"
    }
    </script>
  </head>
  <body>
  </body>
</html>

レストラン カルーセルの例を示します。現在、レストラン カルーセルに表示されるレストランは限定されています。この機能の使用をご希望の場合は、こちらのフォームからご登録ください。

<html>
  <head>
    <title>Trattoria Luigi</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Restaurant",
      "name": "Trattoria Luigi",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
       "priceRange": "$$$",
       "servesCuisine": "Italian",
       "address": {
         "@type": "PostalAddress",
         "streetAddress": "148 W 51st St",
         "addressLocality": "New York",
         "addressRegion": "NY",
         "postalCode": "10019",
         "addressCountry": "US"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

営業時間

ここでは、さまざまなタイプの営業時間をマークアップする方法を具体的に説明します。

通常の営業時間

validFrom プロパティと validThrough プロパティを省略することで、年間を通して有効な通常の営業時間を指定できます。次の例は、平日は午前 9 時から午後 9 時まで、週末は午前 10 時から午後 11 時まで営業する場合です。

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "21:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Saturday",
      "Sunday"
    ],
    "opens": "10:00",
    "closes": "23:00"
  }
]
深夜の営業時間

営業時間が深夜 0 時をまたぐ場合は、1 つの OpeningHoursSpecification プロパティで開始時間と終了時間を定義します。次の例は、土曜日の午後 6 時から日曜日の午前 3 時まで営業する場合です。

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
終日営業

24 時間営業の場合は、open プロパティを「00:00」に設定し、closes プロパティを「23:59」に設定します。終日休業する場合は、opens プロパティと closes プロパティを両方とも「00:00」に設定します。土曜日に終日営業し、日曜日に終日休業する例を以下に示します。

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]
季節営業

季節営業を定義するには、validFrom プロパティおよび validThrough プロパティの両方を使用します。次に、年末年始に休業する例を示します。

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2015-12-23",
  "validThrough": "2016-01-05"
}

複数の部門がある場合

ビジネスに複数の部門があり、部門ごとに営業時間や電話番号が異なる場合は、department プロパティを使用してそれぞれの部門の要素をマークアップできます。メインの店舗と異なるプロパティを、部門ごとに個別に定義してください。

<html>
  <head>
    <title>Dave's Department Store</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Store",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "@id": "http://davesdeptstore.example.com",
      "name": "Dave's Department Store",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1600 Saratoga Ave",
        "addressLocality": "San Jose",
        "addressRegion": "CA",
        "postalCode": "95129",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 37.293058,
        "longitude": -121.988331
      },
      "url": "http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
      "priceRange": "$$$",
      "telephone": "+14088717984",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "opens": "08:00",
          "closes": "23:59"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "08:00",
          "closes": "23:00"
        }
      ],
      "department": [
        {
          "@type": "Pharmacy",
          "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
          "name": "Dave's Pharmacy",
          "telephone": "+14088719385",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ],
              "opens": "09:00",
              "closes": "19:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Saturday",
              "opens": "09:00",
              "closes": "17:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Sunday",
              "opens": "11:00",
              "closes": "17:00"
            }
          ]
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

ガイドライン

ローカル ビジネスのリッチリザルトで表示されるようにするには、以下のガイドラインに準拠する必要があります。

構造化データタイプの定義

schema.org/LocalBusiness の定義一覧に基づいて、以下の表にローカル ビジネスとビジネス アクション タイプのプロパティと使用方法をまとめます。

コンテンツがリッチリザルトとして表示されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用してコンテンツに関する詳細情報を追加すると、ユーザー エクスペリエンスの向上につながります。

LocalBusiness

LocalBusiness の定義の全文は schema.org/LocalBusiness で確認できます。各ビジネス拠点を LocalBusiness タイプとして定義します。できる限り具体的な LocalBusiness サブタイプ(RestaurantDaySpaHealthClub など)を使用してください。

必須プロパティ
@id

URL

特定のビジネス拠点のグローバルに一意の ID を URL 形式で指定します。ID は経時的に不変な値にする必要があります。Google 検索では URL を不透明型の文字列として扱いますが、リンクとして機能する必要はありません。複数のビジネス拠点がある場合は、各拠点の @id が一意になるようにしてください。

address

PostalAddress

ビジネスの物理的な場所。できるだけ多くのプロパティを指定します。指定するプロパティが多いほど、表示される検索結果の質が高くなります。次に例を示します。


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St Suit 42 Unit 7",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
name

Text

ビジネスの名前。

推奨プロパティ
aggregateRating

AggregateRating

複数の評価やレビューに基づくローカル ビジネスの平均評価。レビュー スニペットのガイドラインと、必須および推奨の AggregateRating プロパティのリストに準拠します。

department

LocalBusiness

単一の部門についてネストされた項目。特定の部門について、この表内の任意のプロパティを定義できます。

その他のガイドライン:

  • 店舗名と部門名を {store name} {department name} の形式で指定します。たとえば gMartgMart Pharmacy とします。
  • 部門名がブランドとして認知されている場合は、部門名を単独で指定します。たとえば Best BuyGeek Squad とします。
geo

GeoCoordinates

ビジネス拠点の地理的座標。

geo.latitude

Number

ビジネス拠点の緯度。精度は小数点 5 桁以上にする必要があります。

geo.longitude

Number

ビジネス拠点の経度。精度は小数点 5 桁以上にする必要があります。

menu

URL

食事を提供するビジネスの場合は、メニューの完全修飾 URL。

openingHoursSpecification

OpeningHoursSpecification の配列または単一のオブジェクト(両方サポートされます)

ビジネスの営業時間。

openingHoursSpecification.closes

Time

営業終了時刻を hh:mm:ss 形式で指定します。

openingHoursSpecification.dayOfWeek

Text

次のうち 1 つ以上を指定します。

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday
openingHoursSpecification.opens

Time

営業開始時刻を hh:mm:ss 形式で指定します。

openingHoursSpecification.validFrom

Date

季節営業の開始日を YYYY-MM-DD 形式で指定します。

openingHoursSpecification.validThrough

Date

季節営業の終了日を YYYY-MM-DD 形式で指定します。

priceRange

Text

ビジネスの相対的な価格帯。通常、数値範囲(「$10-15」など)または正規化された通貨記号の数(「$$$」など)で指定します。

review

Review

ローカル ビジネスのレビュー。レビュー スニペットのガイドラインと、必須および推奨の Review プロパティのリストに準拠します。

servesCuisine

servesCuisine

レストランで提供する料理の種類。

telephone

Text

顧客からの連絡を受けるメインの電話番号。電話番号には、必ず国コードと市外局番を含めてください。

url

URL

特定のビジネス拠点の完全修飾 URL。@id プロパティとは異なり、このプロパティにはリンクとして機能する URL を指定する必要があります。

サイトでリストされているレストランが複数あり、それらを 1 つのホスト カルーセルで表示させるには、カルーセル オブジェクトを追加します。カルーセル オブジェクトでは、標準のカルーセル プロパティに加えて、以下に示すプロパティを定義します。カルーセル プロパティは必須ではありませんが、レストラン リストがホスト カルーセルで表示されるようにするには、以下のプロパティを追加する必要があります。

必須プロパティ
image

URL または ImageObject の繰り返し

レストランの画像。

画像に関するその他のガイドライン:

  • すべてのページに画像を少なくとも 1 つ含める必要があります(マークアップを含めるかどうかは問いません)。Google は、アスペクト比と解像度に基づいて、検索結果に表示する最適な画像を選択します。
  • 画像の URL は、クロールやインデックス登録に対応できる必要があります。
  • 画像はマークアップされたコンテンツを表している必要があります。
  • 画像の形式は、.jpg、.png、.gif のいずれかである必要があります。
  • 適切な画像が選択されるようにするために、アスペクト比が 16x9、4x3、1x1 の高解像度画像(50,000 ピクセル以上の画像)を複数指定してください。

例:

    "image": [
      "https://example.com/photos/1x1/photo.jpg",
      "https://example.com/photos/4x3/photo.jpg",
      "https://example.com/photos/16x9/photo.jpg"
    ]
name

Text

レストランの名前。

推奨プロパティ
address

PostalAddress

ビジネスの物理的な場所。できるだけ多くのプロパティを指定します。指定するプロパティが多いほど、表示される検索結果の質が高くなります。次に例を示します。


"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
servesCuisine

servesCuisine

レストランで提供する料理の種類。

トラブルシューティング

構造化データを実装する際に問題が発生した場合は、以下のリソースを確認してください。