Use Cases (更新: 2026/7/20)

飲食店のGoogleビジネス投稿とメニュー更新をClaude Codeで回す: 季節メニューから予約導線まで

飲食店のGoogleビジネス投稿、季節メニュー、営業時間、予約CTAをClaude Codeで整理する手順です。

飲食店のGoogleビジネス投稿とメニュー更新をClaude Codeで回す: 季節メニューから予約導線まで

飲食店の季節メニューは、厨房ではもう切り替わっているのに、Googleビジネスプロフィール、店頭POP、予約ページ、Instagramの表示がばらばらになりがちです。夏メニューの写真だけ新しい。価格は古い。売り切れた料理がGoogleのメニューに残っている。予約ページのCTAはあるのに、投稿からそこへ戻れない。こうなると、お客さんは電話で確認し、スタッフは営業中に同じ説明を繰り返します。

この記事では、個人店から数店舗の飲食店までを想定して、Googleビジネスプロフィールの投稿とメニュー更新をClaude Codeで整理する手順を書きます。狙いは、AIに料理の価格、営業時間、アレルギー表示を勝手に決めさせることではありません。季節メニュー、価格、写真、営業時間、予約URL、投稿文、公開前チェックをひとつの表に寄せ、人が確認してから出す流れを作ることです。

Google公式ヘルプでは、飲食店は ビジネスプロフィールのメニュー項目 に説明と価格を載せられ、投稿 ではお知らせ、特典、イベントなどをSearchとMaps上の顧客に届けられると案内されています。営業時間、電話番号、写真、予約リンクも正確に保つ必要があります。この記事の構成も、検索順位だけを狙うのではなく、読者の目的に役立つページを作るという Google Search Centralのpeople-first content の考え方に寄せます。

この記事の要点

  • 飲食店のGoogleビジネスプロフィールは、メニュー、営業時間、写真、投稿、予約URLを別々に直すとずれやすい。
  • Claude Codeには、更新対象の棚卸し、投稿文、予約CTA、公開前チェック表を作らせる。
  • 人が見る範囲は、価格、売り切れ、営業時間、アレルギー、写真の権利、予約可否。
  • 季節メニューの投稿は、GoogleだけでなくWebサイト、Instagram、店頭POPと同じ情報にそろえる。
  • ROIは、電話確認の件数、予約ページクリック、メニュー閲覧、投稿からの行動で見る。

現場で起きる失敗シーン

飲食店のメニュー更新でまず起きるのは、厨房とWebの時間差です。厨房では「冷製トマト麺は今日から」「とうもろこしのプレートは仕入れが終わった」と決まっているのに、Googleのメニュー、Webサイトのメニュー、予約ページ、SNS投稿が別々に残ります。

お客さんはGoogleマップで見た料理を目当てに来ます。ところが店頭で「今日はありません」と言われると、料理の問題ではなく情報の信頼が落ちます。逆に、新メニューが店内では売れているのにGoogleに出ていないと、検索から来る人には存在しない料理になります。

もうひとつの失敗は、投稿が宣伝だけで終わることです。「夏限定メニュー始まりました」だけでは、価格、提供時間、売り切れ条件、予約URLが見えません。投稿から予約ページ、注文ページ、詳しいメニューへ戻す設計が必要です。

業務フロー: 仕込み前から予約導線まで

飲食店のGoogleビジネスプロフィール更新は、営業後に思いつきで投稿を書く作業ではありません。仕込み、写真、メニュー表、予約枠、投稿、公開確認の順番で見ると、抜けが減ります。

段階店側が持つ情報更新する場所
仕込み季節メニュー、提供数、売り切れ条件更新台帳
写真料理写真、店内写真、権利確認Google投稿、Web、SNS
メニュー料理名、価格、説明、アレルギーGoogleメニュー、Webメニュー
予約空き枠、提供時間、コース条件予約ページ、CTA
投稿お知らせ、特典、イベントGoogleビジネスプロフィール投稿
確認表示、リンク、営業時間公開前チェック表

Googleのメニューエディタヘルプでは、メニュー項目、説明、価格をプロフィールに追加でき、前菜、デザート、メインのようなセクションに分けられると説明されています。複数店舗で扱う場合は、Google Business Profile APIも検討対象になります。

