Course content

Read the playbook

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

1. SEO vs. GEO — what's changed in 2026

Two things to optimize for now:

  • Classic SEO — ranking in Google's blue links and AI Overviews.
  • GEO (generative engine optimization) — getting cited inside ChatGPT, Perplexity, Claude search, and Google AI Overviews when users ask questions.

The good news: most of what works for one works for the other. Both reward the same things — clear structure, factual content, named entities, citations, original data, and topical authority. The differences:

  • GEO rewards explicit, citable statements ("X is Y because Z"). Classic SEO rewards comprehensive coverage of a topic.
  • GEO rewards structured data and clean HTML even more than SEO does — AI crawlers parse simple markup faster.
  • GEO benefits from being mentioned across the web (your name on review sites, on industry pages, on partner sites). LLMs build their citations from corpus frequency.
Tactical translation. Write content that lays out facts plainly, attributes them to your client, and is referenced from at least 5 other places on the web. That's the SEO/GEO recipe.

2. Topic clusters and the content map

Rank for clusters, not articles. Each client gets a content map with:

  • 1–3 pillar topics per service area (e.g., "drain cleaning", "water heater repair", "slab leaks").
  • 10–20 supporting articles per pillar (long-tail informational queries).
  • Geo pages (covered in Course 05) anchoring the local angle.

2.1 The cluster map prompt

You are a senior SEO strategist for a local business agency.

Build a content cluster map for:
- Niche: {{ plumber }}
- Service area: {{ Phoenix metro }}
- 3 pillar topics: {{ drain cleaning, water heaters, slab leaks }}

For each pillar, output:
- 1 pillar page (commercial intent)
- 12 supporting articles (informational intent, long-tail)
- Suggested internal links between them

Output as a markdown nested list with the search intent
(C = commercial, I = informational, T = transactional)
in brackets at the end of each line.

3. The brief that drives 80% of quality

A great article is 80% brief, 20% drafting. Skipping the brief is why most agency content reads like every other "AI plumbing blog."

3.1 The brief template

Title: {{ ... }}
Target keyword: {{ ... }} | Search intent: {{ I/C/T }}
Audience: {{ specific persona }}

What this article must include (do not invent beyond):
- {{ fact 1, with source URL }}
- {{ fact 2, with source URL }}
- {{ local example or stat }}

Forbidden phrases:
"In today's fast-paced world", "leverage", "unlock the 
power of", "in conclusion", "rest assured", "robust"

Voice samples (paste 2 paragraphs from competitor or 
client materials we like)

Required structure:
H1: {{ ... }}
H2: {{ ... }}
H2: {{ ... }}
H2: {{ ... }}
H2: FAQ (5 questions, each < 50 words to answer)

Word count: 1,400–1,800
Internal links to add: {{ url 1 }}, {{ url 2 }}, {{ url 3 }}
External links to cite: {{ source 1 }}, {{ source 2 }}
CTA at end: {{ "Book a free estimate", with phone + form }}

4. Multi-prompt drafting

Don't write a 2,000-word article in one shot. Three passes get better output and lower cost.

4.1 Pass 1 — research

Using the brief below, list:
- 5 best public sources to cite
- 3 specific statistics or studies that support the topic
- 5 long-tail questions a homeowner might ask
- 3 misconceptions to address

Brief:
{{ paste brief }}

4.2 Pass 2 — draft

Write the article from the brief and the research below.

Constraints:
- Lead with a 2-sentence answer to the search query (for 
  AI Overviews and featured snippets)
- Use H2/H3 exactly as specified
- One concrete number, name, or example per H2 section
- 1,400–1,800 words
- Include the FAQ section verbatim from the brief
- Cite sources inline using [Source: {URL}]

Brief: {{ ... }}
Research: {{ ... }}

4.3 Pass 3 — polish

Edit the article below for:
- Sentence length variation (mix 8-word and 22-word 
  sentences)
- Replace passive voice with active where possible
- Replace vague nouns ("things", "stuff") with specifics
- Cut any phrase from the forbidden list
- Add 2 contractions per 100 words
- Verify the FAQ answers are < 50 words each

Output only the edited article.

Article:
{{ ... }}

