How do I get ChatGPT and Google to recommend my vegan restaurant when people ask "best vegan near me"?

Quick answer

Treat Google and the assistants as two jobs. The map pack still leans an honest Google Business Profile. ChatGPT, Gemini, and similar tools recommend you when GBP, crawlable Restaurant + Menu JSON-LD, reviews, and vegan listing sites all say the same kitchen facts. Do not invent a citation-lift percentage. Do not mark VeganDiet on a vegetarian dish or a "we can veganize it" line. GBP fields: vegan restaurant Google listings. Product JSON-LD: AI product schema.

Vs other Intelligence guides

GuideJob
Local SEO for green businessesRetail/service NAP and location pages. Not restaurant schema
Vegan restaurant Google listingGBP category, attributes, menu URL, photos, Q&A
AI product schemaProduct / Offer JSON-LD on PDPs. Not Restaurant or Menu
Vegan menu claimsTicket language. Schema must copy that matrix
This guideRestaurant + Menu JSON-LD, 15-prompt log, listing-site fact match, monthly re-query

Two surfaces, one kitchen

SurfaceWhat feeds itThis week
Google local pack / MapsGBP category, hours, attributes, photos, reviews, menu URLFinish the listing field kit. Schema does not replace it
ChatGPT, Gemini, CopilotGBP plus HTML, Restaurant/Menu JSON-LD, reviews, vegan listing sites, city editorialMake those sources identical. Then re-query and log what they cite

Gemini leans Google Search, so a messy GBP shows up twice. ChatGPT still quotes directories when the site is a PDF menu. Do not buy a GEO package that promises a citation percentage.

Restaurant + Menu field kit

One JSON-LD graph in the initial HTML on the homepage or location page. Validate in Google's Rich Results Test. Kill duplicate Restaurant blocks from plugins.

FieldPutDo not
@typeRestaurantProduct, or a fake type that is not on schema.org
NAP, geo, urlExact GBP name, address, phone, coordinatesA trading-as name GBP does not use
openingHoursSpecificationKitchen hours. Seasonal hours with validFrom / validThroughBar hours as kitchen hours
servesCuisineCuisine you cook (Thai, bakery, pizza)Stuffing "Vegan" as cuisine while dairy is on the line
priceRangeSame band as GBPA luxury band you do not charge
menuOwned HTML menu URL (Google's documented property)A third-party PDF that goes stale
hasMenuMenu object with sections and itemsA second menu URL that disagrees with menu
sameAsGoogle Maps URL plus live vegan listing-site profilesDead booking or directory URLs

Google's restaurant carousel is limited access. Ship schema so machines can parse you. Do not brief the owner on a carousel win.

Dish flags (the vegan claim)

Kitchen truthOn that MenuItemBanned
No intentional animal ingredients, including honey, dairy, stockhttps://schema.org/VeganDiet (array if also gluten-free)Whole-menu vegan while one dessert is not
Vegetarian (eggs, dairy, or honey)https://schema.org/VegetarianDietVeganDiet "because most people do not notice"
Omnivore plate, vegan swap on requestOmit vegan. Describe the swap in HTML only if you run itSchema says vegan, ticket says "can be made vegan"
Shared fryer / cross-contactKeep the diet enum if ingredients are vegan. No free-from claimEncoding allergy safety in VeganDiet. See menu claims

Each item needs name, a short description that matches the ticket, and offers with price plus priceCurrency. Stale prices teach models not to trust you. There is no schema.org enum for nut-free. Put that in visible copy, not a made-up diet URL.

15-prompt assistant log (run this week)

Private window. Paste each line into ChatGPT and Gemini, and search Google as a diner in your city. Log named Y/N, source cited, diet fact, hours/menu URL.

#PromptPass
1Best vegan near meYou appear for the city they assume. Wrong city is a geo fail
2Best vegan restaurant in [city]Right vegan vs vegetarian label
3Best vegan [cuisine] in [neighborhood]Cuisine matches GBP and servesCuisine
4Is [name] fully vegan?Yes or no matches the kitchen
5Does [name] use honey, butter, or animal stock?Named yes/no
6Vegan restaurants open now near [landmark]Hours match GBP and schema
7Best vegan brunch in [city]Only if you serve brunch
8[name] vegan menuCites your owned menu URL
9Gluten-free vegan in [city]Only if those MenuItems exist
10Vegan takeout near meService options match GBP
11Kid-friendly vegan restaurant [city]Only if the listing says so
12[name] reservationsSame rule as the reservation link
13Is [name] vegetarian or vegan?Trap prompt. Do not let them collapse the two
14Best plant-based restaurant [city]Check they did not downgrade you to "vegan options"
15[name] vs [nearest vegan competitor]No invented dish or wrong hours

Fix the source of the error that week. Directory says vegetarian: patch the directory. Gemini cites wrong GBP hours: patch GBP. Both invent a vegan dessert: your MenuItem list is missing or stale.

Vegan listing sites and NAP parity

Assistants quote vegan listing sites, booking pages, and city blogs. One row per profile: name, address, phone, hours, website, vegan vs vegetarian vs vegan-friendly, menu URL. Match GBP and schema. Paid placement does not fix a wrong diet label.

  1. Claim or request edit on every profile that ranks for your name.
  2. Hours the same day you change GBP.
  3. Diet label: fully vegan vs vegetarian with vegan dishes vs omnivore with vegan options. "Vegan restaurant" on a cheese board is review bait.
  4. Menu URL you own. Kill PDFs that disagree with JSON-LD prices.

Monthly re-query and go / no-go

CallWhen
No-goVeganDiet (or vegan directory category) while any intentional animal ingredient is on the menu
GoGBP honest, Restaurant JSON-LD validates, MenuItems match the ticket, listing sites fact-matched, 15-prompt log run once
Partial goGBP and NAP live now. Menu JSON-LD waits until the vegan section is actually vegan

Each month: re-run the 15 prompts and log cited URLs. Measure named-in-answer and fact-error count, not a ranking percentage.

Schema is a claim surface

If the ticket, GBP, JSON-LD, and a vegan listing site disagree, the angry review and the assistant will pick the worst version. Align the kitchen first, then the markup.

Frequently asked questions

How do I get ChatGPT and Google to recommend my vegan restaurant when people ask "best vegan near me"?

Keep Google Business Profile honest for the local pack. Publish Restaurant and Menu JSON-LD that matches the ticket. Align vegan listing sites and reviews to the same facts. Re-query ChatGPT, Gemini, and Google with a 15-prompt log. Do not invent a citation percentage. Do not mark dishes vegan that are not.

Does Restaurant schema replace Google Business Profile?

No. The map pack is still a GBP job. Schema helps crawlers and assistants parse hours, cuisine, menu URL, and dish-level diet flags. Do both.

Should every dish get VeganDiet in schema?

Only dishes with no intentional animal ingredients. Vegetarian items use VegetarianDiet. Swaps-on-request stay out of VeganDiet until that plate is vegan on the ticket.

How is this different from product schema or retail local SEO?

Product schema is Offer JSON-LD on PDPs. Retail local SEO is NAP and location pages for shops. This is restaurant entity markup plus assistant queries for dining.

Can we pay a vegan listing site instead of fixing schema?

Paid placement does not fix a vegetarian label, stale hours, or a missing menu URL. Assistants quote those fields. Accurate listings plus matching JSON-LD beat a boosted profile that disagrees with GBP.