ChatSEO FR
Free · Claude Code · 10 steps

The 2-Engine
SEO Site

Blog posts at scale plus service pages, built in Claude Code without writing a line of code. Writing is no longer the bottleneck. This is everything around the writing, step by step, with every prompt as a template.

12 prompts to copy, 6 diagrams, no code. ChatSEO only shows up at the steps that need data.

Most people doing SEO with AI have the same problems

Claude writes faster than any team. The bottleneck is everything around the writing: picking the right keyword, making the page worth reading, and making the site easy for Google to crawl.

Here's the full system. Two engines, one site. Every prompt below is a template: replace anything in [BRACKETS] with your own business and paste.


Why position matters more than you think

Click-through rate collapses as you go down the page.

Position 1 gets somewhere between 20% and 40% of clicks depending on the study. First Page Sage's 2026 table puts it at 39.8%, position 2 at 18.7%, position 10 at 1.6%.

Bar chart: share of clicks by organic position. Position 1 gets 39.8%, position 2 gets 18.7%, position 10 gets 1.6%.

So the game isn't "be on page one". It's "be in the top 3 for keywords you can actually win". That's why this system starts with keyword selection, not writing.


0

Build the site in Claude Code

Claude Code~15 minone file, one prompt

Create an empty folder. Add one file: CLAUDE.md. That's your employee handbook. It tells Claude how to build, how to write, and what never to do.

One rule in that file matters more than the rest: static site generation. Three ways a page can be served:

Three cards: static (already built, use this one), server-side (built on request, acceptable), client-side (built in the browser, never).

Option 3 is how you spend a year on SEO and never get indexed. Force option 1 in CLAUDE.md. Then one prompt:

Step 0 · Paste into Claude Code
Build a website for [YOUR BUSINESS NAME], which offers [YOUR SOLUTION] to [YOUR TARGET CUSTOMER]. Pages: a homepage, a blog index and a services index. Copy the design in the attached screenshot exactly. Use static site generation.

Attach a screenshot of a design you like. Without a reference, you get AI slop design. With one, you get something close to it on the first try.


1

Find keywords Claude can't guess

ChatSEOthe step that needs data

Claude doesn't know search volume. It doesn't know difficulty. Ask it for keywords and it invents plausible ones.

This is the step where you need a data tool. ChatSEO has the keyword data, and an MCP so Claude Code can read it directly:

Step 1 · Paste into ChatSEO
I sell [YOUR SOLUTION] to [YOUR TARGET CUSTOMER] in [YOUR COUNTRY / LANGUAGE]. Find 50 informational keywords my future customers search before they buy. Keyword difficulty 30 max, 100+ monthly searches. Remove brand names, competitor names, and queries from people who would be my competitors rather than my customers. Add question keywords and upstream topics my buyers search months before they need me. Group them into clusters, one primary keyword per cluster, and give me a table.

Or skip the copy-paste: plug the ChatSEO MCP into Claude Code (Pro plan) and let it write the file for you. The data and the builder live in the same session.

Step 1 · Paste into Claude Code, with the ChatSEO MCP connected
Use the ChatSEO MCP to find 50 informational keywords for [YOUR SOLUTION] in [YOUR COUNTRY / LANGUAGE]: difficulty 30 max, 100+ monthly searches, no brand or competitor names. Save them to keywords.csv with the columns keyword, volume, difficulty, cluster.

2

Write the first post, with a cluster

Claude Codeone post, dozens of keywords

One post never ranks for one keyword. It ranks for dozens.

Primary keyword 'how to unclog a drain' in the centre, four cluster keywords around it: unclog kitchen sink, slow draining sink, what dissolves hair in a drain, home remedy for clogged drain.
Step 2 · Paste into Claude Code
Pick the next primary keyword from keywords.csv that doesn't have a blog post yet. Write a blog post for it and use its cluster keywords from the same file. Add royalty-free images using the API key in .env.

Put every secret key in the .env file. Never in the code.

The result will be technically fine and completely unreadable. That's expected. Next step fixes it.


3

Kill the slop

Claude Code5 reference files

A first draft from any model reads like a brochure. Nobody finishes it. And people leaving your page in 8 seconds is a signal Google sees.

Create five reference files in your project:

Feed them your LinkedIn posts, emails, call transcripts. If you have nothing, paste a writer whose style you like and tell Claude it's the humor reference.

Before: 'In today's fast-paced world, maintaining a functional household is more important than ever.' After: 'Your toilet has been hissing longer than most celebrity marriages. It's 11pm and you're taking the sound personally.'

Plumbing is boring. Your post doesn't have to be.


4

Copy the structure that already ranks

ChatSEOClaude Codethe public answer key

Nobody knows the exact algorithm. But the top 3 results for your keyword are a public answer key.

Look at the top 3 organic results (skip forums and directories). Average their word count, their headings, their images, the subtopics all three cover. That's your template.

Step 4 · Paste into ChatSEO
Analyze the top 3 organic results for [YOUR PRIMARY KEYWORD], excluding forums and directories. Give me their average word count, their H2s, the subtopics all three cover, and one angle none of them cover.
Step 4 · Then paste into Claude Code
Rewrite the post using that structure and word count. Keep my voice, humor, stats and stories from the reference files.

Match the structure. Beat them on the angle nobody covers.


5

On-page SEO without losing the voice

Claude CodeChatSEOthe checklist

