WiseAI Agency — Google Reviews Onsite Display
What renders
wiseaiagency.com home page — a "What clients say" section (id #reviews,
between the "Who we're for / not for" section and the FAQ) renders every
review tagged wiseaiagency in src/lib/reviews/google-business-reviews.ts,
one card per review: star rating, reviewer name, full verbatim text
(paragraph breaks preserved), and a "Read on Google" link to the public
listing.
realtywiseai.com home page — the same data source, filtered to reviews
tagged realtywiseai, replaces the page's former "illustrative" placeholder
testimonial figure (which was explicitly labelled as not a real quote).
Attribution rules (hard requirement)
reviewerNameis copied exactly as Google Maps displays it — full name if Google shows a full name, first-name-and-initial if that is what Google shows. Never expand, infer, or "clean up" a name.textis verbatim — no paraphrasing, trimming, or copy-editing. Paragraph breaks the reviewer typed are preserved.ratinganddatePublishedare recorded as Google displayed them at capture time. Google Maps shows only a relative date ("6 days ago"), never an absolute one —datePublishedis that relative time resolved against the capture date and is documented in the data file as approximate (accurate to the day, not the minute).- Every review links to the public listing
(
WISEAI_AGENCY_GOOGLE_LISTING_URL) via "Read on Google" so a visitor can verify it themselves. - No fabricated content. A review that cannot be captured verbatim is omitted, not reconstructed from a partial/truncated preview. (See the Terry Beckett Sutton Woodstock omission below — a live example of this rule being applied.)
No fabricated content — the Terry Beckett omission
At capture time (2026-09-29) the public listing showed three 5-star reviews: Terry Beckett Sutton Woodstock, Sheri Beckett, and Anthony Denny. Terry Beckett's review could not be captured in full: Google's "See more" control would not expand it across roughly 15 different interaction attempts (direct click, keyboard Enter/Space activation, a fresh browser tab, the dedicated Reviews tab, re-sorting), and partway through the capture session it stopped appearing in the reviews list entirely — even though the listing's aggregate count stayed at "3 reviews" / 5.0 average.
Rather than publish a truncated fragment or reconstruct the missing body
text, that review is not included in google-business-reviews.ts. The
data file documents this at its top and is shaped so a fourth object can be
appended the moment the full text is captured verbatim (e.g., from the
Business Profile owner dashboard, or once the public listing stabilizes).
Consequence: realtywiseai.com currently shows only one real-estate review (Sheri Beckett of Team Beckett) instead of the two originally expected (Sheri + Terry, the two halves of Team Beckett).
Schema.org
Each review is nested as a Review node under the site's existing
Organization JSON-LD (wiseaiagency.com: ORG_JSON_LD in
src/app/wiseaiagency/layout.tsx; realtywiseai.com:
REALTYWISE_JSON_LD.organization in src/lib/vertical-json-ld.ts) via
googleReviewJsonLd().
No aggregateRating is emitted anywhere. Google's own review count for
this listing can drift from what this file captures (see the Terry Beckett
omission), so asserting an aggregate that might not exactly match the live
listing's count/average would be a false, verifiable-as-wrong claim. If a
future update wants to add aggregateRating, it must exactly match Google's
current public count and average at the time of that update, not the count
of reviews rendered onsite.
Adding a review later
Append one object to GOOGLE_BUSINESS_REVIEWS in
src/lib/reviews/google-business-reviews.ts with the reviewer's name,
rating, an approximate datePublished, the verbatim text, and the
sites array it should appear on. No component change is needed — both
pages render whatever reviewsForSite() returns.
Related PRs
- Implementation: churchwiseai-web PR #1772 (
feat/google-reviews-onsite). FEATURE_REGISTRY.mdentry: DEV repo PR (branchdocs/feature-registry-google-reviews), a one-line addition under WiseAI Agency → Local Business Platform.