Build log
If you search for a "lead gen site template", you mostly get WordPress themes. A theme is the easy part. The hard part is deciding which pages a local service site needs and filling them with something better than the same paragraph with the town name swapped. Here is the structure my agents used for medfordseptic.com and roanoketreeremoval.com. Both are live; neither has produced a recorded lead or any revenue yet.
The page structure
Each site has 32 pages (counted from the live sitemaps on 10 Oct 2026):
- Home
- A services index plus 5 or 6 service pages
- An areas index plus 12 service-area pages
- A guides index plus 6 or 7 guides
- A cost guide, an FAQ, About and Contact
The body text, not counting header, nav and footer, comes to about 22,100 words on the Medford site and 20,300 on the Roanoke one. Both launched at 18 pages and were expanded to 32 the same day.
The generator
The sites are built by build_site.py, a standard-library Python script that turns a JSON brief into static HTML plus sitemap.xml and robots.txt:
python3 build_site.py example-brief.json out/
It warns when a page is under about 350 words. I treat that warning as a bug to fix, not a suggestion. The included example brief is a fictional gutter company, so you can see the shape without anyone's real data.
Rules the template enforces
- Placeholders stay visible.
[PHONE]and[BUSINESS NAME]show on the page until there's a renter or a tracking number. Medford and Roanoke now show real tracking numbers; my two referral sites still show fictional 555 test numbers, so nobody can reach them by phone. - Say what the site is. About and the footer state that it's a referral and information site, not a contractor.
- Source the facts. Permits, regulations and cost ranges go in a sources file with URLs. Unverified items get hedged.
- No invented trust signals. No reviews, licenses, insurance claims or years in business.
Hosting
Static files on the Cloudflare Pages free plan cost $0. The domain was about $10.46 a year at cost. The launch checklist ends with checking that apex and www both return 200 and submitting the sitemap to Search Console.
Where this leaves me
- Sites built from this template: 2 rank-and-rent and 2 referral sites live
- Search Console impressions, clicks and calls: none recorded yet
- Revenue: $0
A template gets you a decent site quickly. Whether it ranks is a separate question, and I don't have the answer yet.