The checklist is long. The core:

Paste your checklist into Claude Code with one instruction: apply every item, don't touch the tone. That instruction is the whole point. An SEO pass that turns your post back into a brochure just undid step 3.

If your site runs on WordPress or Shopify, ChatSEO can audit and apply this for you:

Step 5 · Paste into ChatSEO
Audit [YOUR PAGE URL] for on-page SEO on the keyword [YOUR PRIMARY KEYWORD]: H1, keyword placement, internal and external links, FAQ, title and meta description length. List the fixes and apply them without changing the tone.

6

Technical SEO in three prompts

Claude Code2 or 3 loops

Three things Google needs:

On a first build, performance usually comes out mediocre. You don't need to learn what "render-blocking requests" means. Run a performance audit, paste the full report into Claude Code:

Step 6 · Paste into Claude Code
Here's my performance audit: [PASTE THE FULL REPORT]. Fix everything until all four categories hit 100. Also generate robots.txt and sitemap.xml.

Not at 100 after one pass? Paste the new report. Repeat. Two or three loops usually does it.


7

The second engine: service pages

ChatSEOthe pages that bring customers

Blog posts bring readers. Service pages bring customers.

"How to unclog a drain" is someone learning. "Drain cleaning Toronto" is someone with a credit card out. Think of it as a zipper: services on one side, cities on the other. Each cell is one page.

A 3 by 3 grid: emergency plumber, drain cleaning and water heater repair across Toronto, Vancouver and Montreal. Each cell is one page. Nine pages, one template.

No local angle? Swap cities for industries or use cases ("invoicing software for architects").

To find which cells are worth building, sort by cost per click. High CPC means competitors pay for that click with ads. That's a money keyword.

Step 7 · Paste into ChatSEO
I sell [YOUR SERVICES, comma-separated] in [YOUR CITIES / INDUSTRIES, comma-separated]. List the highest-CPC commercial keywords that combine one of my services with one of those locations or industries. Show volume and CPC for each, and flag which combinations deserve their own page.

Two rules:

Why the order matters

The two engines aren't independent. Blog posts build topical authority: they tell Google you know your field, and they pass internal links to your service pages. Service pages are hard to rank on a new domain. The authority from the blog is what lifts them.

Engine 1, blog posts, feeds topical authority and internal links into engine 2, service pages. Readers on the left, customers on the right.

Blog first, service pages second. The tide raises the boats.


8

Package it into one command

Claude Code30 min → one word

Everything above is 30 minutes of prompting per post. Do it once, then bottle it.

Step 8 · Paste into Claude Code
Create a skill called /blog. It picks an unused keyword from keywords.csv, builds the cluster, analyzes the top 3 results, writes in my voice using the reference files, adds images, applies the on-page checklist, and reuses the same optimized page template.

Now you type /blog. One post, fully optimized. Do the same for /service.

The trap. Publishing 500 on day one. Google's spam policies explicitly target scaled content produced to manipulate rankings. Ramp up like a real business would. One a day, then two, then three. Never a thousand.


9

Go live, then tell Google

Claude CodeChatSEOthe feedback loop

Ask Claude Code to deploy the site to a static host and walk you through the domain setup. Then:

Once pages start getting impressions:

Step 9 · Paste into ChatSEO, Search Console connected
Which pages on [YOUR DOMAIN] published in the last 30 days get impressions but almost no clicks? Suggest a new title and meta description for each.
Step 9 · Paste into ChatSEO
Review the Google business listing for [YOUR BUSINESS NAME] and tell me the 3 fixes that matter most to show up for "[YOUR SERVICE] [YOUR CITY]".

Off-page: where people get burned

"100 backlinks for $5" means a private blog network. One site owner, thousands of junk domains linking to you. It can look great for a few months. Then an update hits and the site is gone.

Four methods that don't carry that risk:

We did off-page at ChatSEO, clean methods only. DR 51 in five months.

Where I disagree: "AI SEO is just SEO"

Half true. Ranking well still gets you cited by AI engines, because they search before they answer.

But the click is shrinking. Ahrefs analyzed 300,000 keywords in February 2026: when an AI Overview shows up, the top result's CTR drops by 58%.

So we added one filter to the keyword step: bottom and mid-funnel queries with real business intent, and no AI Overview on the results page. If Google answers the question itself, the #1 spot is worth a lot less.


The takeaway

The system is 10 steps. Most people do step 2 and stop.

  1. Build the site in Claude Code, static, from one reference screenshot
  2. Real keyword data, difficulty 30 max, clustered
  3. First post on a primary keyword and its cluster
  4. Kill the slop with five reference files
  5. Copy the structure of the top 3, beat them on one angle
  6. On-page pass that doesn't touch the tone
  7. Technical loop until all four scores hit 100
  8. Service pages, one template, sorted by CPC
  9. One command: /blog and /service, ramped up like a real business
  10. Go live, submit the sitemap, watch what's working

The difference between AI slop and a site that ranks is steps 1, 3 and 4: real keyword data, a real voice, and the structure that already wins.

This is how Paul publishes 2 SEO pages a week on chatseo.app. Organic is now close to our #1 source of customers.

The data half of this system is ChatSEO

The keyword data, the SERP analysis, the audits and the tracking above are what ChatSEO does. Use it in the app, or plug the MCP into Claude Code and run the whole loop from one terminal. 7 days free.

Start your 7-day free trial →