This playbook is built under the 3-tool workflow: Figma for the 20% that carries the brand (hero + MOAT sections), Bricks AI Studio for the 80% that repeats (grids, rows, accordions, chip bars), Claude/Nexus to orchestrate briefs.
NN_type_descriptor Β· lowercase + underscores Β· number matches the § in the Section-by-Section spec Β· starts at 01, no 00_header.Your reviews page says "check out our customer reviews" but shows ZERO actual reviews. It only displays association badges and credential info. A prospect who clicks "Reviews" expecting social proof sees nothing and bounces. With 384+ Google reviews at 4.9 stars, this page should be your trust nuclear weapon.
| Element | Status | Issue |
|---|---|---|
| β Actual customer reviews | MISSING | Zero reviews displayed anywhere on the page |
| π Association badges | PRESENT | PHCC, ICC, IAPMO, BBB A++ displayed |
| π Review aggregation widget | MISSING | No Birdeye, Elfsight, or Google embed |
| π AggregateRating schema | MISSING | No review schema = no stars in search results |
| π± Review filtering | MISSING | Can't filter by service type, date, or rating |
| π₯ Video testimonials | MISSING | No video reviews (Gercken has them, you don't) |
| π Review response display | MISSING | Owner responses not shown (trust signal) |
| Option | Tool | Cost | Effort | Best For |
|---|---|---|---|---|
| Option 1: Birdeye Widget | Birdeye (already have account) | $0 (included) | 1 hour | Auto-sync Google reviews, filter by source |
| Option 2: Elfsight Widget | Elfsight Google Reviews | $0-$6/mo | 30 min | Quick embed, customizable design |
| Option 3: Google Places API | Custom build | $0 (API free tier) | 4-6 hours | Full control, matches site design exactly |
| Option 4: Manual Curation | Oxygen Builder | $0 | 3-4 hours | Hand-picked best reviews, full design control |
You have TWO pages doing similar trust-building work: /about-us/ tells Kalen's story, /quality-plumber/ profiles the team + association memberships. This splits your authority signals across two URLs. Google sees two thin pages instead of one strong one. Visitors bounce between them. Merging into one powerhouse page concentrates E-E-A-T signals and simplifies navigation.
| Element | /about-us/ | /quality-plumber/ | Merged Page |
|---|---|---|---|
| Kalen's origin story | β Detailed | β Not present | β Keep |
| Stephanie mention | β Wife/partner | β Not present | β Keep |
| Individual plumber bios | β Not present | β Mario, Brian, Thomas, Mauro, James | β Keep + expand |
| Association memberships | β Not present | β PHCC, ICC, IAPMO | β Keep |
| Service guarantees | β On-time, pricing, warranty | β Not present | β Keep |
| 3-step process | β Call, assess, fix | β Not present | β Keep |
| E-E-A-T signals | Partial | Partial | β Combined = strong |
| Team photos | β Kalen only | β Headshots | β Gallery |
| Schema markup | Basic Place only | Basic Place only | β Organization + Person |
| # | Step | Owner | Time |
|---|---|---|---|
| 1 | Copy /quality-plumber/ team bios + photos into /about-us/ page (new section) | Robert | 1 hr |
| 2 | Add guarantees section with dollar amounts ($50 late credit, $200 cleanup) | Robert | 30 min |
| 3 | Add Organization + Person schema (JSON-LD in page header) | Robert | 30 min |
| 4 | Set up 301 redirect: /quality-plumber/ β /about-us/#our-team | Robert | 10 min |
| 5 | Update all nav links from "Quality Plumber" to point to /about-us/#our-team | Robert | 15 min |
| 6 | Verify redirect works, no 404s, internal links updated | Robert | 15 min |
Good news: your FAQ page already has FAQPage schema (confirmed via Playwright). But it only has 7 questions covering emergencies. No sewer questions, no pricing questions, no "how do I know if I need..." questions. These are the queries that trigger Google's "People Also Ask" boxes. More FAQs = more featured snippet opportunities = more clicks from search.
| Element | Status | Notes |
|---|---|---|
| FAQPage schema | YES | Schema exists and is valid |
| Question count | 7 only | Target: 25-40 questions |
| Topics covered | Emergency only | Missing: sewer, water heater, pricing, process |
| Accordion UI | NO | All answers displayed flat (not expandable) |
| Category grouping | NO | Questions not organized by service type |
| Internal links in answers | NO | Answers don't link to service or blog pages |
| Search box | NO | Can't search within FAQs |
| Category | Question | Links To |
|---|---|---|
| π§ Sewer | How much does sewer repair cost in Kansas City? | /sewer-repair/ |
| π§ Sewer | What are signs my sewer line needs repair? | /sewer-repair/ |
| π§ Sewer | What is trenchless sewer repair? | /trenchless-sewer-repair/ |
| π§ Sewer | Does homeowners insurance cover sewer line repair? | /sewer-repair/ |
| π§ Sewer | How long does sewer repair take? | /sewer-repair/ |
| π§ Sewer | What is a sewer camera inspection? | /sewer-cleaning/ |
| π₯ Water Heater | How much does water heater installation cost? | /water-heaters-installation/ |
| π₯ Water Heater | Tankless vs tank water heater: which is better? | /water-heaters-installation/ |
| π₯ Water Heater | How long does a water heater last? | /water-heaters-installation/ |
| πͺ Drain | How often should drains be professionally cleaned? | /plumbing-services/drain-cleaning/ |
| πͺ Drain | What is hydro jetting and when is it needed? | /plumbing-services/drain-cleaning/ |
| π₯ Gas Line | How do I know if I have a gas leak? | (existing, keep) |
| π₯ Gas Line | Can you install a gas line for my outdoor grill? | /plumbing-services/ |
| π° Pricing | Do you offer free estimates? | /contact-us/ |
| π° Pricing | Do you offer financing for plumbing repairs? | /financing/ |
| π° Pricing | What does "flat-rate pricing" mean? | /about-us/ |
| π Process | What should I expect during a service call? | /about-us/ |
| π Process | Do you offer after-hours or emergency service? | /contact-us/ |
| π Process | What areas do you serve? | /service-area-kansas-city/ |
| π Process | Are your plumbers licensed and insured? | /about-us/ |
| π General | How do I prevent frozen pipes in winter? | /learning-center/ |
| π General | Why is my water bill so high? | (existing, keep) |
| π General | Should I get a plumbing inspection before buying a home? | /plumbing-services/ |
In Oxygen Builder, use the Toggle or Accordion element. Each category gets its own heading (H2), with questions as toggle items underneath. This is cleaner than a flat list and Google still reads the FAQPage schema.
You have 3 open positions and your careers page has good culture content (6 core values, employee testimonials, strong benefits). But without JobPosting schema, your jobs don't show up in Google for Jobs. That's where most candidates search now. Adding schema = free job board listing on Google.
| Element | Status |
|---|---|
| β Core values (6) | STRONG "We do the job right, We are always growing..." |
| β Employee testimonials | PRESENT James Gardner, Mario |
| β Benefits listed | STRONG Medical, dental, 401k, fitness, PTO |
| β Open positions (3) | LISTED Apprentice, Installer, Service Plumber |
| β JobPosting schema | MISSING Not showing in Google for Jobs |
| β Salary/pay range | MISSING Google prioritizes listings with pay info |
| β Application form | UNCLEAR "More info" links to sub-pages |
The financing page is your best-performing supporting page already. Wisetack + Acorn Finance are live. The 3-step process is clear. The gap is small: add a monthly payment calculator widget so customers can see what a $7,500 sewer repair costs at $X/month BEFORE they call. This removes the #1 objection: "I can't afford it."
| Element | Status |
|---|---|
| β Wisetack integration | LIVE 0-29.9% APR, 3-60 months |
| β Acorn Finance backup | LIVE "Get Financed" button |
| β 3-step process | CLEAR Apply > Accept > Confirm |
| β Key benefits listed | PRESENT No hidden fees, soft pull, paperless |
| β Iframe embed | PRESENT 1 iframe detected |
| β Payment calculator | MISSING Can't estimate monthly payment |
| β Common service costs | MISSING No price examples to finance |
| β FAQ section | MISSING No financing-specific FAQs |
The contact page is your #1 conversion endpoint. Every CTA on the site points here. It's working (Playwright confirmed, not a 500 error), but it can be improved.
| Element | Status | Notes |
|---|---|---|
| π Address | PRESENT | 12022 Blue Valley Pkwy, Overland Park, KS 66213 |
| π Phone | PRESENT | 913-963-1029 (displayed multiple times) |
| π Hours | INCONSISTENT | Header: Mon-Fri 7am-9pm, Sat 9am-5pm. Footer: Mon-Fri 7am-6pm, Sat 9am-4pm |
| π Form | PRESENT | 2 forms detected, service type selector with emojis |
| πΊοΈ Map | MISSING | No embedded Google Map despite "hasMap" in schema |
| π Schema | PRESENT | Place schema with GeoCoordinates |
| π― Service type picker | NICE | 8 service icons: Sewer, Emergency, Drain, Water Heater, Leak, Gas, Sewer Replace, Other |
The coupons page currently shows the same contact form as the contact page. No actual coupons, offers, or deals are displayed. This is a dead page that ranks for "Bright Side Plumbing coupons" but delivers nothing. Either populate it with real offers or redirect it to the contact page with a promo code field.
| Element | Status |
|---|---|
| ποΈ Actual coupons/offers | NONE Page is a duplicate of /contact-us/ |
| π Form | PRESENT Same booking form as contact page |
| π° $200 off sewer (from service pages) | NOT HERE Offer exists on /sewer-repair/ but not on /coupons/ |
| π Offer schema | MISSING |
| π Title tag | WRONG Says "Contact Bright Side Plumbing" not "Coupons" |
If no offers are planned, 301 redirect /coupons/ to /contact-us/ and remove it from the footer nav. This eliminates the duplicate content issue.
| Priority | Page | Effort | Revenue Impact | Quick Win? |
|---|---|---|---|---|
| π΄ 1 | Contact: Fix hours inconsistency | 10 min | Trust (visitors see conflicting info) | β YES |
| π΄ 2 | Coupons: Fix title tag + add offers OR redirect | 30 min | SEO (duplicate content penalty risk) | β YES |
| π΄ 3 | Reviews: Add Birdeye widget + AggregateRating schema | 1-2 hrs | HIGH (social proof on every search result) | β YES |
| π‘ 4 | FAQ: Expand from 7 to 30 questions + accordion UI | 3-4 hrs | MEDIUM (People Also Ask, voice search) | Phase 2 |
| π‘ 5 | About Us: Merge /quality-plumber/ + add schema | 2-3 hrs | MEDIUM (E-E-A-T consolidation) | Phase 2 |
| π‘ 6 | Careers: Add JobPosting schema (3 positions) | 1-2 hrs | LOW (hiring, not revenue) | Phase 2 |
| π’ 7 | Financing: Add payment calculator widget | 2-3 hrs | MEDIUM (objection removal) | Phase 3 |
Source: BSP_REMAINING_PAGES_MASTER_PLAYBOOK.html (fetched 2026-05-01). Brand canon: CLAUDE.md.
The master playbook covers 7 pages: Reviews, About, FAQ, Careers, Financing, Contact, Coupons. Six of those have dedicated decks in this audrey_copy folder already. This file captures:
Apply to every page on callbrightside.com.
Per the master playbook these are the highest-leverage corrections.
For each individual service URL: /services/sewer-repair, /services/water-heater, /services/drain-cleaning, etc.
H1 formula: {Service} in Kansas City. 5th-Generation Master Plumbers. Sub: Same-day {service} across the KC metro. Family-owned, licensed, insured since 1940.
Reused 6 chips.
Bullet list of every step in the standard scope.
"Starting at" flat-rate. Link to financing page for monthly payment.
Reused from homepage pattern, edited to service-specific.
3 to 5 problem scenarios in homeowner language.
Live API filter on the service name.
Call (913) 963-1029. Book Online. Free Camera Inspection (on sewer pages).
H1: This Pipe Doesn't Exist Anymore. Sub: Looks like the page moved or was retired. Try one of these.
Quick links list.
CTA. Call (913) 963-1029 (yellow #FFEA00) for instant help.
Use template language with these BSP-specific facts.
Use standard plumbing service ToS template with these BSP-specific clauses.
Plain HTML sitemap. List every URL grouped by section.
H1: Plumbing Tips and Stories from Our KC Crew. Sub: Real advice from a five-generation family of plumbers. Sewer, drain, water heater, and DIY-don't-do-this content.
Card grid. Each card. Title + 2-line excerpt + Read More link.
For each page where the master playbook overlaps with a dedicated deck, see:
Option A (canonical, mirrors Homepage and Locations) H1: {Service} in Kansas City. 5th-Generation Master Plumbers. Sub: Same-day {service} across the KC metro. Family-owned, licensed, insured since 1940. Option B (problem-first) H1: Need {Service} Today? Our Crew Is in Your Neighborhood. Sub: Five generations of Kansas City plumbing. Same-day. Free camera inspection with any sewer repair. Option C (transparent pricing) H1: {Service}. Flat-Rate Starting at {price}. No Surprise Add-Ons. Sub: Five generations of Kansas City plumbing. Same-day. Two-year warranty.
Option A (recommended, plumbing humor without losing trust) H1: This Pipe Doesn't Exist Anymore. Sub: Looks like the page moved or was retired. Try one of these. Option B (direct) H1: Page Not Found. Sub: Looks like that link is broken. Here's where to go next. Option C (call-to-action lead) H1: We Couldn't Find That Page. We Can Probably Find Your Plumbing Problem. Sub: Call (913) 963-1029 or browse below.
Option A (recommended) H1: Plumbing Tips and Stories from Our KC Crew. Sub: Real advice from a five-generation family of plumbers. Option B (educational) H1: How Kansas City Plumbing Actually Works. Sub: Field notes from our crew. Sewer, drain, water heater, and what not to DIY.
H1 should be plain. "Privacy Policy", "Terms of Service", "Sitemap". No marketing dressing.
Hero.
After "Common Problems" section. See Pricing (text link, scrolls to Section 04) After Reviews section. Read More Reviews (text link, links to /reviews) Final block.
Primary buttons.
Quick links list (text only).
Per-card. Read More (text link, #30C5FF) Final block. Subscribe to Plumbing Tips (yellow #FFEA00, opens email capture). Microcopy. One email a month. Real plumbing advice. No spam.
These pages are utility, not conversion. No primary CTAs. Footer-level "Call (913) 963-1029" persists.
Single Q. Q. Were you trying to find a service or location page? Try the homepage or call (913) 963-1029. Our dispatcher will route you faster than the search bar.
Single Q. Q. Are these articles written by real plumbers? Yes. Every post is reviewed by our master plumber before publishing. No AI-generated SEO filler.
Not applicable. These pages do not need an FAQ section.
Primary source: BSP_REMAINING_PAGES_MASTER_PLAYBOOK.html (fetched 2026-05-01). Brand canon: CLAUDE.md.
The master playbook covers 7 pages, all of which have dedicated /audrey_copy/{slug}/ decks. This deck adds:
| Element | Source | Notes | |---|---|---| | Cross-page brand tokens | Playbook Β§Cross-Page Copy Rules + CLAUDE.md | Verbatim. | | Stephanie format | Playbook + CLAUDE.md | Applied. | | Mobile-first 44/16 spec | Playbook Β§Cross-Page Rules | Verbatim. | | No em dashes / no emojis | Playbook + CLAUDE.md | Verbatim. | | Schema layering rules | Playbook Β§Schema | Adjusted: removed "Person" schema per Audrey directive (no individual headshots/faces). | | Quick-Win bug list | Playbook Β§Priority Implementation | Verbatim. | | Contact hours bug | Playbook Β§F. Contact Page Β§Critical Bug | Verbatim header/footer mismatch. | | Coupons title-tag bug | Playbook Β§G. Coupons Β§Critical Bug | Verbatim. | | Service Detail template | Track_d draft, derived from Homepage Playbook Β§04 + Locations Playbook Β§06 | Pending Kalen sign-off per Menu Strategy ownership rule. | | 404 hero | Track_d draft | Honest plumbing-themed copy without losing trust. | | Privacy Policy facts | Track_d draft, derived from CLAUDE.md (data flow to Wisetack/GreenSky/Acorn) | Pending legal review. | | Terms of Service clauses | Playbook + CLAUDE.md (dispatch fee, warranty, guarantees) | Pending legal review. | | Sitemap structure | Track_d draft from full URL inventory | Standard plumbing-site sitemap. | | Blog Index hero | Track_d draft | Aligns with brand voice. |
The master playbook Cross-Page schema list includes "Person" as a per-page option. Removed from this deck per Audrey directive (May 1 9:37 AM): no individual focus, no individual headshots, team-as-collective framing. If a future page uses Person schema, route through Audrey for sign-off.