Red Anchor Pools
A fast, static-first website build and local SEO program for a pool service company in Middle Tennessee.
The goal: dominate local search for pool services across Sumner and Davidson County. We rebuilt the site from the ground up, engineered an SEO-first content structure, and wired up lead capture that routes straight to the owner's inbox.
The Brief
A Local Business That Needed to Be Findable
Red Anchor Pools offers chemical balancing, filter cleaning, equipment repair, and full-service pool care. Like most local service businesses, their customers don't shop on brand — they Google "pool service near me" and click the first handful of results. The old site wasn't ranking, wasn't converting, and wasn't fast. We replaced all three.
10
Service-specific landing pages generated for local SEO — one per service × city
92%
Hero image size reduction — 2.8 MB down to 242 KB via WebP conversion
4
Types of structured data added for rich results — LocalBusiness, Service, FAQ, Breadcrumb
The Build
Static, Fast, and Lead-Ready
No CMS, no WordPress, no plugins to patch. Plain HTML and Tailwind served from Cloudflare's edge network, with a small Worker handling the contact form. It loads in under a second and costs nothing to run.
Static Site on Cloudflare Pages
The whole site is hand-written HTML + Tailwind, deployed to Cloudflare Pages. That means sub-second load times from any location in the US, zero server to patch, and a deployment workflow that's a single command. For a small business, this is the right default — no monthly hosting, no maintenance window, no surprise downtime.
Edge-Delivered
Files cached at 275+ Cloudflare data centers. TTFB under 100 ms from anywhere in North America.
Image Optimization
Hero image converted to WebP with JPEG fallback — 2.8 MB to 242 KB, a 92% reduction.
Mobile-First
Tailwind responsive utilities. Layout works cleanly from 320 px phones to 4K displays.
Service-Page Generator Script
Instead of hand-writing a page for every service/city combination, we built a small Node script that generates all of them from a config. Five services × two cities = ten pages today. Adding a new city is a one-line change and a single command. Each page has a unique title, meta description, Service schema, and copy block customized for that service-city pairing — no duplicate-content penalties, no manual find-and-replace.
Contact Form → Worker → Owner Inbox
The contact form posts to a dedicated Cloudflare Worker that validates, rate-limits, and forwards the submission to the owner's email via the Resend API. No third-party form services, no leaky email addresses in HTML, no spam floods. Leads arrive in the owner's inbox within seconds of being submitted, already formatted and ready to reply to.
The SEO
Engineered for Local Search
Local service businesses don't compete on domain authority — they compete on relevance, proximity, and technical health. We optimized all three.
Structured Data for Rich Results
Four types of schema.org markup shipped site-wide so Google can parse the business and render rich results in the SERP:
LocalBusiness
Name, address, phone, hours, and service areas (Hendersonville and Gallatin, TN) in machine-readable form.
Service
Each service page declares its offering type, provider, and area served — helps Google match the page to specific intent.
FAQPage
Six pool-service FAQs rendered as schema — eligible for expandable answers directly in Google search results.
BreadcrumbList
Breadcrumbs on every interior page give Google a clean site hierarchy and improve sitelinks in search.
Service × City Landing Pages
Someone searching "pool cleaning hendersonville tn" has a specific intent. Generic homepages don't rank for that query — purpose-built landing pages do. We generated ten of them: five services (pool cleaning, chemical balancing, filter cleaning, green-to-clean, equipment repair) across two cities (Hendersonville and Gallatin). Each page targets one head keyword, cross-links to related services, and includes a city-specific service schema block.
Technical SEO Essentials
Beyond content and schema, the boring stuff that actually moves the needle on Core Web Vitals and crawl efficiency:
Canonical URLs + Sitemap
Every page declares its canonical and is listed in sitemap.xml with lastmod dates. No crawler confusion, no duplicate-content issues.
Meta + OG Tags
Every page has a unique title and description (no template defaults) plus Open Graph tags for clean social previews.
Core Web Vitals
Image compression, font preconnects, deferred non-critical JS — LCP, CLS, and INP all in the green.
GA4 + Search Console
GA4 tracking on every page. Sitemap submitted to Search Console so indexing updates are visible within hours, not weeks.
Purposeful Internal Linking
Homepage service cards link to each service page with descriptive anchor text. Each service page cross-links to related services and back to the city page. This builds topical authority, distributes PageRank intelligently, and keeps users on site longer — which Google reads as a quality signal.
Under the Hood
Boring Tech, Brilliant Results
Static HTML
No framework
Tailwind CSS
Styling
Cloudflare Pages
Hosting
Cloudflare Workers
Contact form
Resend API
Lead email
Schema.org
Structured data
Node.js
Page generator
GA4
Analytics
Want This For Your Business?
Local business websites that rank, load fast, and actually convert. If you're a service business tired of paying monthly fees for a site that doesn't work, let's talk.
Contact Us