Fictional business / The lead-call business
Riverbend Plumbing & Drain


Purpose
Get the phone to ring for the high-value jobs: water heater, emergency, sewer.
Who it is for
Trades. Plumbers, HVAC, roofers, electricians.
Essential features, and why
- Number everywhere plus the sticky call bar, because the phone call is the next step.
- Emergency CTA, because urgent problems need a clear route to a person.
- One page per core service, because water heater, drain cleaning, leak detection, and emergency searches ask different questions.
- Service area page, because visitors need to know whether the business serves their town.
- License and insurance line, because customers need verifiable credentials on a real build.
- A street address and a named crew with portraits, because a homeowner wants to know who is coming to the door.
- Reviews with the service and the town under each, because a homeowner wants to hear from a neighbour with the same problem.
- Prices as “from” numbers in text, because $89 diagnostic, from $1,450 install, and from $149 drain answer the cost question.
Add if you want more
- A page for each additional service the business really offers.
- A page per priority town, with real local detail.
- Project pages for real completed jobs, one job per page.
- An answers section built from the questions homeowners ask.
- Financing and maintenance-plan pages only when those programs exist.
- Build the revenue services first, never every combination.
Get found (SEO and AI search)
- LocalBusiness schema on every service page, FAQ schema where the questions are.
- llms.txt that answers who replaces water heaters in Riverbend and what it costs.
- Google Business Profile for Maps, site pages for search: different lanes.
- Starting prices as text on every service page.
Secure and mobile
- Sticky call bar on the phone.
- Form delivery tested to the owner before launch, with Turnstile.
- Privacy page, HTTPS, security headers, custom 404.
- The 375px check on every service page.
What this build teaches
1.4, 6.3, Business Kit: put the next action first, make service answers findable, and build the revenue services first.
Ship-checklist scorecard
176 passed · 0 failed. Folder checks only. Staged headers, live routing, form delivery, and phone interactions are not verified.
- Pass Site directory
- Pass HTML pages
- Pass 404.html: Unique title
- Pass 404.html: Unique description
- Pass 404.html: Canonical
- Pass 404.html: One H1
- Pass 404.html: Favicon
- Pass 404.html: OG image
- Pass 404.html: JSON-LD parses
- Pass 404.html: Noindex
- Pass 404.html: Example banner
- Pass about/index.html: Unique title
- Pass about/index.html: Unique description
- Pass about/index.html: Canonical
- Pass about/index.html: One H1
- Pass about/index.html: Favicon
- Pass about/index.html: OG image
- Pass about/index.html: JSON-LD parses
- Pass about/index.html: Noindex
- Pass about/index.html: Example banner
- Pass contact/index.html: Unique title
- Pass contact/index.html: Unique description
- Pass contact/index.html: Canonical
- Pass contact/index.html: One H1
- Pass contact/index.html: Favicon
- Pass contact/index.html: OG image
- Pass contact/index.html: JSON-LD parses
- Pass contact/index.html: Noindex
- Pass contact/index.html: Example banner
- Pass index.html: Unique title
- Pass index.html: Unique description
- Pass index.html: Canonical
- Pass index.html: One H1
- Pass index.html: Favicon
- Pass index.html: OG image
- Pass index.html: JSON-LD parses
- Pass index.html: Noindex
- Pass index.html: Example banner
- Pass privacy/index.html: Unique title
- Pass privacy/index.html: Unique description
- Pass privacy/index.html: Canonical
- Pass privacy/index.html: One H1
- Pass privacy/index.html: Favicon
- Pass privacy/index.html: OG image
- Pass privacy/index.html: JSON-LD parses
- Pass privacy/index.html: Noindex
- Pass privacy/index.html: Example banner
- Pass reviews/index.html: Unique title
- Pass reviews/index.html: Unique description
- Pass reviews/index.html: Canonical
- Pass reviews/index.html: One H1
- Pass reviews/index.html: Favicon
- Pass reviews/index.html: OG image
- Pass reviews/index.html: JSON-LD parses
- Pass reviews/index.html: Noindex
- Pass reviews/index.html: Example banner
- Pass service-area/index.html: Unique title
- Pass service-area/index.html: Unique description
- Pass service-area/index.html: Canonical
- Pass service-area/index.html: One H1
- Pass service-area/index.html: Favicon
- Pass service-area/index.html: OG image
- Pass service-area/index.html: JSON-LD parses
- Pass service-area/index.html: Noindex
- Pass service-area/index.html: Example banner
- Pass services/drain-cleaning/index.html: Unique title
- Pass services/drain-cleaning/index.html: Unique description
- Pass services/drain-cleaning/index.html: Canonical
- Pass services/drain-cleaning/index.html: One H1
- Pass services/drain-cleaning/index.html: Favicon
- Pass services/drain-cleaning/index.html: OG image
- Pass services/drain-cleaning/index.html: JSON-LD parses
- Pass services/drain-cleaning/index.html: Noindex
- Pass services/drain-cleaning/index.html: Example banner
- Pass services/emergency-plumbing/index.html: Unique title
- Pass services/emergency-plumbing/index.html: Unique description
- Pass services/emergency-plumbing/index.html: Canonical
- Pass services/emergency-plumbing/index.html: One H1
- Pass services/emergency-plumbing/index.html: Favicon
- Pass services/emergency-plumbing/index.html: OG image
- Pass services/emergency-plumbing/index.html: JSON-LD parses
- Pass services/emergency-plumbing/index.html: Noindex
- Pass services/emergency-plumbing/index.html: Example banner
- Pass services/index.html: Unique title
- Pass services/index.html: Unique description
- Pass services/index.html: Canonical
- Pass services/index.html: One H1
- Pass services/index.html: Favicon
- Pass services/index.html: OG image
- Pass services/index.html: JSON-LD parses
- Pass services/index.html: Noindex
- Pass services/index.html: Example banner
- Pass services/leak-detection/index.html: Unique title
- Pass services/leak-detection/index.html: Unique description
- Pass services/leak-detection/index.html: Canonical
- Pass services/leak-detection/index.html: One H1
- Pass services/leak-detection/index.html: Favicon
- Pass services/leak-detection/index.html: OG image
- Pass services/leak-detection/index.html: JSON-LD parses
- Pass services/leak-detection/index.html: Noindex
- Pass services/leak-detection/index.html: Example banner
- Pass services/water-heater-repair-and-installation/index.html: Unique title
- Pass services/water-heater-repair-and-installation/index.html: Unique description
- Pass services/water-heater-repair-and-installation/index.html: Canonical
- Pass services/water-heater-repair-and-installation/index.html: One H1
- Pass services/water-heater-repair-and-installation/index.html: Favicon
- Pass services/water-heater-repair-and-installation/index.html: OG image
- Pass services/water-heater-repair-and-installation/index.html: JSON-LD parses
- Pass services/water-heater-repair-and-installation/index.html: Noindex
- Pass services/water-heater-repair-and-installation/index.html: Example banner
- Pass thanks/index.html: Unique title
- Pass thanks/index.html: Unique description
- Pass thanks/index.html: Canonical
- Pass thanks/index.html: One H1
- Pass thanks/index.html: Favicon
- Pass thanks/index.html: OG image
- Pass thanks/index.html: JSON-LD parses
- Pass thanks/index.html: Noindex
- Pass thanks/index.html: Example banner
- Pass 404.html present
- Pass robots.txt present
- Pass sitemap.xml present
- Pass llms.txt present
- Pass .assetsignore present
- Pass Asset exclusion: .git
- Pass Asset exclusion: plans/
- Pass Asset exclusion: *.md
- Pass Asset exclusion: wrangler.jsonc
- Pass Header: Strict-Transport-Security
- Pass Header: X-Content-Type-Options
- Pass Header: X-Frame-Options
- Pass Header: Referrer-Policy
- Pass 404 routing
- Pass No forbidden strings
- Pass Fictional phone numbers
- Pass Fictional email addresses
- Pass HTTP /
- Pass HTTP /: Strict-Transport-Security
- Pass HTTP /: X-Content-Type-Options
- Pass HTTP /: X-Frame-Options
- Pass HTTP /: Referrer-Policy
- Pass HTTP /robots.txt
- Pass HTTP /robots.txt: Strict-Transport-Security
- Pass HTTP /robots.txt: X-Content-Type-Options
- Pass HTTP /robots.txt: X-Frame-Options
- Pass HTTP /robots.txt: Referrer-Policy
- Pass HTTP /sitemap.xml
- Pass HTTP /sitemap.xml: Strict-Transport-Security
- Pass HTTP /sitemap.xml: X-Content-Type-Options
- Pass HTTP /sitemap.xml: X-Frame-Options
- Pass HTTP /sitemap.xml: Referrer-Policy
- Pass HTTP /llms.txt
- Pass HTTP /llms.txt: Strict-Transport-Security
- Pass HTTP /llms.txt: X-Content-Type-Options
- Pass HTTP /llms.txt: X-Frame-Options
- Pass HTTP /llms.txt: Referrer-Policy
- Pass HTTP /404.html
- Pass HTTP /404.html: Strict-Transport-Security
- Pass HTTP /404.html: X-Content-Type-Options
- Pass HTTP /404.html: X-Frame-Options
- Pass HTTP /404.html: Referrer-Policy
- Pass HTTP /missing-f6454150876a4e0fa22877660c24a013
- Pass HTTP /missing-f6454150876a4e0fa22877660c24a013: Strict-Transport-Security
- Pass HTTP /missing-f6454150876a4e0fa22877660c24a013: X-Content-Type-Options
- Pass HTTP /missing-f6454150876a4e0fa22877660c24a013: X-Frame-Options
- Pass HTTP /missing-f6454150876a4e0fa22877660c24a013: Referrer-Policy
- Pass HTTP /wrangler.jsonc
- Pass HTTP /wrangler.jsonc: Strict-Transport-Security
- Pass HTTP /wrangler.jsonc: X-Content-Type-Options
- Pass HTTP /wrangler.jsonc: X-Frame-Options
- Pass HTTP /wrangler.jsonc: Referrer-Policy
- Pass HTTP /plans/SPEC.md
- Pass HTTP /plans/SPEC.md: Strict-Transport-Security
- Pass HTTP /plans/SPEC.md: X-Content-Type-Options
- Pass HTTP /plans/SPEC.md: X-Frame-Options
- Pass HTTP /plans/SPEC.md: Referrer-Policy