メニューの写真は、文字を写した絵です
多くの飲食店サイトは、印刷したメニューを撮った写真やPDFでメニューを見せています。大きな画面で、目のよいお客様なら、それでも問題はありません。それ以外の人に届く情報は減ります。スクリーンリーダーが読めるのは画像の代替テキストだけです。ブラウザの翻訳ボタンは写真をそのまま残します。ページ内検索では何も見つかりません。スマートフォンでは、指で拡大してメニューの上を動かすことになります。
検索エンジンとAIアシスタントも同じ立場です。ページを取得するクローラーが受け取るのは画像ファイルです。Googleは、キャプションや画像のタイトルを含む周囲のページの内容から画像を理解すると説明しています。写真の中の料理名や価格は、そのテキストには含まれません。
Midori Sushiの公式メニューは、画像10枚で届きました。いま同じメニューは、店舗のウェブサイト上で24セクション・210項目の文字になっています。デザインはMidoriの制作事例で紹介しました。この記事では、飲食店のメニューを公開するたびに使っている方法をまとめます。
専用ページに、すべての料理を文字で
- 独自のURL・タイトル・説明を持つメニュー専用ページ。ホームページとGoogleビジネスプロフィールのメニューリンクからつなぎます。
- すべての料理を文字で。料理名、メニューにあれば短い説明、そして価格を、店舗自身のセクション分けのまま並べます。
- メニュー全体をサーバーが送るHTMLに含め、スクリプトが動く前から読めるようにします。
- 長いメニューには検索とカテゴリの絞り込みを付けます。Midori Sushiのメニューでは、料理名や食材を入力すると、一致した項目数が表示されます。
検索エンジンとAIアシスタントが受け取るもの
ウェブ検索を使って答えるAIアシスタントは、OAI-SearchBot、PerplexityBot、ClaudeBotといった独自のクローラーでページを取得します。2026年9月27日、Midori Sushi、King Katsu Land、Cocobangのメニューページは、これらのクローラーとGooglebotのすべてにページ全体を返しました。各クローラーが受け取ったのは、メニューを写した絵ではなく、文字のメニューでした。
同じ事実を構造化データで
各メニューページには、schema.orgの語彙による構造化データもあります。MenuはMenuSectionに分かれ、その中にMenuItemがあり、ページに価格がある場合はその価格を米ドルで持つOfferが付きます。店舗自体の構造化データは、このメニューを指しています。
構造化データは、目に見えるメニューの代わりではありません。どの数字がどの料理の価格かを推測しなくても、ソフトウェアが読める形で同じ内容をもう一度書くものです。私たちのルールは、ページに表示されていることだけを書くことです。2026年9月27日に公開ページを確認したところ、Midori Sushi(価格141件)とKing Katsu Land(29項目・価格33件)のメニューデータにあるすべての価格が、ページ上でその料理の隣に表示されていました。
3つのサイトとも、メニューページと構造化データを1つのメニューファイルから生成しています。そのため、価格を一度直せば両方が同時に変わります。
価格は正確に。でなければ載せません
メニューページの価値は、価格の正確さで決まります。価格は店舗の公式メニューから写し、空欄を推測で埋めることはしません。
価格が2つある料理もあります。Midori Sushiでは、寿司は1貫、刺身は3切れ単位で価格が決まり、ワインはグラスとボトルに分かれます。ページでは列見出し付きの表で示します。構造化データでは、これらの料理の価格を1つに決めて入れることはせず、2つの価格はページの表が示します。
Midoriの別建てのグルテンフリーメニューは、独自の6セクション・47項目と、その価格をそのまま保っています。
確認できていない価格は、ページに載せません。Cocobangのメニューページは5カテゴリ・26品を価格なしで掲載し、構造化データも各料理の名前だけを価格なしで持っています。注文したいお客様は、Uber Eats、DoorDash、Grubhubの店舗ページへ進みます。
PDFは残し、内容は文字で
店舗がすでにPDFのメニューを持っていることは多く、印刷用としては今も便利です。そこでPDFはダウンロード用に残し、内容はページとして公開します。Midori Sushiのランチスペシャルは、PDFで届きました。いまランチページには17種類のスペシャルが味噌汁付き$15から$19.50まですべて文字で載り、それぞれの価格は構造化データにも入っていて、PDFへのリンクもあります。
旧メニューのURLを生かしておく
サイトビルダーから移転すると、旧メニューページはしばらく検索結果やブックマークに残ります。旧URLがエラーページを表示すれば、そのリンクを押したお客様は行き止まりです。
公開前に、旧サイトのサイトマップと、検索エンジンにまだ残っているページからURLを集め、旧メニューのURLごとに新しいメニューページへの恒久的な(301)リダイレクトを設定します。WixとSquarespaceから移転した飲食店サイトでは、/20、/price、/featureのような旧URLが、クエリ文字列を保ったまま一度で現在のメニューにつながります。
公開後にも見直します。あるサイトでは、移転後に旧/newark-menuのURLが検索結果に現れ、エラーページを表示していました。いまはこのURLもメニューへリダイレクトします。
季節メニューと価格の変更
文字のメニューは直しやすいぶん、気づかないうちに古くなりやすくもあります。そのため、メニューページには最終確認日を書いておくべきです。Midori Sushiのメニューには「Menu and prices checked September 17, 2026」とあり、注文時に現在の価格を確認するよう案内しています。ランチページは9月22日に確認しました。
季節の料理は、始まるときにセクションと価格を付けてメニューファイルに加え、終わったら外します。確認日も一緒に更新します。ページと構造化データが同じファイルから生成されるので、どちらか一方だけが取り残されることはありません。
メニューのアクセシビリティは文字から
Midori Sushiのメニューページでは:
- 24のセクションそれぞれに見出しがあり、スクリーンリーダーでセクション間を移動できます。
- 価格が2つある料理は、キャプションと列見出し(「Sushi · 1 pc」「Sashimi · 3 pc」など)の付いた表に入っています。
- 検索欄にはラベルがあり、一致する項目数が変わるたびに読み上げられます。
- 生の料理には凡例で説明した印が付き、辛い料理は言葉で示します。
- 文字がスマートフォンの画面幅に合わせて折り返すので、写真のように拡大して動かす必要がありません。
メニューページのチェックリスト
- すべての料理と価格が、写真やPDFの中だけでなく、店舗サイトのページに文字で載っている。
- 価格は現在の公式メニューから取っている。確認できない価格は推測せず、載せない。
- 価格が2つある料理は、列見出し付きの表で両方を示している。
- ページにMenuの構造化データがあり、その中のすべての価格がページに表示されている。
- メニューを最後に確認した日がページに書かれている。
- Googleビジネスプロフィールのメニューリンクがこのページを指している。
- 旧サイトのメニューURLが、新しいページへ301リダイレクトされる。
- 検索エンジンとAI検索のクローラーがページを取得できる。
- セクションに見出しがあり、スマートフォンの画面幅でも、スクリプトが動く前でも、メニューが正しく読める。
この記事の事実は、私たちのプロジェクト記録と、2026年9月27日に確認した公開メニューページに基づいています。
