選ばれるAI診断

構造化データの営業時間の書き方|定休日・昼休み・祝日・臨時休業のパターン別コード【816サイトの調査つき】

公開日: / 更新日: / カテゴリ: 構造化データ / 執筆: エラバレル

構造化データの営業時間の書き方|定休日・昼休み・祝日・臨時休業のパターン別コード【816サイトの調査つき】

「構造化データに営業時間を入れたいが、昼休みがあるときはどう書くのか」「定休日はどこに書けばいいのか」。店や医院のホームページで構造化データを整えようとすると、営業時間でつまずく方が少なくありません。

先に結論をお伝えします。構造化データで営業時間を書くときは、openingHoursSpecification を使い、曜日(dayOfWeek)・開店(opens)・閉店(closes)を1組にして、営業時間が違う曜日ごとに並べます。 定休日は書きません(書かれていない曜日が休み、という扱いになります)。

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "18:00"
  }
]

選ばれるAI診断の調査では、店舗系の型を使っている111サイトのうち、営業時間を入れていたのは66件(59%)でした。4割のサイトは、せっかく店舗の構造化データを入れているのに、営業時間を伝えていません。

この記事では、昼休みがある、土曜だけ短い、夜0時をまたぐ、24時間営業、年末年始だけ休み、臨時休業といった、日本の店や医院によくあるパターンの書き方を、コードの見本つきでまとめます。

この記事でわかること

  • openingHoursSpecification とは何か、なぜ営業時間を構造化データで伝えるのか
  • 816サイトの調査で分かった、営業時間の書かれ方の実態
  • 曜日と時刻の書き方の基本
  • パターン別の書き方(曜日で違う・昼休み・夜をまたぐ・24時間・年末年始・臨時休業)
  • 業種別の書き方の例と、よくある失敗
  • 入れたあとの確認方法

openingHoursSpecificationとは? 営業時間を構造化データで伝える理由

openingHoursSpecification は、schema.org(構造化データの共通の辞書)で決められている、営業時間を表すための項目です。店や事務所を表す LocalBusiness(または Dentist・HairSalon などの業種の型)の中に入れて使います。

お客さんがAIに聞く質問には、営業時間に関するものがとても多くあります。

  • 「〇〇歯科は土曜日もやっている?」
  • 「今から行ける〇〇市の美容室は?」
  • 「〇〇整体院の昼休みは何時から?」
  • 「年末年始に開いている動物病院は?」

AIや検索エンジンは、ホームページの本文からも営業時間を読み取ろうとします。ただ、表や画像で書かれた営業時間は、読み間違えられることがあります。構造化データで「月〜金は9時〜18時」と決まった書式で書いておけば、機械が間違えずに読み取れる営業時間を用意できます。

「openingHours」と「openingHoursSpecification」の違い

営業時間の書き方には、"openingHours": "Mo-Fr 09:00-18:00" のように1行の文字列で書く古い形と、曜日・開店・閉店を項目に分けて書く openingHoursSpecification の2つがあります。どちらも読まれますが、Googleの説明で案内されているのは openingHoursSpecification です。昼休みや期間限定の時間も書けるので、これから書くならこちらを使います。

816サイトで、営業時間はどう書かれていたか

選ばれるAI診断が2026年9〜10月に、7業種の公式サイト816件のトップページを調べた結果です。

調査の結果(7業種・816サイト)

  • 店舗系の型(LocalBusiness、Dentist、HairSalon など)を使っているのは111件
  • そのうち、営業時間を入れているのは66件(59%)
  • openingHoursSpecification で書いているのは56件、古い書き方(openingHours の文字列)は10件
  • openingHoursSpecification で書いていた56件は、すべて曜日・開店・閉店がそろった正しい形だった
状態件数
店舗系の型(LocalBusiness、Dentist、HairSalon など)を使っている111件
そのうち、営業時間を入れている66件(59%)
openingHoursSpecification で書いている56件
古い書き方(openingHours の文字列)で書いている10件

