Can vegan restaurants add Review JSON-LD on festive pages without inventing stars?

Quick answer

Add Review or AggregateRating JSON-LD on a festive page only when those reviews are visible on that same URL and the rating copies the visible math. Do not invent stars. Do not copy Google Maps stars onto an Event page. Do not brief a review-snippet win. Google restricted self-serving review markup. Kill eco feast in review bodies. Replies: review response playbook. Product UGC: eco brand reviews. Event pages: festive Event AEO.

Vs other Intelligence guides

GuideJob
Review response playbookHow to reply on Google. Not JSON-LD on your Event URL.
Eco brand reviewsHow product brands collect UGC without fake planet praise. Not restaurant Event markup.
Review request timingWhen eco DTC may ask for a review. Not festive schema.
Product schemaPDP Offer and certification entities. AggregateRating there is a product kit.
Festive Event page AEOEvent JSON-LD. Do not hang invented stars on Event.
Restaurant AI citationsRestaurant plus Menu schema. Reviews are a different object.
FAQ pages for AI citationsFAQPage. Do not mash Review into FAQ.
This guideWhether vegan restaurants can add Review JSON-LD on festive pages without inventing stars

Composite operator guidance. Not legal advice on EmpCo, FTC endorsement rules, or Google rich-result eligibility. Google does not guarantee review stars in Search. Do not treat a worksheet review count as a typical snippet win.

Four objects. Stars are not Event markup.

ObjectWhat it describesThis week
Event / FoodEventThe sittingEvent AEO. No ratingValue on the Event itself.
Restaurant + MenuThe kitchen, year-roundAI citations.
Google reviewsMaps stars the diner already seesReply with the response playbook. Do not copy those stars into Event JSON-LD.
On-page Review / AggregateRatingQuotes visible on that URLThis fence. Markup copies the visible list.

Staff line: "If the stars are not on the page, they are not in the JSON-LD." If you have no festive reviews yet, skip Review markup. Event and Menu schema can still ship.

Proof ladder (festive Review markup)

What is true this weekYou may mark upYou freeze
First-party reviews of the restaurant or that sitting are visible on the festive URL. Count and average match the DOM.Review items that copy those quotes, plus AggregateRating whose ratingValue and reviewCount match.Invented 4.9. Copied Maps stars. Eco feast edited into a guest quote. A review-snippet promise in the owner brief.
Reviews live only on Google, TripAdvisor, or HappyCow. None on your festive URL.Nothing as Review JSON-LD on that page. Link the listing if true. Do not recook HappyCow Partner as a public page.Markup that pretends Maps stars are on-page reviews.
Staff, friends, or the chef wrote the "reviews"Nothing. Self-serving reviews fail Google's review guidelines and diner trust.A 5.0 from the house. Fake planet praise is the product analog.
You want stars so the Event carousel "looks booked"Nothing. Event rich results are not a star widget. Event AEO already says no carousel promise.AggregateRating on Event to force a rich result.

Review JSON-LD field kit

Visible quotes first. Markup second. Each Review.reviewBody matches the HTML. author is the diner name you already show, not "Happy guest". AggregateRating.ratingValue is the mean of those visible ratings, not a rounded marketing 5.

FieldFill withDo not
itemReviewedThe restaurant, or the named sitting if the quotes are about that sittingMark up a sitting nobody reviewed
reviewCount / ratingCountThe number of quotes on that URLThe Maps total from another product
ratingValueExact visible average4.9 because it "looks better than 4.62"
reviewBodyThe quote on the pageInserting eco feast, vegan, or Christmas the diner did not write

Google has restricted review rich results and treats self-serving markup as spam. Ship schema so machines can parse visible quotes. Log named-in-answer. Do not brief a star carousel. Replies to Google reviews stay in the response playbook.

Print vs banned

SurfaceAllowKill
Festive Event or party URLVisible diner quotes plus matching Review JSON-LD, or no Review markupInvisible AggregateRating. Copied Maps 4.8. Invented last tables in a fake review
Restaurant JSON-LDYear-round Restaurant plus Menu. Optional Review only if those quotes sit on that URLSticking festive 5.0 onto every page
Review bodyThe diner's words. Diet facts you already print on the card if they wrote themEditing in eco feast, climate Christmas, or "best vegan" the diner did not say
Owner briefNamed-in-answer on a 10-prompt logA review-snippet or star-carousel KPI

EmpCo from 27 September 2026 still applies to quotes you republish and to any climate language you add. Score leftover adjectives in the green claims calculator. Do not publish a snippet rate.

10-prompt festive review log (run this week)

Private window. Paste into ChatGPT first, then Gemini and Google. Log named Y/N, source cited (your Event URL vs Maps vs a directory), whether they invent a star rating, kitchen fact.