この流れをClaude Codeに渡すときは、最初から「投稿文を作って」ではなく、「更新台帳、各チャネルの文面、確認表に分けて」と頼みます。店長が見る表、予約CTA、公開前チェック欄を分けます。

Claude Codeに任せる範囲と人が見る範囲

Claude Codeに任せる範囲は、情報の整理と下書きです。季節メニューの名前、価格、提供時間、写真、予約URL、投稿予定日を渡し、Google投稿、Webメニュー、Instagram文、店頭POPの短い文に分けさせます。さらに、古いメニューが残っていないか、CTAが予約に向いているか、営業時間と提供時間が矛盾していないかを確認する表も作らせます。

人が見る範囲は、店の責任が乗るところです。価格、税込/税別、売り切れ、提供時間、アレルギー、写真の権利、酒類の表現、キャンセル条件、予約の空き枠、営業時間は人が確認します。AIが「本日あります」「小麦不使用です」「予約できます」と断定する文を作った場合は、公開前に止めます。

ここを分けないと、便利そうな投稿が事故になります。とくにアレルギーは、人の体調に直結します。Google Business Profile APIのFood Menus資料でも、アレルゲンや食事制限などの項目が扱われますが、これはAIが推測して埋める欄ではありません。店側が確認した情報だけを入れます。

3つのUse case

Use case 1: 季節メニューをGoogle投稿と予約CTAにつなげる

  • 入力: 料理名、価格、提供期間、提供時間、写真、予約URL。
  • 出力: Googleビジネスプロフィール投稿用の短文、Webメニューの説明、Instagram用の短文、店頭POPの文、予約ボタンへ戻す一文。
  • 人の確認: 価格、提供数、写真の権利、アレルギー表示、予約ページの空き枠。

たとえば「夏限定 冷製トマト麺」を出すなら、投稿本文だけでなく、予約ページに「このメニューは平日夜のみ」と書く必要があります。投稿から来た人が予約ページで迷わない状態にします。

Use case 2: 売り切れメニューを残さない

  • 入力: 売り切れた料理、次回入荷、代替メニュー、WebメニューURL、店頭POPの有無。
  • 出力: Google投稿の更新案、Webメニューの削除候補、SNSの案内文、次に選べる料理、予約前の確認先。
  • 人の確認: 再入荷日、在庫、店内で案内できる代替メニュー、GoogleとWebの削除漏れ。

売り切れを隠すより、代わりに何があるかを出すほうが親切です。ただし、毎日細かく変わる在庫をGoogleメニューに手作業で反映するのが重い店は、Webメニュー側を正本にして、GoogleからそのURLへ戻す設計も考えます。

Use case 3: イベント投稿と営業時間のずれを防ぐ

  • 入力: イベント名、開催日、開始/終了時間、通常営業時間、特別営業時間、予約条件、写真。
  • 出力: Googleイベント投稿、Webページの告知、店内POP、予約ページの注意文、スタッフの電話返信文。
  • 人の確認: Googleビジネスプロフィールの特別営業時間、予約台帳、キャンセル条件、当日スタッフに伝える案内。

Googleの投稿ヘルプでは、イベント投稿には開始日、終了日、時間などを入れられると案内されています。ここが通常営業時間とずれていると、来店前の不安が増えます。投稿と営業時間は別画面で管理されるため、公開前チェック表で並べて見ます。

コピペで使えるプロンプト

飲食店のGoogleビジネスプロフィール更新担当として作業してください。
目的は、季節メニュー、Google投稿、Webメニュー、予約ページ、SNS投稿の表示をそろえ、来店前の迷いと電話確認を減らすことです。

入力:
- 店舗名:
- 対象メニュー:
- 価格:
- 提供期間:
- 提供時間:
- 売り切れ条件:
- アレルギー確認済み情報:
- 写真の権利確認:
- Google投稿に使う写真:
- WebメニューURL:
- 予約URL:
- 通常営業時間:
- 特別営業時間:

出力:
1. Googleビジネスプロフィール投稿文
2. Webメニューに入れる説明
3. Instagram/X用の短文
4. 予約ページに足す注意文
5. 古いメニューを残さないチェック表
6. 公開前に人が見る項目

