The Single Schema Change That Raised CTR 33%

Last August we added aggregateRating and Review schema to a single landing page on a Paramus law firm's site. Two specific pages, one specific service. No new c
The Single Schema Change That Raised CTR 33%

Last August we added aggregateRating and Review schema to a single landing page on a Paramus law firm’s site. Two specific pages, one specific service. No new content, no new backlinks, no PageSpeed work that week. Six weeks later, click-through rate from Google search to those two pages was up 33% — from 4.1% to 5.5% averaged across the impressions Search Console tracked. Traffic to those pages went from 480 sessions a month to 712. Same rankings. Same content. The rich snippet in the search result did the work.

This is the cheapest, fastest, most under-used technical SEO move available, and most WordPress sites doing it are doing it wrong. Whether you work with us or not, here’s the version that actually fires star ratings into Google’s search results and stays compliant with Google’s spam policies.

Why Most Plugin-Generated Review Schema Is Invalid

The dominant pattern: a site installs a “schema markup” plugin, the plugin sprays aggregateRating JSON-LD across every page using made-up ratings, and the owner thinks they’re done. Three problems. Google requires reviews to be genuinely collected, displayed on the page, and about a specific product or local business — not the site-wide brand. The schema must attach to the correct type (LocalBusiness, Product, Service — not WebPage). And fabricated ratings violate Google’s review snippet spam policy.

We’ve audited 40+ sites this year with review schema in place. Roughly 28 had at least one of those problems. Google’s response to fabricated markup is to silently stop showing rich snippets — sometimes for months. Nobody tells you. You just notice CTR is bad.

The Schema Combination That Actually Fires Stars

For a service business in Bergen County, the structure that consistently triggers star snippets in our testing:

  • Type: LocalBusiness (or a specific subtype — LegalService, HomeAndConstructionBusiness, MedicalBusiness — whichever fits) for the business itself, NOT WebPage or Organization.
  • aggregateRating with itemReviewed pointing to the LocalBusiness entity, ratingValue (decimal allowed), reviewCount (integer, must match what’s visible on the page), bestRating (5), worstRating (1).
  • Review array — at least 3-5 individual reviews, each with author (Person with name), reviewBody (the actual text), reviewRating, and datePublished. The reviews must be visible to a human on the page, not just in the JSON-LD.
  • Single source of truth. One schema block on the page, in JSON-LD format (not Microdata, not RDFa). Multiple conflicting schema blocks from different plugins is the #1 reason Google ignores the markup.

The Validate-In-Search-Console Workflow

The mistake most sites make is validating once with Google’s Rich Results Test, seeing the green checkmark, and walking away. The Rich Results Test tells you the schema is parseable. It does NOT tell you Google will actually show it in search. Three more steps required.

One, request indexing in Search Console for the URLs you added schema to. Two, wait 7-14 days, then check “Enhancements → Review snippets” — if URLs show “Valid,” Google sees them. “Valid with warnings” or “Invalid” means fix and re-request. Three, monitor CTR in the Performance report week-over-week. A successful deployment shows a lift within 14-28 days. If 30 days pass with no lift, the schema isn’t firing regardless of what the Rich Results Test said.

What the Lift Actually Looked Like

Back to the Paramus law firm. Before: avg position 4.2, CTR 4.1%, ~480 sessions/month across the two target pages. The schema work took ~90 minutes — pulling 5 real reviews from their GBP, embedding them visibly on the page, and adding one hand-written JSON-LD block via a small mu-plugin. After 6 weeks: position 4.3, CTR 5.5%, 712 sessions/month. Estimated annual revenue impact based on their lead-to-client value: about $34,000.

What to Do This Week

Open Google’s Rich Results Test and paste in your highest-traffic landing page. If you see fabricated counts, schema on WebPage instead of LocalBusiness, or three conflicting blocks, kill all of it. Pull real reviews from your GBP, embed them visibly, add ONE hand-written JSON-LD block, request indexing, check Search Console in two weeks. A 30%+ CTR lift on your top three pages is $10K-$40K/year in new revenue for most B2B services.

How AJD Handles This

Every AJD SEO engagement starts with a schema audit — we pull what’s currently on the site, validate it against Google’s spec, kill anything fabricated or conflicting, and rebuild the top 5 landing pages with hand-written JSON-LD tied to real, visible reviews. We then track the Search Console enhancements report weekly until rich snippets are confirmed firing. The cost of doing this once on a 20-page site is usually a single project engagement, not a retainer — it’s a one-time fix with a permanent CTR lift. Free audit, real validation, no retainer required to see the gaps.


Want a free 30-minute schema audit of your top 5 landing pages — what’s there, what’s invalid, what’s costing you CTR? You keep the audit whether you hire us or not.

Book Free Discovery Call →

Table of Contents

AJD Digital Solutions

Need a clearer digital plan?

Improve your website, visibility, content, and analytics with a practical next step from AJD.

Subscribe

Get practical digital growth notes.

Receive occasional AJD insights on websites, SEO, local visibility, content, and analytics. Useful guidance only — no noise.

No spam. Unsubscribe anytime.

Book Free Discovery Call