2026年6月18日
2026年6月18日
WordPressにLocalBusiness構造化データを設定する方法(JSON-LD・Rank Math)
LocalBusiness は、店舗・事務所・医院など実在の場所を持つ事業者の情報(名前、住所、電話番号、営業時間など)を検索エンジンに伝えるための schema.org の型です。WordPress サイトにこの構造化データを入れておくと、Google が事業者情報を正しく読み取る手がかりになります。
この記事では、Google 検索セントラルの「ローカルビジネス」構造化データのドキュメント(2026年10月時点)に沿って、WordPress に LocalBusiness の JSON-LD を追加する方法を説明します。
最初に知っておくこと
- Google マップへの掲載は別の仕組みです。 Google マップや検索結果の店舗情報(ナレッジパネル)を管理するのは Google ビジネス プロフィールです。構造化データを入れただけで地図に載るわけではありません。マップに表示したい場合は、先に Google ビジネス プロフィールを登録・確認してください。
- 構造化データは表示を約束しません。 正しく書いても、リッチリザルトなどが表示されるかどうかは Google が判断します。
- ページに書いてある内容と一致させます。 構造化データの住所・電話番号・営業時間は、サイトの会社概要やアクセスページに表示している内容と同じにします。
Google が求めるプロパティ
| 区分 | プロパティ | 内容 |
|---|---|---|
| 必須 | name |
事業者名 |
| 必須 | address |
所在地(PostalAddress)。できるだけ多くの項目を埋める |
| 推奨 | telephone |
代表電話番号。国番号と市外局番を含める(例: +81-3-1234-5678) |
| 推奨 | url |
その店舗・拠点のページの URL |
| 推奨 | geo |
緯度・経度(GeoCoordinates)。小数点以下5桁以上 |
| 推奨 | openingHoursSpecification |
営業時間 |
| 推奨 | priceRange |
価格帯。100文字未満(例: ¥1,000〜¥3,000) |
| 推奨 | menu・servesCuisine |
飲食店のメニュー URL・料理の種類 |
| 推奨 | department |
店舗内の部門(薬局コーナーなど) |
@type には、LocalBusiness そのものより具体的な型(Restaurant、Dentist、HairSalon、AutoRepair など)があればそちらを使います。複数に当てはまる場合は配列で書けます。
aggregateRating(評価の集計)と review(レビュー)は、他の事業者のレビューを集めているサイト向けです。自社のサイトに自社の評価を載せる用途には使えないので、通常の店舗サイトでは入れません。
方法1: functions.php(またはプラグイン)で JSON-LD を出力する
テーマの functions.php に直接書くとテーマ更新で消えるため、子テーマの functions.php か、自作の小さなプラグインに書きます。次の例は、トップページにだけ LocalBusiness の JSON-LD を出力します。
<?php
add_action( 'wp_head', 'my_output_local_business_schema' );
function my_output_local_business_schema() {
if ( ! is_front_page() ) {
return;
}
$data = array(
'@context' => 'https://schema.org',
'@type' => 'Restaurant',
'name' => 'サンプル食堂',
'url' => home_url( '/' ),
'telephone' => '+81-3-1234-5678',
'priceRange' => '¥1,000〜¥3,000',
'servesCuisine' => '和食',
'address' => array(
'@type' => 'PostalAddress',
'postalCode' => '100-0001',
'addressRegion' => '東京都',
'addressLocality' => '千代田区',
'streetAddress' => '千代田1-1-1 サンプルビル1階',
'addressCountry' => 'JP',
),
'geo' => array(
'@type' => 'GeoCoordinates',
'latitude' => 35.68123,
'longitude' => 139.76712,
),
'openingHoursSpecification' => array(
array(
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => array( 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' ),
'opens' => '11:00',
'closes' => '21:00',
),
array(
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => 'Saturday',
'opens' => '11:00',
'closes' => '15:00',
),
),
);
echo '<script type="application/ld+json">' . wp_json_encode( $data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ) . '</script>' . "\n";
}
ポイント:
- 配列を
wp_json_encode()で JSON にするため、引用符やエスケープの書き間違いが起きにくくなります。 - 日本の住所は、
addressRegionに都道府県、addressLocalityに市区町村、streetAddressにそれ以降を入れます。addressCountryは国コードJPです。 - 終日休みの曜日を明示したい場合は
opensとclosesをどちらも00:00にします。24時間営業はopensを00:00、closesを23:59にします。 - 年末年始などの臨時休業は、
validFromとvalidThrough(YYYY-MM-DD形式)で期間を指定したOpeningHoursSpecificationを追加します。 - 店舗が複数ある場合は、店舗ごとのページを作り、それぞれのページにその店舗の LocalBusiness を出力します(
urlはその店舗ページ)。
SEO プラグインがすでに構造化データ(Organization など)を出力している場合、内容が食い違うと Google が混乱することがあります。出力済みの内容を確認してから追加してください。
方法2: Rank Math の Local SEO モジュールを使う
Rank Math(無料版)を使っている場合は、プラグインの設定画面から LocalBusiness を出力できます。
- 管理画面の「Rank Math SEO」→「ダッシュボード」に並ぶモジュールの中から、Local SEO を有効にします。
- 「Rank Math SEO」→「タイトルとメタ」→「Local SEO」を開きます。
- 個人か組織かの選択で組織(Company)を選び、事業者名、事業の種類、住所、電話番号、営業時間などを入力して保存します。
複数拠点の管理は有料版(PRO)の機能です。Yoast SEO や All in One SEO にも LocalBusiness 用の拡張がありますが、いずれも有料のアドオンです(2026年10月時点)。プラグインを使う場合も、出力された内容は次の方法で確認してください。
出力を確認する
- 公開ページを開き、ページのソースに
application/ld+jsonのscript要素が出ていることを確認します。キャッシュプラグインを使っている場合は、キャッシュを削除してから確認します。 - Google の リッチリザルト テスト にページの URL を入力し、LocalBusiness(ローカル ビジネス)の項目が検出され、エラーが無いことを確認します。
- Google の検査で扱われない型やプロパティは、Schema Markup Validator で schema.org の文法として正しいかを確認できます。
- 公開後は Search Console でクロールの状況や構造化データに関する問題が出ていないかを確認します。
運用で気をつけること
- 移転・電話番号変更・営業時間変更のときは、ページ本文、構造化データ、Google ビジネス プロフィールの3か所をそろえて更新します。
- 個人事業で自宅を事務所にしている場合など、住所を公開したくない情報は構造化データにも書かないでください。構造化データはページのソースから誰でも読めます。