5. Humanize: removing the AI tell

Common AI tells and their fixes:

TellFix
"In today's fast-paced world"Delete. Start with the topic.
Three-item lists where one item would doCut to the most specific.
Every paragraph the same lengthVary 1-line and 4-line paragraphs.
"It's important to note"Drop the prefix; just state the thing.
"Remember, …"Drop.
"By following these tips, you'll…"Replace with one specific outcome.
Too-perfect transitions ("Furthermore", "Additionally")Use line breaks or short connectors ("Also.", "And.").

5.1 Add ground truth

Best AI-detection-bypass technique is also the best content technique: add real-world details the model couldn't have invented. Real cities, real prices, real product names, real quotes from the client. The article becomes credibly local.

6. Editorial review and fact-checking

Even with the best prompts, AI hallucinates. A short human pass is non-negotiable.

6.1 Editor's checklist

  • Every statistic has a source URL — and the source actually says that
  • No invented studies, no invented brand names, no invented product specs
  • Local references match the client's actual service area
  • Pricing examples match the client's actual price ranges
  • Brand voice matches sample paragraphs
  • Internal links target relevant pages
  • Title and meta description are unique and within character limits
  • Featured image generated or sourced; alt text written

7. Internal linking that compounds

The single biggest "easy win" in agency SEO. Most local-business sites have zero internal linking strategy.

7.1 The rules

  • Every new article links to its pillar page (its parent topic).
  • The pillar page links to every supporting article.
  • Supporting articles link to 2–3 sibling articles where genuinely relevant.
  • Anchor text uses target keywords, but varies (don't repeat the exact phrase 30 times).
  • Geo pages link to the relevant service-area pages and to the home/services hub.

7.2 The retrofit prompt

Given the article below and the list of existing site URLs 
with their topics, suggest 5 internal links to add. For each, 
output: anchor text, exact target URL, and the sentence in 
the article where it should be inserted.

Article: {{ ... }}
Existing URLs (CSV: url, topic, intent):
{{ ... }}

8. Publishing and refresh cadence

  • Cadence: 4 articles/mo for Growth, 8 for Domination. Don't skip months.
  • Day of week: Tuesday or Wednesday morning. Avoid Friday afternoon (lower CTR window).
  • Refresh: Quarterly, audit articles older than 12 months. Update facts, change publish date, re-submit URL in Search Console. A refresh often outperforms a new article.
  • Distribution: Auto-post a snippet + link to the client's GBP, Facebook page, LinkedIn, and email newsletter (Course 07).

9. Automating the pipeline

You should not be copy-pasting prompts manually after client #3. Wire it up.

9.1 Reference architecture

  1. Airtable — content calendar with brief fields (target keyword, persona, sources, etc.).
  2. Make.com or n8n — orchestrates the three drafting passes via OpenAI / Anthropic API.
  3. A "ready for edit" status sends the draft to a Slack channel or email for human review.
  4. Approved drafts push to Hermes via API or a content-publishing webhook (or to WordPress / Webflow if you're not on Hermes).
  5. Search Console API auto-submits new URLs.

9.2 Make.com scenario sketch

Trigger: New row in Airtable "Briefs" table with status = 
         "Ready"
1. HTTP → OpenAI: Pass 1 (research)
2. Update Airtable row with research output
3. HTTP → OpenAI: Pass 2 (draft) using brief + research
4. HTTP → OpenAI: Pass 3 (polish)
5. Update Airtable: status = "Ready for edit", paste output
6. Send Slack: "@editor — new draft for {{ client }} ready"
After human approval (status = "Approved"):
7. HTTP → Hermes API: create blog post
8. HTTP → Search Console: submit URL
9. HTTP → social schedulers (Course 07)
Don't fully automate publishing. Always have a human gate between "draft generated" and "published live." Even a 5-minute pass catches the 1-in-20 hallucination that would otherwise embarrass the client.

What to do this week

  1. Generate a content cluster map for one client using the Lesson 2 prompt.
  2. Build the brief template as a Notion / Airtable template you duplicate per article.
  3. Run the three drafting passes manually for one article. Time each one.
  4. Sketch the Make.com scenario in Lesson 9 — even if you don't build it yet.