v2 is untouched and still live. This is a parallel /v3/ build so the two can be
compared before anything becomes a rule. Leads chosen to span the range: Willow & Oak is the fattest
lead we have, KJP the thinnest.
Scored by me, which is worth stating plainly: I built these, so treat this as a structured self-assessment rather than an independent verdict. Owner card scored on a 500px phone frame, since that is where the QR lands.
| Lead | Source material | Scorecard A — owner | A | Scorecard B — homeowner | B | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Looks dearer | Recognise themselves | Could not write it | Nothing wrong | Would send | Clear in 5s | Trust pre-scroll | Answers the query | Easy to contact | Learned something | ||||
| Willow & Oak tree surgery, fat |
85 reviews, 3 specific quotes, 5 real photos, own copy | 5 | 5 | 5 | 4 | 5 | 24 | 5 | 5 | 4 | 4 | 5 | 23 |
| Moe's Group landscaping, mid |
3 quotes, real photos, 3 trades | 5 | 4 | 5 | 4 | 4 | 22 | 4 | 4 | 4 | 4 | 5 | 21 |
| Cheltenham Tree tree surgery, mid-thin |
1 site testimonial, 1 usable photo, gallery refused | 4 | 4 | 5 | 4 | 4 | 21 | 4 | 3 | 4 | 4 | 5 | 20 |
| Greaterscapes landscaping, thin |
199-word source site, 0 harvested quotes, 65 reviews unread | 4 | 3 | 5 | 4 | 4 | 20 | 4 | 3 | 4 | 4 | 5 | 20 |
| KJP Fencing fencing, thinnest |
No usable photos (generated hero), 3 site testimonials, 4 services | 4 | 3 | 5 | 3 | 3 | 18 | 4 | 3 | 4 | 4 | 5 | 20 |
KJP is the case the framework predicted: A 18, B 20. Useful page, but the owner sees a generated hero and only four services and does not fully recognise the firm. Per the spec that is the "never gets bought" quadrant, and the fix is harvesting their Google reviews and getting real photographs, not changing the template.
| Spec item | State | Evidence |
|---|---|---|
| Tier 4 variant pools, 5 each | done | process, areas, enquiry, guidance intro, mid-CTA. Selection deterministic and collision-free within a sub-cluster. |
| Neighbour test | passes | Moe's vs Greaterscapes went from 5/5 identical blocks to 0/5. Process headings now differ: "From first call to finished" vs "What happens after you get in touch". |
| Review header branching | done | Willow & Oak specific, Moe's/Cheltenham/KJP generic, Greaterscapes none. KJP correctly demoted after a fix. |
| Em-dash in title tag | fixed | All five clean. Was broken on every build. |
| Style toggle on customer page | fixed | Injected by JS only when ?style= is present. |
| Duplicate hero, two H1s | fixed | One hero in the DOM, one H1 on all five. |
| Footer NAP trailing comma | fixed | Empty county no longer leaves "Stroud,". |
| FAQ block + FAQPage schema | done | 6 questions per niche, 18 written. LocalBusiness + Service + FAQPage JSON-LD on every build. |
| Tier 3 region layer | partial | Cotswolds cluster only, 2 cards per niche, 1 rendered. Spec asked for 3 variants per cluster. |
| Durability test on trust bar | fixed | "10 years of tree work" became "Since 2016 in Nailsworth". |
| Mid-page CTA after reviews | done | Present on all five. |
| Areas: towns only, 4+ fallback | done | Counties filtered; KJP went from "Cheltenham, Gloucester, Gloucestershire" to 5 real towns. |
| Four-service layout variant | done | KJP renders 2x2 rather than a gapped 3-col grid. |
| Opening hours in NAP | not done | We do not hold opening hours for any lead. Would have to be invented, so it is omitted. |
| Blog: 2 national + 3 local | not done | Local article angles are written in region.mjs but not yet generated. Articles remain the 5 national ones. |
| Unique blog text per site | not done | Articles are still Tier 2 shared, so the duplicate-content problem persists on /advice/. |
| Article schema + internal linking | not done | Advice index still points at index.html#services rather than the specific service. |
| Reviews-to-services loop | not done | Willow & Oak's top review still names stump grinding, which is not in the six services. |
region before it was declared, inside a
try/catch that swallowed the ReferenceError. Neighbours kept identical copy and the build reported success.
The catch now rethrows programming errors.The spec says Tier 4 needs "five minimum each, never repeats within a postcode district". Five variants covers a sub-cluster of five firms. The Gloucestershire landscaping cohort already has nine names, and if we keep sourcing at this rate the pools will be exhausted within a wave or two. Options are more variants, tighter clusters, or accepting repetition beyond the immediate neighbours. I would take tighter clusters plus a warning when a cohort exceeds pool size, but it is your call.