店舗系の型を使っているサイトの4割は、営業時間を入れていませんでした。お客さんがAIに「今日やってる?」「土曜も開いてる?」と聞く時代に、構造化データで営業時間を伝えていないのはもったいない状態です。

一方で、openingHoursSpecification で書いていた56件は、すべて正しい形でした。書き方そのものは難しくありません。 入れていないサイトの多くは、「入れられることを知らない」「SEOプラグインの設定欄を空けたまま」というだけだと考えられます。

なお、2026年10月2日に見直した採点基準で22業種・2,296サイトを再診断したところ、運営者の情報が構造化データに十分入っていないサイトは97%でした。営業時間は、その運営者の情報を充実させる項目の一つです。

曜日と時刻の書き方の基本

曜日は英語で書きます。先頭は大文字です。

日本語dayOfWeek
月曜Monday
火曜Tuesday
水曜Wednesday
木曜Thursday
金曜Friday
土曜Saturday
日曜Sunday

時刻は24時間表記で "09:00"、"18:30" のように書きます。午後6時は "18:00"、午前9時は "9:00" ではなく "09:00" と、2けたで書くのが確実です。

1つの組には、次の4つを書きます。

項目意味例
@typeこの組の種類"OpeningHoursSpecification"(決まった文字)
dayOfWeek対象の曜日。複数なら [ ] で囲んで並べる["Monday", "Tuesday"]
opens開店(受付開始)の時刻"09:00"
closes閉店(受付終了)の時刻"18:00"

パターン別の書き方

曜日によって時間が違う(土曜だけ短いなど)

時間が同じ曜日ごとにまとめ、組を分けて並べます。

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Friday"],
    "opens": "09:00",
    "closes": "19:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "09:00",
    "closes": "13:00"
  }
]

この例では、木曜・日曜が休みです(書いていない曜日が休み)。

昼休みがある(医院・事務所に多い)

同じ曜日の組を、午前と午後の2つに分けます。

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "12:30"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "14:30",
    "closes": "18:30"
  }
]

医院でよくある「水曜と土曜は午前のみ」の場合は、午前の組に水曜・土曜も入れ、午後の組からは外します。

夜0時をまたぐ(飲食店・バーなど)

閉店時刻を翌日の時刻で書きます。Googleは、同じ組の中で "opens": "18:00", "closes": "02:00" のように書く方法を案内しています。

{
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": ["Friday", "Saturday"],
  "opens": "18:00",
  "closes": "02:00"
}

この例は「金曜と土曜は、夜6時から翌朝2時まで」という意味です。土曜の夜中2時までではなく、金曜の夜から始まる営業として読まれます。

24時間営業

{
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
  "opens": "00:00",
  "closes": "23:59"
}

葬儀社の「24時間受付」のように、電話の受付だけが24時間で、来店できる時間は別という場合は、構造化データには来店できる時間を書き、24時間受付は description(説明文)と本文に書くほうが誤解がありません。

祝日・年末年始・夏季休業(特定の日だけ違う)

validFrom と validThrough で期間を指定し、その日の営業時間を別の組で書きます。休みにする日は、開店と閉店をどちらも "00:00" にします。

{
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2026-12-29",
  "validThrough": "2027-01-03"
}

祝日を毎回書くのは大変なので、小さな店や事務所なら「祝日休み」はホームページの本文とGoogleビジネスプロフィールに書き、構造化データには通常の営業時間だけを書く、という形でも十分です。

期間限定の組は、終わったら消す

年末年始などの組を書いたら、期間が過ぎたあとに消すのを忘れないでください。古い期間の組が何年も残っていると、コードが読みにくくなり、次に直すときの間違いのもとになります。

臨時休業

臨時休業は、構造化データより、Googleビジネスプロフィールの「特別営業時間」を更新するほうが確実で早く伝わります。GoogleのAIによる概要やGoogleマップは、ビジネスプロフィールの情報を優先して使うためです。構造化データは、通常の営業時間を正しく書いておくのが役目です。Googleビジネスプロフィールの整え方はGoogleビジネスプロフィールとAIによる概要の記事で説明しています。

