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
| Guide | Job |
|---|---|
| Review response playbook | How to reply on Google. Not JSON-LD on your Event URL. |
| Eco brand reviews | How product brands collect UGC without fake planet praise. Not restaurant Event markup. |
| Review request timing | When eco DTC may ask for a review. Not festive schema. |
| Product schema | PDP Offer and certification entities. AggregateRating there is a product kit. |
| Festive Event page AEO | Event JSON-LD. Do not hang invented stars on Event. |
| Restaurant AI citations | Restaurant plus Menu schema. Reviews are a different object. |
| FAQ pages for AI citations | FAQPage. Do not mash Review into FAQ. |
| This guide | Whether 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.
| Object | What it describes | This week |
|---|---|---|
| Event / FoodEvent | The sitting | Event AEO. No ratingValue on the Event itself. |
| Restaurant + Menu | The kitchen, year-round | AI citations. |
| Google reviews | Maps stars the diner already sees | Reply with the response playbook. Do not copy those stars into Event JSON-LD. |
| On-page Review / AggregateRating | Quotes visible on that URL | This 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 week | You may mark up | You 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.
| Field | Fill with | Do not |
|---|---|---|
itemReviewed | The restaurant, or the named sitting if the quotes are about that sitting | Mark up a sitting nobody reviewed |
reviewCount / ratingCount | The number of quotes on that URL | The Maps total from another product |
ratingValue | Exact visible average | 4.9 because it "looks better than 4.62" |
reviewBody | The quote on the page | Inserting 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
| Surface | Allow | Kill |
|---|---|---|
| Festive Event or party URL | Visible diner quotes plus matching Review JSON-LD, or no Review markup | Invisible AggregateRating. Copied Maps 4.8. Invented last tables in a fake review |
| Restaurant JSON-LD | Year-round Restaurant plus Menu. Optional Review only if those quotes sit on that URL | Sticking festive 5.0 onto every page |
| Review body | The diner's words. Diet facts you already print on the card if they wrote them | Editing in eco feast, climate Christmas, or "best vegan" the diner did not say |
| Owner brief | Named-in-answer on a 10-prompt log | A 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.
| # | Prompt | Pass |
|---|---|---|
| 1 | [name] Christmas party reviews | No invented 5.0. No eco feast quote you did not publish. |
| 2 | Is [name] highly rated for Christmas? | Maps or visible on-page quotes. Not a fake Event rating. |
| 3 | [name] vegan restaurant rating | Matches Google or your visible average, not a rounded 5. |
| 4 | Book [name] Christmas set menu | Event URL. Stars are optional. |
| 5 | [name] reviews eco feast | They should not cite a climate quote you invented. |
| 6 | Best vegan Christmas [city] | No star bait that is not on the page. |
| 7 | [name] vs [nearest vegan] reviews | No invented comparison scores. |
| 8 | [name] NYE reviews | NYE Event URL if it fires. Not gift-card stars. |
| 9 | Does [name] have 5 star Christmas dinner? | No unless visible reviews say that sitting. |
| 10 | [name] Google reviews Christmas | Maps 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.
| Field | Worked example | Your cell |
|---|---|---|
| Festive URLs with Review or AggregateRating JSON-LD | 1 festive Review URL example, or NONE | [review_url] |
| First-party reviews visible on that URL | 8 visible reviews example | [visible_reviews] |
| Invented stars, copied Maps totals, or eco-feast edits in markup or quotes | 3 leftover invented-star lines example. Kill them. | [invented] |
| ratingValue matches visible mean | Match 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
| Call | When |
|---|---|
| No-go on Review markup | Invented 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 Review | Sitting HTML live. No visible festive quotes yet. Assistants can still cite the Event URL. |
| Go on Review JSON-LD | Visible quotes, matching count and average, no climate edits, 10-prompt log run once, owner brief has no snippet KPI |
| Partial go | Strip 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
| Field | Fill with | Do not invent |
|---|---|---|
[url] | Festive Event or party URL | A new /5-star-christmas handle |
[visible_reviews] | Count of quotes on that URL, or NONE | Maps total pasted as on-page |
[rating_value] | Visible mean, or NONE | 4.9 because it looks better |
[maps_stars] | Google listing rating, labeled as Maps, or NONE | Copying it into Event JSON-LD |
[markets] | US / EU / UK / both | One 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 %."
- Day 1: Export Review and AggregateRating on Event, party, NYE, and homepage festive URLs. Fill [invented].
- Day 2: Count [visible_reviews] on each URL. If NONE, strip markup. Event facts stay in festive Event AEO.
- Day 3: Freeze banned edits. File quotes in the substantiation folder. Do not coach diners to say eco feast.
- Day 4: If quotes are real, match JSON-LD to the HTML. If not, delete Review nodes. Product analog: product schema.
- 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.
- Day 6: Menu and kitchen schema stay honest: AI citations. Party facts: Christmas party set menus.
- 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.