制約:
- 価格、営業時間、売り切れ、アレルギーを推測しない
- 写真の権利が未確認なら公開不可と書く
- CTAは予約URLに絞る
- Google投稿、Webメニュー、SNSで価格や提供時間をずらさない

このプロンプトでは、投稿文を作る前に、価格、提供時間、写真、予約URLを入力に入れます。ここを空にしたまま生成すると、AIがそれらしい文で穴を埋めます。飲食店ではその穴埋めがトラブルになりやすいので、空欄は「要確認」と出す運用にします。

動く確認コード

次のNode.jsコードは、メニュー更新の台帳に必須項目がそろっているか、売り切れ商品が残っていないか、写真とアレルギー確認が済んでいるか、CTAが予約に絞られているかを見る小さなチェックです。

const menuUpdate = {
  fields: {
    season: "summer",
    menuItems: [
      {
        name: "Cold tomato noodles",
        price: 1280,
        available: true,
        allergens: ["wheat"],
        photoApproved: true,
      },
      {
        name: "Grilled corn plate",
        price: 980,
        available: true,
        allergens: ["dairy"],
        photoApproved: true,
      },
    ],
    menuUrl: "https://example.com/menu",
    reservationUrl: "https://example.com/reserve",
    businessHours: "18:00-23:00",
    postType: "offer",
    publishDate: "2026-07-20",
  },
  ctas: ["reserveTable"],
  channels: ["businessProfile", "website", "instagram"],
};

const requiredFields = [
  "season",
  "menuItems",
  "menuUrl",
  "reservationUrl",
  "businessHours",
  "postType",
  "publishDate",
];

const missingFields = requiredFields.filter((field) => !menuUpdate.fields[field]);
const itemsWithoutPrice = menuUpdate.fields.menuItems.filter((item) => typeof item.price !== "number");
const unavailableItems = menuUpdate.fields.menuItems.filter((item) => item.available === false);
const itemsWithoutAllergenReview = menuUpdate.fields.menuItems.filter((item) => !Array.isArray(item.allergens));
const itemsWithoutApprovedPhoto = menuUpdate.fields.menuItems.filter((item) => !item.photoApproved);
const tooManyCtas = menuUpdate.ctas.length !== 1 || menuUpdate.ctas[0] !== "reserveTable";

if (
  missingFields.length ||
  itemsWithoutPrice.length ||
  itemsWithoutAllergenReview.length ||
  itemsWithoutApprovedPhoto.length ||
  unavailableItems.length ||
  tooManyCtas
) {
  console.error({
    missingFields,
    itemsWithoutPrice,
    itemsWithoutAllergenReview,
    itemsWithoutApprovedPhoto,
    unavailableItems,
    ctas: menuUpdate.ctas,
  });
  process.exit(1);
}

console.log("Restaurant Google Business menu update is ready for human review.");

このコードは、Googleに直接投稿するものではありません。公開前の下書きを止めるための確認です。実際のGoogleビジネスプロフィールでは、メニューや投稿、営業時間、写真を管理画面またはAPIで更新し、反映後の表示を人が確認します。

Pitfall: よくある落とし穴と直し方

価格をAIに補完させてしまう

原因は、入力に価格がないまま「自然な投稿文」を作らせることです。直し方は、価格が空なら投稿文を出さず、チェック表に「価格未確認」と出すことです。税込/税別、サービス料、コース条件も人が見ます。

売り切れメニューをGoogleに残す

原因は、Webメニュー、Googleメニュー、SNS投稿が別々に更新されることです。直し方は、更新台帳に「削除する場所」を入れることです。Web、Google、Instagram、店頭POPの4箇所を1行で確認します。

アレルギー表示をAIに任せる

原因は、料理名や説明からAIが材料を推測してしまうことです。直し方は、アレルギー欄を店側の確認済み情報だけにし、未確認なら「スタッフへ確認」と出すことです。ここは絶対に推測で埋めません。

投稿が予約につながらない

原因は、投稿文がきれいでも、予約URL、提供時間、売り切れ条件がないことです。直し方は、Google投稿、Webメニュー、予約ページで同じCTAを使うことです。主CTAは「席を予約する」に絞ります。

反映時間を見ずに当日告知する