営業時間を書く3か所の役割

営業時間は、ホームページの本文・Googleビジネスプロフィール・構造化データの3か所に書くことになります。それぞれ役割が違います。

書く場所主に読む人・仕組み向いている情報
ホームページの本文お客さん、AIのクローラー通常の営業時間、最終受付、予約制、祝日の扱い、注意書き
GoogleビジネスプロフィールGoogleマップ、GoogleのAIによる概要・AIモード通常の営業時間、臨時休業、年末年始などの特別営業時間
構造化データ検索エンジン、AI通常の営業時間(曜日・開店・閉店)

構造化データは、本文に書いた営業時間を「機械向けに書き直したもの」と考えると分かりやすいでしょう。本文に書いていない営業時間を、構造化データだけに書くのは避けてください。Googleは、構造化データの内容がページの本文と合っていることを求めています。

いちばん大事なのは「3か所が同じであること」

どれか1か所だけが古いと、AIは「どれが本当の営業時間か」を判断できません。営業時間を変えたら、本文・Googleビジネスプロフィール・構造化データを同じ日に直す、と決めておくと、食い違いを防げます。AIが店の情報を間違える原因と直し方はChatGPTが自分の店を間違えるときの直し方で説明しています。

業種別の書き方の例

業種よくある営業時間書き方のポイント
歯科医院・クリニック午前・午後に分かれ、木曜・日曜休み、土曜は午前のみ午前の組と午後の組の2つ。土曜は午前の組だけに入れる
美容室・ネイルサロン火曜定休、最終受付あり営業の終わりを closes に。最終受付は本文に
税理士・行政書士事務所平日のみ、土曜は予約制平日の組だけを書き、予約制は description に
飲食店・バー夜から翌朝までcloses を翌日の時刻で書く
動物病院夜間は救急のみ通常の診療時間を書き、夜間の救急は本文に

〇〇歯科医院の場合

営業時間:月・火・水・金は9時〜12時30分と14時30分〜18時30分、土曜は9時〜13時。木曜・日曜・祝日は休み。
書き方:①午前の組(月・火・水・金)9:00〜12:30 ②午後の組(月・火・水・金)14:30〜18:30 ③土曜の組 9:00〜13:00 の3つを並べる。木曜・日曜は書かない。祝日休みは本文とGoogleビジネスプロフィールに書く。

書くときの注意とよくある失敗

  • ホームページの本文と同じ時間にする。 構造化データにだけ書いて本文に書かない、本文と違う、は避ける
  • 営業時間を変えたら、構造化データも直す。 本文・Googleビジネスプロフィール・構造化データの3か所をそろえる
  • 古い書き方(openingHours の文字列)より、openingHoursSpecification。 "openingHours": "Mo-Fr 09:00-18:00" の形も読まれるが、Googleは openingHoursSpecification を案内している
  • 予約制・不定休の場合は、description(説明文)に「完全予約制」「不定休」のように書き添える
よくある失敗起きること直し方
曜日を小文字や日本語で書いた(monday、月曜)曜日として読まれない先頭を大文字の英語で(Monday)
時刻を "9時" や "9:00 AM" と書いた時刻として読まれない24時間表記の "09:00"
定休日を opens・closes なしで書いた書式のエラーになる定休日は書かない
本文は「19時まで」、構造化データは「18時まで」AIがどちらを信じるか迷う本文に合わせて直す
営業時間の変更後、構造化データを直し忘れた古い営業時間が伝わり続ける変更した日に3か所を直す

営業時間を書く前のチェックリスト

  • 今の営業時間・定休日を、曜日ごとに書き出した
  • 昼休みや「土曜は午前のみ」などの例外を確かめた
  • ホームページの本文の営業時間と、Googleビジネスプロフィールの営業時間が同じ
  • 年末年始などの期間限定の時間を書く場合、消す日を決めた
  • 予約制・不定休・最終受付など、構造化データで表せないことは本文に書いた

