Course content
Read the playbook
Module-by-module deep dive. Every prompt, template, and number is here.
1. The 7-day delivery plan
| Day | Focus | Output |
|---|---|---|
| 0 (Mon) | Onboarding form complete; kickoff call | Brief, brand assets, GBP access |
| 1 (Tue) | Sitemap, IA, copy briefs | Sitemap doc, copy brief per page |
| 2 (Wed) | AI generation + edit pass | First draft of all pages |
| 3 (Thu) | Design polish, photos, brand | Visual draft on staging |
| 4 (Fri) | Speed, schema, mobile, forms | Tech-complete site on staging |
| 5 (Mon) | QA checklist + client review | Sign-off list of edits |
| 6 (Tue) | Edits + final QA | Approved site |
| 7 (Wed) | Launch + handoff | Live site, training video, GA/GBP wired |
2. The discovery brief — exact questions
Send before the kickoff call. The kickoff is to clarify, not to extract.
- Business name, tagline, and one-sentence pitch.
- Top 3 services. Which is most profitable?
- Service area cities (in priority order).
- Top 5 competitors (with URLs).
- 3 websites you like and why (any industry).
- Brand colors, logo, fonts (or "I have none").
- 10–20 high-quality photos of work, team, location.
- The exact phone number and email used for inbound leads.
- Booking system you want (Calendly / Hermes form / phone-only).
- Any social proof: reviews to feature, awards, certifications, "since 1998."
3. Information architecture for local sites
Default sitemap for a local-business site (8–12 pages):
- Home — hero with city + service, social proof, services overview, GBP/reviews, CTA
- About — story, team, certifications, photo proof
- Services hub — list of services with one-line descriptions
- Service detail × 3–5 — one per major service (e.g., "Drain cleaning", "Water heater repair")
- Service-area pages × 3–8 — one per city/neighborhood (the "geo pages" — covered in Course 05)
- Reviews / Testimonials
- Contact — form, map, phone, hours
- Blog — index + first 3–5 articles
- Privacy / Terms
4. AI copy briefs that don't read like AI
The single biggest reason AI copy reads as AI: vague briefs. Your prompts should give the model context the model couldn't already guess.
4.1 Copy brief template per page
Page: {{ page_name }}
Audience: {{ specific_persona, e.g. "homeowners in Phoenix
with a slow-draining sink, not contractors" }}
One sentence promise: {{ ... }}
Tone: {{ 3 adjectives — e.g. "direct, warm, low-jargon" }}
Key facts (do NOT invent beyond these):
- {{ fact 1 }}
- {{ fact 2 }}
- {{ fact 3 }}
Required H1: {{ ... }}
Required CTA: {{ "Call now" / "Book a free estimate" }}
Length: 350–500 words
Avoid: superlatives ("best", "world-class"), hype,
generic AI phrases ("In today's fast-paced world").
Examples of voice we like:
{{ paste 2 paragraphs from competitor sites the client liked }}
4.2 The two-pass system
- Pass 1 — generate. Use GPT-4 / Claude with the brief. Get a full draft.
- Pass 2 — humanize. Have a separate prompt rewrite for "specificity, sentence-length variation, contractions, and one concrete number per paragraph." This step is what kills the AI tell.
5. Design choices
You don't need a designer for the first 50 sites. You need three things.
5.1 Tokens, not pixel-pushing
Lock in a brand kit per client: 1 primary color, 1 accent, 2 fonts (or 1 with weight variation), 1 radius scale, 1 spacing scale. Anything that doesn't follow tokens gets fixed before launch.
5.2 Photos
Real client photos > stock. If they don't have any, schedule a 30-minute phone shoot with the client (most have decent phones). Otherwise: Unsplash + Pexels for hero scenes, but never for "team." Stock team photos kill conversion.
5.3 Social proof above the fold
Logo strip, 5-star average + review count, a featured testimonial, or a "trusted by" line. Pick one. Skip none.
6. Technical foundations
- Mobile-first. 70%+ of local-search traffic is mobile.
- Core Web Vitals. LCP < 2.5s, INP < 200ms, CLS < 0.1. Hermes hits this by default; verify with PageSpeed Insights before launch.
- Schema markup. Add
LocalBusinessschema with name, address, phone, hours, geo, areaServed, sameAs (social URLs), aggregateRating. JSON-LD only. - Click-to-call on every page header on mobile.
- HTTPS, www → non-www (or vice versa) redirect, sitemap.xml, robots.txt — non-negotiable.
- Forms with proper labels and a thank-you page — required for conversion tracking.
- Pixel + GA4 wired before launch.
7. QA checklist (38 items)
Run this before any client review. If you skip it, you'll lose a Saturday firefighting.
Content
- No Lorem ipsum anywhere
- No "[insert name]" or "[city]" placeholders
- Phone number identical on every page
- Service area cities listed consistently
- Hours match GBP
- Spelling check (Grammarly or LanguageTool)
- Reading level ≤ grade 9
Design
- Logo crisp on retina
- Photos load < 200kb each
- Buttons are buttons (not divs)
- Touch targets ≥ 44px
- No layout shift on hero load
- Color contrast WCAG AA on all body text
Tech
- HTTPS everywhere
- Canonical tags on every page
- 404 page exists
- sitemap.xml and robots.txt
- Open Graph tags + Twitter card
- Favicon (16, 32, 180, manifest)
- Schema validates in Rich Results Test
- PageSpeed mobile ≥ 85
Forms / Conversion
- Contact form delivers to client's real inbox
- Thank-you page exists
- GA4 + Pixel event firing on form submit
- Click-to-call on mobile header
- Calendly/booking redirect works
SEO
- Unique title + meta description per page
- One H1 per page
- Internal linking between geo pages and services
- Image alt text everywhere
- Submit sitemap to Search Console
- GBP linked to website
Final
- Backup of staging before going live
- DNS TTL lowered 24h before switch
- Old site redirected URL-for-URL where possible
- Client signed off on the QA list
8. Launch and handoff
- Pre-launch. Stage on a temporary domain. Walk the client through it on a recorded Loom. Get written sign-off (email is fine).
- DNS cutover. Schedule for early morning local time. Watch SSL provision. Verify forms.
- Submit & verify. Submit sitemap to Google Search Console + Bing Webmaster Tools. Update GBP website link if changed.
- Training video. 5-minute Loom showing the client how to: edit text, add a blog post, change hours. Always.
- Kickoff the retainer. Within 7 days, send the first SEO content brief (see Course 06). Don't let momentum die.
What to do this week
- Build your discovery brief as a Tally / Typeform that auto-creates a Notion page.
- Save the QA checklist as a duplicable template.
- Build a "starter" Hermes template you can duplicate per client (you only need to do this once).
- Practice the 7-day plan on a fake client. Time it. The first one always slips; that's fine.