Course content

Read the playbook

Module-by-module deep dive. Every prompt, template, and number is here.

1. The 7-day delivery plan

DayFocusOutput
0 (Mon)Onboarding form complete; kickoff callBrief, brand assets, GBP access
1 (Tue)Sitemap, IA, copy briefsSitemap doc, copy brief per page
2 (Wed)AI generation + edit passFirst draft of all pages
3 (Thu)Design polish, photos, brandVisual draft on staging
4 (Fri)Speed, schema, mobile, formsTech-complete site on staging
5 (Mon)QA checklist + client reviewSign-off list of edits
6 (Tue)Edits + final QAApproved site
7 (Wed)Launch + handoffLive 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.

  1. Business name, tagline, and one-sentence pitch.
  2. Top 3 services. Which is most profitable?
  3. Service area cities (in priority order).
  4. Top 5 competitors (with URLs).
  5. 3 websites you like and why (any industry).
  6. Brand colors, logo, fonts (or "I have none").
  7. 10–20 high-quality photos of work, team, location.
  8. The exact phone number and email used for inbound leads.
  9. Booking system you want (Calendly / Hermes form / phone-only).
  10. 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

  1. Pass 1 — generate. Use GPT-4 / Claude with the brief. Get a full draft.
  2. 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.
Specificity beats cleverness. "Same-day appointments most weekdays" is better than "We deliver excellence." Real numbers, real names, real cities.

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 LocalBusiness schema 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

  1. Pre-launch. Stage on a temporary domain. Walk the client through it on a recorded Loom. Get written sign-off (email is fine).
  2. DNS cutover. Schedule for early morning local time. Watch SSL provision. Verify forms.
  3. Submit & verify. Submit sitemap to Google Search Console + Bing Webmaster Tools. Update GBP website link if changed.
  4. Training video. 5-minute Loom showing the client how to: edit text, add a blog post, change hours. Always.
  5. Kickoff the retainer. Within 7 days, send the first SEO content brief (see Course 06). Don't let momentum die.
The "before / after" screenshots. Take a Lighthouse score, GBP rank, and homepage screenshot of the old site on Day 0. You'll want them for the case study.

What to do this week

  1. Build your discovery brief as a Tally / Typeform that auto-creates a Notion page.
  2. Save the QA checklist as a duplicable template.
  3. Build a "starter" Hermes template you can duplicate per client (you only need to do this once).
  4. Practice the 7-day plan on a fake client. Time it. The first one always slips; that's fine.