営業時間は、運営者の情報をまとめたコード(LocalBusiness など)の中に入れます。全体のコードはLocalBusinessの構造化データの書き方の記事を、業種ごとの型はLocalBusinessの業種別の型の記事を参考にしてください。曜日と時間を選ぶだけでコードを作りたい方はこちらのツールを使ってください。

構造化データ作成ツールを使う(無料)

入れたあとの確認

Googleの「リッチリザルト テスト」でトップページを調べ、「ローカル ビジネス」の中の openingHoursSpecification を開いて、曜日と時間が正しいかを確認します。エラーが出る場合は、曜日のつづり(先頭が大文字)と、時刻の書き方("09:00")を見直してください。

WordPressのSEOプラグインで営業時間を設定している場合は、プラグインの設定画面の入力がそのまま出力されます。Rank Mathの場合はRank MathのローカルSEO設定の記事をご覧ください。プラグインを使わずに入れる方法はWordPressに構造化データをプラグインなしで入れる方法で説明しています。確認の詳しい手順は構造化データの確認方法の記事にまとめています。

選ばれるAI診断では、構造化データがあるか、運営者の情報がどこまで入っているかを、ほかのAI検索対策の項目と一緒に確認できます。URLを入れるだけで、22項目の判定と理由を無料で確認できます。

よくある質問

定休日はどう書けばいいですか?

書きません。営業する曜日だけを書けば、書いていない曜日は休みと読み取られます。

「〜19時(最終受付18時)」はどう書きますか?

構造化データには営業の終わり(19:00)を書き、最終受付は本文や説明文に書きます。

営業時間を入れると、Googleマップの表示も変わりますか?

Googleマップの営業時間は、主にGoogleビジネスプロフィールの登録内容が表示されます。構造化データはホームページ側の情報です。両方を同じ内容にそろえておくことが大事です。

不定休の場合は、どう書けばいいですか?

決まった曜日が書けない場合は、通常営業する時間だけを書き、description(説明文)と本文に「不定休。営業日はカレンダーでお知らせしています」のように書き添えます。営業日のカレンダーは、画像だけでなく文章でも載せておくと、AIに伝わりやすくなります。

古い書き方(openingHours)で書いたものは、直したほうがいいですか?

今のままでも読まれますが、昼休みや期間限定の時間を書きたくなったときは、openingHoursSpecification に書き直すほうが分かりやすくなります。同じ営業時間を両方の書き方で入れると内容がずれやすいので、どちらか一方にしてください。

予約制の店は、営業時間を書かなくてもいいですか?

予約を受け付ける時間や、施術できる時間帯が決まっていれば、それを書いておくほうが親切です。そのうえで description に「完全予約制」と書き添えます。

まとめ

構造化データの営業時間の書き方をまとめます。

この記事のまとめ

  • 営業時間は openingHoursSpecification で、曜日・開店・閉店を1組にして、時間が違う曜日ごとに並べる
  • 定休日は書かない。昼休みは午前・午後の2組、夜0時をまたぐなら閉店を翌日の時刻で
  • 年末年始などは validFrom・validThrough で期間を指定。臨時休業はGoogleビジネスプロフィールの特別営業時間で
  • 816の公式サイトで、店舗系の型を使う111件のうち、営業時間を入れていたのは66件(59%)
  • 本文・Googleビジネスプロフィール・構造化データの3か所の営業時間をそろえる
  • 入れたら、リッチリザルト テストで曜日と時間を確かめる

まずは、自分のサイトの構造化データに何が入っているかを確かめてください。選ばれるAI診断なら、URLを入れるだけで、22項目の判定と、それぞれの理由を無料で確認できます。

自分のサイトを、無料で診断する

参考にした資料

調査の方法:2026年9〜10月、選ばれるAI診断で診断した7業種の公式サイト816件のトップページを取得し、運営者の構造化データの営業時間の書き方を集計しました。運営者の構造化データが不足していた割合は、2026年10月2日に見直した採点基準で再診断した結果(22業種2,296件、重複を除く)です。個別のサイト名は公開していません。