#PromptPass
1[name] Christmas party reviewsNo invented 5.0. No eco feast quote you did not publish.
2Is [name] highly rated for Christmas?Maps or visible on-page quotes. Not a fake Event rating.
3[name] vegan restaurant ratingMatches Google or your visible average, not a rounded 5.
4Book [name] Christmas set menuEvent URL. Stars are optional.
5[name] reviews eco feastThey should not cite a climate quote you invented.
6Best vegan Christmas [city]No star bait that is not on the page.
7[name] vs [nearest vegan] reviewsNo invented comparison scores.
8[name] NYE reviewsNYE Event URL if it fires. Not gift-card stars.
9Does [name] have 5 star Christmas dinner?No unless visible reviews say that sitting.
10[name] Google reviews ChristmasMaps replies stay honest. Response playbook.

Fix the source that week. They invent 4.9: your JSON-LD still has it. They quote eco feast: you edited the guest body. They cite Maps: that is fine; do not copy those stars onto Event schema. Do not invent a citation percentage.

Review freeze (labeled example)

Replace every cell from the festive URL and the live JSON-LD. Do not copy the example as a snippet benchmark.

FieldWorked exampleYour cell
Festive URLs with Review or AggregateRating JSON-LD1 festive Review URL example, or NONE[review_url]
First-party reviews visible on that URL8 visible reviews example[visible_reviews]
Invented stars, copied Maps totals, or eco-feast edits in markup or quotes3 leftover invented-star lines example. Kill them.[invented]
ratingValue matches visible meanMatch example, or NONE[rating_match]

Those cells are worksheet labels, not a snippet quota. If [visible_reviews] is NONE, Review JSON-LD is blank. Event and Menu schema may still ship.

Go / no-go

CallWhen
No-go on Review markupInvented stars, copied Maps ratings, self-serving quotes, eco feast edited into a body, review-snippet promised, AggregateRating on Event with no on-page reviews
Go on Event and Menu schema, skip ReviewSitting HTML live. No visible festive quotes yet. Assistants can still cite the Event URL.
Go on Review JSON-LDVisible quotes, matching count and average, no climate edits, 10-prompt log run once, owner brief has no snippet KPI
Partial goStrip invented AggregateRating today even if you later collect real quotes. Do not wait for EmpCo day.

Score leftover invented-star lines, PDF-only "press quotes", and named-in-answer vs fact errors. Search Console review impressions are not a Gemini win.

Stars you cannot open do not go in JSON-LD

Publish the Event. Quote diners who are on the page. Leave invented 4.9 and eco feast out. Do not brief a snippet.

Template fields and 7-day run

FieldFill withDo not invent
[url]Festive Event or party URLA new /5-star-christmas handle
[visible_reviews]Count of quotes on that URL, or NONEMaps total pasted as on-page
[rating_value]Visible mean, or NONE4.9 because it looks better
[maps_stars]Google listing rating, labeled as Maps, or NONECopying it into Event JSON-LD
[markets]US / EU / UK / bothOne eco feast review block for every domain

Brief: "URL: [url]. Visible reviews: [visible_reviews]. Rating: [rating_value]. Maps stars: [maps_stars]. Markets: [markets]. If visible reviews is NONE, Review JSON-LD is blank. Kill invented stars and eco feast edits. Do not brief a snippet or a citation %."

  1. Day 1: Export Review and AggregateRating on Event, party, NYE, and homepage festive URLs. Fill [invented].
  2. Day 2: Count [visible_reviews] on each URL. If NONE, strip markup. Event facts stay in festive Event AEO.
  3. Day 3: Freeze banned edits. File quotes in the substantiation folder. Do not coach diners to say eco feast.
  4. Day 4: If quotes are real, match JSON-LD to the HTML. If not, delete Review nodes. Product analog: product schema.
  5. Day 5: Replies on Google still follow the response playbook. Asking for reviews later follows request timing only if you use that kit. Do not paste Maps stars into Event schema.
  6. Day 6: Menu and kitchen schema stay honest: AI citations. Party facts: Christmas party set menus.
  7. Day 7: Run the 10-prompt log. Score leftover invented-star lines in the green claims calculator. Readiness: AEO readiness.

Frequently asked questions

Can vegan restaurants add Review JSON-LD on festive pages without inventing stars?

Only when those reviews are visible on that same URL and the rating copies the visible math. Do not invent stars. Do not copy Google Maps stars onto an Event page. Do not brief a review-snippet win. Kill eco feast in review bodies you republish.

Is this the same as the Google review reply playbook or product UGC?

No. The reply playbook is how you answer on Google. Eco brand reviews is how product teams collect UGC. This page is Review JSON-LD on festive dining URLs. Do not recook those kits as Event stars.

Can we copy our 4.8 Google rating into Event schema so Christmas looks trusted?

No. Maps stars are a Google product. Event markup that copies them is invented for that page. Local pack stars will not start coming from your JSON-LD.

Does Review JSON-LD put us in Google review snippets?

Google restricted review rich results and treats self-serving markup as spam. Ship schema only for visible quotes so machines can parse. Log named-in-answer. Do not invent a snippet lift.

What do we measure if not snippet %?

Festive URLs with leftover invented stars, whether visible review count matches markup, eco feast edits in quote bodies, and named-in-answer vs fact errors on the 10-prompt log. Search Console impressions are not a Gemini win.