原因は、Googleの表示反映に時間差が出る前提を忘れることです。Googleのメニューエディタヘルプでは、変更がGoogle MapsやSearchに表示されるまで時間がかかる場合があると案内されています。直し方は、当日限定メニューは店頭、SNS、Webでも案内し、Googleだけに頼らないことです。

ROIの見方

飲食店のGoogleビジネスプロフィール運用は、投稿数だけを見ても判断できません。見る数字は、電話確認の件数、予約ページクリック、Webメニュー閲覧、Google投稿からの行動、売り切れ問い合わせ、営業時間の確認電話、予約完了率です。小さく始めるなら、1週間だけ「メニューや営業時間の電話確認」を数えます。1件あたり2分の確認電話が1日4件減れば、月で約4時間戻ります。

よくある質問

Q. Googleビジネスプロフィールのメニューは毎日更新すべきですか。

毎日変わる在庫まで全部入れると運用が重くなります。季節メニュー、定番メニュー、価格、提供時間、予約に関わる情報を優先します。日替わりはWebメニューやSNSを正本にして、Google投稿で案内する形もあります。

Q. 投稿はSEO順位に直結しますか。

順位だけを目的にするより、来店前の判断材料を増やす使い方が合っています。Google公式ヘルプでも、投稿はお知らせ、特典、イベントなどを顧客に届ける機能として説明されています。予約や来店につながる情報を入れます。

Q. アレルギー情報をClaude Codeに整理させてもよいですか。

店側が確認済みの原材料表を渡して、表示漏れをチェックさせる使い方はあります。ただし、料理名や写真から推測させてはいけません。未確認なら公開しない運用にします。

Q. 複数店舗ではどう始めればよいですか。

最初はAPI連携より、店舗別の更新台帳を作ります。店舗名、提供メニュー、価格差、営業時間、予約URLを1表にして、どこが違うかを店長が確認します。

相談へ進むなら

飲食店のGoogleビジネスプロフィール運用は、投稿文だけでは終わりません。メニュー表、写真、予約ページ、Google投稿、SNS、店頭POP、営業時間がつながっています。自店で試すなら、現在のGoogleビジネスプロフィールURL、WebメニューURL、予約URL、直近の季節メニュー、電話確認の件数を持って 研修・相談 に進んでください。

Claude Codeには、更新台帳、投稿文、予約CTA、公開前チェックを作らせます。人は、価格、営業時間、アレルギー、写真、予約枠を確認します。店舗のSNS文を整えたい人は 飲食店のメニュー説明とSNS投稿文、多言語メニューを作りたい人は 居酒屋の多言語メニュー も読んでください。

実際に試した結果

この記事では、Googleビジネスプロフィールのメニューエディタ、投稿、営業時間編集、Food Menus API、people-first contentの公式ページを確認しました。そのうえで、飲食店の季節メニュー更新を、更新台帳、投稿文、予約CTA、公開前チェックに分けました。

検証コードでは、必須項目、価格、アレルギー確認、写真承認、売り切れメニュー、CTA数を確認しました。実際の投稿やメニュー更新は、Googleの管理画面またはAPIで行い、反映後のURL、営業時間、予約ボタン、写真、Webメニューの一致を人が見ます。今日やる1手は、今の季節メニューを1行の台帳にして、Google、Web、SNS、予約ページの4箇所で同じ価格と提供時間になっているか見る作業です。

#claude-code #飲食店 #google-business-profile #メニュー更新 #予約
無料

無料PDF: Claude Code はじめてのチートシート

まずは無料PDFで基本コマンドと最初の使い方をまとめて確認してください。登録後はそのままテンプレート集や導入相談にも進めます。

スパムは送りません。登録情報は厳重に管理します。

Claude Codeを仕事で使える形にしませんか?

まず無料PDFで基本を固め、繰り返し使う作業はGumroad教材へ、チーム導入や権限設計は導入相談へ進めます。

Masa

この記事を書いた人

Masa

Claude Codeの実務活用、導入設計、収益導線改善を検証しているエンジニア。10言語の技術メディアを運営中。

PR

関連書籍・参考図書

この記事のテーマに関連する書籍を楽天ブックスで探せます。

※ 当サイトは楽天市場のアフィリエイトプログラムに参加しています。上記リンクから商品をご購入いただくと、運営者に紹介料が支払われる場合があります。