ChatSEO
Free Β· Nothing gated

I built a complete
SEO playbook

A step-by-step system to rank higher, get more traffic and grow revenue. Ten chapters, eight templates, six prompts β€” in the order the work actually has to happen.

How a solo founder gained 14,500 organic clicks in 100 days β†’

Free Β· No credit card required

THE FIVE PARTS ARE MULTIPLIED, NOT ADDED Four of them can be excellent. The result is still the height of the fifth. WHAT YOU ACTUALLY GET CRAWLABILITY INTENT CONTENT AUTHORITY CONVERSION can it be found is it the right page is it worth ranking does anyone vouch does it pay
Chapter 1. Whichever bar is shortest is the only one worth working on this month.
Nicholas

Hey there, I'm Nicholas πŸ‘‹

I grew my last B2C app to 15K Google clicks/month as a solo founder, then sold it. Turns out I fell in love with SEO along the way.

So now I'm building ChatSEO.app β€” an all-in-one SEO employee whose job is to make sure you rank #1 in Google and in AI search.

This is the whole method I use, written out. Nothing is held back for a paid version. Try it free β†’


SEO isn't a checklist. It's a chain.

Which is why doing more of it rarely works, and why most audits are worthless.

A checklist implies the items are independent and additive: fix eleven things, get eleven improvements. That is not how any of this behaves. The five parts of the model in the diagram above are multiplied. A perfect page that Google cannot crawl earns nothing. A page that ranks first for a query nobody buys from earns nothing. A page that ranks, converts, and answers the wrong intent gets a click and a back button.

Every part can be at 90% and one part at 10%, and the site performs at 10%. The whole discipline is finding out which part is at 10% before you spend a month on the ones already at 90%.

That is also the reason SEO advice sounds contradictory. "Content is king" and "links are everything" and "technical first" are all correct β€” each one was written by somebody whose weakest link was that part. None of them knows which yours is.

So the ten chapters below run in the order the work has to happen: find the constraint, pick the queries, find the pages that are close, rank them, match the intent, write the page, point every surface at it, respond to what Google does next, measure the right numbers, and build the whole loop in thirty days.

Read it in order once. Then work it out of order forever β€” you'll only ever be in one chapter at a time, and the chapter you're in is decided by your weakest link, not by the calendar.


1 Β· The SEO model

Five parts decide whether SEO works. In this order, because each one gates the next.

The value of a model is not that it is clever. It is that it stops the argument. When five people disagree about what to do next, they are almost always disagreeing about which part is broken β€” and that is a question with an answer in the data.

Crawlability β€” can Google reach it, and did it keep it

Not "is my site fast". Indexed versus submitted. If Google has 400 of your 1,200 pages, every other conversation is premature, because two thirds of your site is not in the race at all. The common causes are boring: a noindex left on from staging, a canonical pointing everything at the homepage, parameters generating infinite variants, a robots.txt rule someone added in 2021.

The number: indexed pages Γ· pages you actually want indexed. Under 90% and this is your chapter.

Intent β€” is this the kind of page the query wants

The most expensive mistake in SEO, and the least visible, because the page looks fine. You wrote a product page for a query where every result in the top ten is a comparison article. Google is not withholding your ranking; it has already decided what shape of answer this query gets, and you brought the wrong shape.

The number: your CTR against the average CTR of your own pages at the same position. A page that ranks well and gets ignored is an intent problem wearing a ranking costume.

Content β€” is there a reason for this page to exist

Not length. Not keyword coverage. A reason. Something on the page that the five results above it do not have: a number you measured, a screenshot of the actual thing, a step somebody skipped, an opinion with a consequence.

The number: position for the query the page was built for, after 8 weeks of being indexed. Stuck at 20+ with the right intent and a crawlable page means the page did not earn it.

Authority β€” does anything vouch for this

The part everyone over-indexes on, and the only one you cannot fully control. It matters most in competitive commercial SERPs and least in long-tail informational ones, which is exactly why the "just get links" advice fails so often: it is prescribed to sites whose constraint was one of the other four.

The number: how long your last comparable page took to reach page one. If your pages get there in six weeks, authority is not your constraint. If they never get there, it might be.

Conversion β€” does the click turn into anything

SEO that ends at the click is a hobby. This is the part that decides whether the previous four were worth doing, and the part almost no SEO report contains.

The number: qualified clicks β€” clicks from queries a buyer would type β€” divided by signups or enquiries. If that ratio is near zero, more traffic makes the problem bigger, not smaller.

PartHow it failsThe number that proves itThe fix
CrawlabilityPages missing from the indexIndexed Γ· intended < 90%Technical checklist, chapter 10
IntentRanks, gets ignoredCTR under half its position bandIntent matching, chapter 5
ContentStuck at 20+ with nothing wrongPosition flat 8 weeks after indexingContent creation, chapter 6
AuthorityNever reaches page oneTime-to-page-one vs your own averageMulti-surface execution, chapter 7
ConversionTraffic that never becomes anythingQualified clicks Γ· signups near zeroIntent matching + measurement, 5 and 9

One rule from this chapter: work the earliest broken part, not the most interesting one. Rewriting titles on pages Google is not showing is the most common wasted month in SEO.


2 Β· Query selection

Three filters. A query has to survive all three, and volume is not one of them.

Keyword research goes wrong at the first step, because the tool sorts by search volume and volume is the one attribute that has no relationship to whether the query is worth your month. A query with 40 searches a month from people holding a credit card beats one with 12,000 searches from students writing an essay, every time, and no tool will ever tell you which is which. That judgement is yours.

Filter 1 β€” would this person ever pay you

Read the query out loud and ask what the person typing it is trying to finish. Three answers exist: they are trying to buy, trying to learn, or trying to get somewhere. Only the first two are yours, and only the first one pays this quarter.

The tell is in the modifiers. best, alternative, vs, pricing, for [industry], software, tool, agency, near me β€” someone is shopping. what is, why, how does, meaning, examples β€” someone is learning, which is worth real money but on a longer horizon and only if the page has a next step. Nothing at all, just a bare noun, is usually ambiguous, and ambiguous queries are where budgets go to die.

Filter 2 β€” can you realistically be there

Not "what is the difficulty score". Those are a single number invented from backlink counts, and they cannot see the two things that actually decide it: whether you already have a foothold, and what type of page Google has chosen for this query.

Filter 3 β€” is it worth the hours

The arithmetic nobody does. Expected clicks at position 3 Γ— your close rate Γ— what a customer is worth, against the hours the page costs. Do it once and half your keyword list disappears, which is the point.

Use your click-through rate at position 3, from your own Search Console, not an industry curve from a blog post. Yours is different, and on branded or niche SERPs it is very different.

Template 1 β€” the query worksheet

One row per candidate. A query that cannot fill every column is not ready to be worked on.

Template Β· query worksheet
QUERY:
Buyer / researcher / neither:
Modifier that tells you:            (best, vs, pricing, how to, what is…)
Do I already rank? position:        (blank = no foothold)
Page type winning the SERP:         (listicle, product, guide, forum, video…)
Do I have that page type? y/n:
Top 3 results, and their size:
Expected clicks at position 3:      (my CTR at 3 Γ— impressions)
Close rate for this kind of visit:
Value of one customer:
Expected value:                     (clicks Γ— close Γ— value)
Hours to build the page:
Value per hour:                     (expected value Γ· hours)
VERDICT: work it / park it / drop it

The prompt that fills the worksheet

Give it your business in one line and let it run all three filters. Note what it is forbidden to do: invent a difficulty score, or fill in a CTR it does not have.

Prompt 1 Β· query shortlist
Here is my business: [one line β€” what you sell, to whom, at what price].
Here is my site: [URL].

Build me a shortlist of queries worth working on. Run all three filters and show your work.

FILTER 1 β€” BUYER INTENT
For each candidate query, judge from the wording alone whether the person typing it could
plausibly become a customer of the business above. Mark each: buyer / researcher / neither.
Drop everything marked neither. Say which word in the query made the call.

FILTER 2 β€” REACHABILITY
For each survivor, check whether I already have a URL ranking in the top 50 for it or for a
close variant. Then look at what type of page currently fills the top 5 β€” homepage, product
page, guide, listicle, forum, video.
Mark each: reachable (I have a foothold, or the top 5 is not owned by sites far larger than
mine), stretch, or out of reach.
If you cannot see live results, write "cannot verify the SERP" for that query rather than
guessing. Do not invent a difficulty score.

FILTER 3 β€” WORTH THE WORK
For each reachable query, estimate the clicks I would get at position 3 using my own measured
CTR at position 3, and say which CTR you used. If you do not have my Search Console data,
write "needs my CTR" and leave the number blank. Do not substitute an industry curve.
Then state the page type this query requires and how many hours that page is.

OUTPUT
A table, capped at 12 rows: query | intent | reachability | clicks at position 3 | page type
| hours. Sort by value per hour, never by search volume.

Then name THE ONE query to work on first, in one sentence, with the reason.
Do not give me a content calendar. Do not list alternatives.

3 Β· Opportunity signals

Finding the pages that are one push from moving β€” and refusing the metrics that only look like insight.

Most sites are sitting on a month of easy gains and cannot see them, because the gains are hidden inside averages. A site-wide average position of 18 tells you nothing: it is one number covering a page at 3 and a page at 60, and moving it requires moving everything. The signals below are the opposite β€” each one names specific URLs with a specific reason they are stuck.

Template 2 β€” the signal library

Five signals worth acting on. Every one of them is a comparison, not a level β€” which is why a single Search Console screenshot never reveals them.

SignalWhat it looks likeWhat it meansThe move
Striking distancePosition 5–15, impressions flat or risingGoogle already believes the page belongs. It is close.Strengthen the page against its top query. Cheapest win on the site.
Packaging problemPosition 1–10, CTR under half its bandYou won the spot and lost the click. Nothing is wrong with the ranking.Rewrite title and meta against the query people actually typed.
MismatchTop query for a page isn't what the page is aboutGoogle found a use for the page that you didn't intend.Either serve that query properly, or build the page it deserves.
CannibalisationTwo of your URLs, same query, same periodYou are splitting signals and neither page wins.Pick the keeper. Merge or redirect the other. Never leave both.
Quiet declinePosition stable, clicks down 20%+The SERP changed above you β€” a new snippet, an AI answer, a better title.Re-earn the click, don't chase the ranking. It never moved.

And the metrics that are vanity wearing a suit

The test for any metric: if it moved, would you know what to do differently on Monday? If not, it is a number for a report, not for you.

The prompt that runs the scan

Prompt 2 Β· opportunity scan
Use my Search Console data for the last 28 days, compared to the 28 days before.

Find pages matching each of these five signals. Cap each signal at 5 rows, ranked by impressions.

1. STRIKING DISTANCE β€” average position 5 to 15, impressions flat or rising.
2. PACKAGING PROBLEM β€” position 1 to 10, CTR below half of what that position band earns on
   my own site. Calculate the band average from my data and tell me the number you used.
3. MISMATCH β€” the query bringing a page the most impressions is not what that page is about.
   Show the query and the page title side by side and say why they don't match.
4. CANNIBALISATION β€” two or more of my URLs received impressions for the same query in the
   same period. Name both URLs and their positions.
5. QUIET DECLINE β€” position stable within 1 place, clicks down more than 20%. This is a SERP
   change, not a ranking problem. Say so explicitly.

For every row: URL | query | position | impressions | CTR | which signal.

Do not report anything I did not ask for. Specifically: no site-wide average position, no
keyword count, no score out of 100. Those move without telling me what to do.

If a figure is not in the data, write "cannot compute from this data". Do not estimate it.

End with the ONE page to act on this week and which signal it came from.
Do not rank the signals against each other.

4 Β· Page prioritisation

A scorecard, so the argument becomes arithmetic.

The reason SEO backlogs rot is that every item on them looks equally plausible when written as a sentence. "Improve the pricing page" and "fix the blog's internal linking" are the same size on a list and wildly different in expected value. Scoring is not bureaucracy; it is the only thing that makes the list shrink.

Five axes. Four go on top, one goes underneath, because effort is a divisor, not a penalty.

Template 3 β€” the page scorecard

Axis0–10 meansWhere the number comes from
Impressions at stakeHow much demand the page already sees, scaled against your biggest pageSearch Console, last 28 days. Real number only.
ProximityHow close to a click-earning position. 5–10 scores high, 11–20 middling, 21+ low, 1–3 scores zeroAverage position. A page at 2 has nowhere to go.
CTR gapDistance between this page's CTR and its own position band's averageYour data, not a published curve.
Intent matchHow well the page type fits what the top query wantsJudgement, from query wording vs page type.
EffortHours. 1 = a title rewrite. 10 = a new page with original research.Your estimate, doubled if you're honest.

Score = (impressions + proximity + CTR gap + intent match) Γ· effort. Nothing more sophisticated is warranted, because three of the four inputs are estimates and a fancier formula just hides that.

PageImpr.Prox.CTR gapIntentEffortScore
/pricing7899133.0
/blog/seo-audit-guide967539.0
/features/reporting4738211.0
/blog/new-cluster-hub000991.0

Note what the arithmetic does to the last row. The new cluster may well be the right strategic bet, and it still scores last, because its impressions at stake are zero until it exists. That is correct and it is the tension the scorecard exposes rather than resolves: score ranks the known, not the speculative. Keep one speculative build running alongside, funded on conviction, and never let it eat the week the scorecard already assigned.

Prompt 3 Β· score the backlog
Score every page from the opportunity scan using this scorecard and nothing else.

For each page, score five axes and show every number:
- IMPRESSIONS AT STAKE (0-10) β€” actual impressions in the last 28 days, scaled against my
  highest-impression page. Real numbers only.
- PROXIMITY (0-10) β€” how close to a position that earns clicks. Position 5-10 high, 11-20
  middling, 21+ low, 1-3 scores zero because there is nowhere left to go.
- CTR GAP (0-10) β€” distance between this page's CTR and the average CTR of its own position
  band on my site. No gap scores zero.
- INTENT MATCH (0-10) β€” how well the page type matches what the top query wants. If you
  cannot fetch the page, score from the title alone and mark the row "title only".
- EFFORT (1-10) β€” hours of human work. 1 is a title rewrite, 10 is a new researched page.

SCORE = (impressions + proximity + ctr gap + intent match) Γ· effort.
Show the arithmetic on one line per page.

If any axis cannot be grounded in a number from my data, mark the page "unscored" and leave
it out of the ranking. Do not fill a gap with an estimate.

Output the table sorted by score, capped at 10 rows.
Then split it:
- SHIPS THIS WEEK β€” exactly one page.
- WAITS β€” everything else, each with the one condition that would promote it.

Every shipped item needs a check date and a success metric, written before it ships.
Give me both in one line.

Do not propose a sprint. One page ships.

5 Β· Intent matching

Connecting what you sell to what the query actually wants β€” without keyword density or a word-count target.

Both of those ideas survive because they are measurable, and being measurable is not the same as being causal. No search engine has ranked on keyword density in over a decade, and "2,400 words" is a description of what already ranked, not an instruction for what will. Copying the length of the winner is cargo cult: you observed the plane, you built the runway, nothing landed.

What actually has to match is the shape of the answer. Google has already decided, for every query, what kind of page satisfies it β€” and it publishes that decision in the top ten. Your job is to read the decision and then be the best version of it, not to argue with it.

Query shapeWhat they actually wantThe page that winsThe next step that fits
what is X / how does X workTo understand, in one sittingA definition in the first 40 words, then depthA link to the comparison page. Never a demo request.
how to do XTo finish a task todayNumbered steps, screenshots, the failure casesThe tool that does step 4 for them
best X / top X toolsA shortlist someone else madeA list page with real criteria, including where you loseYour entry, honestly placed
X vs YPermission to stop decidingA table, a recommendation, and who should pick the other oneFree trial. This is the highest-intent page you own.
X pricing / X costA number, before they talk to anyoneActual prices on the pageStart now. Hiding the price loses the query.
X for [industry] / [use case]Proof you've seen their situationTheir vocabulary, their example, their objectionDemo or trial. They are close.
X alternativeTo leave something that annoys themThe specific annoyance, named, then your answerMigration path. Say how hard it is.

The bridge is the part people skip

An informational page with no defined next step is a page that ranks for somebody else's benefit. Not a banner β€” a next step that belongs to the same thought: the "how to do X manually" page ends where the manual method gets painful, and that is exactly where the product goes. If you cannot name the sentence where a reader would want help, the page probably has no commercial reason to exist, and that is fine β€” just be aware you have written a public service rather than an asset.

How to check a page in ninety seconds


6 Β· Content creation

The research method, the page structure, and the linking logic β€” for pages built around a real reason to rank.

Research: read the SERP, not the tool

Open the top five results and answer three questions, in writing, before drafting anything. What do they all cover β€” that is the table stakes, and leaving any of it out gets you dismissed. What format did Google choose β€” that is not negotiable. And what does none of them answer β€” that is the only reason a sixth page gets to exist.

That third question is the entire job. If you cannot answer it, do not write the page. You will spend six hours producing the sixth-best version of something and it will rank exactly there.

Structure: answer first, evidence second, depth third

The inverted pyramid, which journalism worked out a century ago and SEO keeps rediscovering. The direct answer in the first 40 words serves three readers at once: the person who wanted only that, the featured snippet, and the AI assistant looking for something extractable. Then the evidence that makes the answer believable. Then the depth for the reader who is still there β€” and they are the one who converts.

Internal linking: the part that compounds

Internal links are the only ranking factor you fully control, and most sites treat them as navigation. The logic is simple and worth being strict about: a hub page covers the topic broadly and links to every spoke; each spoke links back to the hub and sideways to two or three siblings. Anchor text is the query the target page is for, written naturally β€” not "click here", and not the exact phrase eleven times.

Three in, three out is the working rule. A new page with no internal links pointing at it is a page you published for nobody: Google finds it late, ranks it slowly, and you conclude that content does not work.

Template 4 β€” the content brief

Template Β· content brief
TARGET QUERY:
PAGE TYPE GOOGLE CHOSE:            (from the top 5, not from preference)
THE PROMISE:                       (one sentence, in the query's words)
THE ANSWER:                        (under 40 words, goes above the fold)
THE GAP:                           (what none of the top 5 say β€” the reason to publish)
TABLE STAKES:                      (what all 5 cover; leaving it out gets you dismissed)

STRUCTURE β€” max 6 H2s, each a question a reader actually has
  1.
  2.
  3.

EVIDENCE I MUST SUPPLY:            (numbers, screenshots, examples, sources)
INTERNAL LINKS IN:                 (3 pages that will link here + anchor text)
INTERNAL LINKS OUT:                (3 pages this links to + anchor text)
THE NEXT STEP:                     (one action, and why a satisfied reader would want it)
CHECK DATE:                        (8 weeks out β€” position for the target query)

Template 5 β€” the on-page templates

Fill-in patterns for the four elements that decide whether a ranking becomes a click.

Template Β· on-page
TITLE  (under 60 characters, contains the query as typed)
  How to [do the thing]: [the specific outcome]
  [Number] [things] for [audience] ([year] β€” only if the query implies recency)
  [Product] vs [Product]: which one for [use case]

META DESCRIPTION  (under 155 characters β€” answer the query, don't describe the page)
  [The answer, compressed]. [What the page shows you]. [Who it's for].

H1  (the promise, in the query's words β€” not a clever variation)

FIRST 40 WORDS  (the direct answer, before any context)
  [Query], in short: [answer]. [The one condition that changes it].

H2 SKELETON  (questions, not keywords)
  How does it actually work?
  What does it cost / what does it take?
  When does this fail?
  What do I do first?

CLOSING  (one next step, in the same thought as the last paragraph)

The prompt that writes the brief

Prompt 4 Β· content brief
Write the brief for one page. The target query is: [query].

Before you write anything, do the research:
1. Read the top 5 results currently ranking for this query. For each: the page type, the
   format, and the one thing it leads with.
2. Name what all five have in common. That is the format Google has already chosen, and the
   page has to be that format.
3. Name what none of them answers. That is the only reason a sixth page gets to exist.
If you cannot load the results, write "cannot read the SERP" and stop. Do not write the brief
from memory of what pages like this usually contain.

Then give me the brief, in this shape and nothing longer:
- THE PROMISE β€” one sentence, what the reader gets, in the words of the query.
- THE ANSWER β€” the direct answer in under 40 words, to sit above the fold. If the query has
  no direct answer, say what it depends on instead.
- THE GAP β€” the thing none of the top five say, in one sentence.
- STRUCTURE β€” the H2s in order, maximum 6, each a question a reader actually has.
- EVIDENCE β€” what has to be on the page for it to be believed, and what I have to supply.
- INTERNAL LINKS β€” 3 pages on my site this should link to and 3 that should link to it, with
  the anchor text for each.
- THE NEXT STEP β€” the one action a reader takes at the end.

No word count target. No keyword density. No "use the keyword in the first 100 words".
Do not give me three title options.
End with the one sentence I should write first.

7 Β· Multi-surface execution

Technical, content, links and AI search are four surfaces of one job β€” not four projects with four owners.

The default failure is organisational rather than technical. Technical works through a crawl report. Content works through a calendar. Links work through outreach targets. And each one optimises its own metric on a different part of the site, so a quarter of effort produces four small unrelated gains and no ranking. The fix is not more coordination meetings. It is pointing all four at one cluster at a time.

TECHNICAL CONTENT LINKS AI SEARCH spend the crawl here answer the gap here point them at page 2 make it quotable ONE CLUSTER 4–6 pages, one buyer Four surfaces, one target, for six weeks. Then move the target.
Chapter 7. The same effort, aimed at one thing, is the only version of this that produces a ranking.

Technical serves the cluster

Crawl budget is finite and mostly spent on rubbish: tag archives, parameter variants, paginated listings, old campaign pages. Technical work in a given six weeks means making sure the cluster you are building is crawled quickly and everything competing with it for attention is not. That is a much smaller job than "fix all 200 issues", and it is the half that actually affects the ranking you are chasing.

Links serve the pages that are close

The single most wasted link in SEO points at a homepage that already ranks for its own brand. Authority flows: point external links, and every internal link you control, at the page sitting at position 11 for a query worth money. A page at 11 with three good links moves. A homepage with three good links does nothing you can measure.

AI search is a citation problem, not a keyword problem

Assistants do not rank ten blue links; they assemble an answer and cite a handful of sources. What gets cited is what can be lifted cleanly: a claim stated in one sentence, a number with its source attached, a definition near the top of the page, a table that survives being read aloud. The practical consequence is that the structure from chapter 6 β€” answer first, evidence in the same paragraph β€” is not just good for readers. It is the format that makes a page quotable, and quotable is the new ranked.

Two things follow. Vague claims stop earning anything at all, because there is nothing to quote. And brand queries matter more than they did, because an assistant that mentions you creates the search that brings a buyer to your site directly.

Content is the only surface that creates the asset

The other three amplify. If the page does not deserve to rank, technical makes it crawlable faster, links make it authoritative at 30, and AI search skips it for something quotable. The order is not negotiable: build the thing, then aim the other three at it.

The working rule: one cluster, six weeks, all four surfaces. Then move. Four surfaces running independently on four parts of the site is the most common way to spend a year on SEO and have nothing to show for it.


8 Β· Ranking response handling

What Google does after you ship is data. This is the matrix that turns it into a decision instead of a mood.

The costly mistake here is not misreading a drop. It is acting on a drop that was never a ranking problem β€” rewriting a page that held position perfectly while an AI answer appeared above it. The first question is never "how do I fix this". It is "which of these six things happened".

Template 6 β€” the ranking response matrix

What the data showsWhat it isWhat you doWhat you must not do
Climbed into 4–10Working. The page is in the race.Nothing to the page. Add internal links and one more piece of evidence.Rewrite it. You'll reset a signal that's still settling.
Climbed to 1–3Won. Now it can only be lost.Note the date. Re-check in 90 days. Move to the next page.Keep optimising it. Proximity scores zero here for a reason.
Position fell 5+, impressions fell with itA real ranking loss.Find what changed: your edit, a competitor's page, or a new SERP feature. Compare to the week it started.Blame an update you haven't dated from the data.
Position held, CTR fellA SERP change. Not a ranking problem.Re-earn the click: title and meta against the current SERP.Rewrite the body. It's ranking fine.
Position held, CTR held, impressions fellDemand fell. Nothing is broken.Say so out loud and stop.Spend a week "fixing" seasonality.
Flat at 11–20 for 8+ weeksPlateau. The page is understood and judged insufficient.Add what the top 5 have that you don't β€” usually evidence or a format mismatch.Add words. Length was never the constraint.
Two URLs trading places on one queryCannibalisation.Pick the keeper. Merge the other into it and redirect. Do it this week.Leave both live and hope Google chooses.
Impressions stopped completelyAn indexing problem, not a ranking one.Check indexing status, robots, canonical, and whether you shipped a noindex.Anything content-related until it's indexed again.
Silent since publication, 8+ weeksNever entered. This is not a drop.Check it's indexed and internally linked. If both are fine, the page had no reason to rank β€” go back to chapter 6.Wait another month.

Date the change from the data, not from memory

Every drop invites the same story: "it must have been the update". Walk the weekly series back to the last week that was flat or rising, and name that week. Half the time it lands on a week you shipped something, which is a far more useful finding than an algorithm you cannot influence.

Prompt 5 Β· diagnose a move
This page moved: [URL]. Tell me what happened and what to do about it.

Pull the last 90 days for this URL, week by week, and establish the facts before the story:
- position by week
- impressions by week
- clicks by week
- the top 5 queries, and how each one moved

Then say which of these six patterns it is, and only these:
1. POSITION FELL, impressions fell with it β€” a ranking loss.
2. POSITION HELD, CTR fell β€” a SERP change. Someone's title beat yours, or an AI answer sits
   above you. This is not a ranking problem.
3. POSITION HELD, CTR held, impressions fell β€” demand fell. Nothing is broken. Say so and stop.
4. TWO URLS, one query β€” cannibalisation. Name both and say which should keep it.
5. IMPRESSIONS STOPPED β€” an indexing problem, not a ranking one. Say what to check first.
6. FLAT SINCE PUBLICATION, 8+ weeks β€” the page never entered. This is not a drop.

Name the week the change started, taken from the weekly series, not from an update you
remember. If you think a Google update is involved, ask me for the date rather than
asserting one.

Do not offer more than one pattern. If the data supports two, say which is more likely and
why, in one sentence.
If a figure is not in the data, write "cannot compute from this data".

End with ONE action, and the date I should check whether it worked.

9 Β· Measurement

Eight numbers, in a chain. Where the chain breaks is what you work on next month.

Measurement in SEO usually fails in one of two directions: a dashboard with forty widgets nobody reads, or a single traffic number that cannot tell you why it moved. The way out is to measure the chain rather than the total, because a chain localises the fault.

Template 8 β€” the weekly dashboard

Eight rows. If a number is flat, write flat. A week where nothing happened is a valid report and should take ninety seconds to read.

#The numberIf it's the one that's broken
1Indexed pages vs pages you want indexedCrawlability. Nothing below this matters yet.
2Impressions, this week vs lastDemand or coverage. Check whether you lost queries or the world stopped asking.
3Queries in positions 1–3 / 4–10 / 11–20The only position metric worth keeping. Movement between bands is the real signal.
4CTR by position bandPackaging. You are ranking and not being chosen.
5ClicksThe output of 1–4. Never the thing you diagnose from.
6Qualified clicks β€” from queries a buyer would typeQuery selection. You are winning the wrong searches.
7Signups or enquiries from organicConversion, or intent match on the landing page.
8Revenue from organicThe only number that ends the argument about whether any of this worked.

Row 6 is the one almost nobody tracks and the one that changes behaviour fastest. A month where clicks rose 30% and qualified clicks were flat is a month you got more popular with people who will never buy β€” useful to know in week two rather than in quarter three.

Three numbers to delete from your reporting

The cadence that survives contact with a real week

Weekly: the eight numbers, ten minutes, one action. Monthly: the opportunity scan and the scorecard, forty-five minutes, one page ships. Quarterly: back to chapter 1 β€” has the constraint moved? It usually has, and continuing to work last quarter's constraint is how a good year turns into a flat one.


10 Β· The 30-day build

Four weeks. Each one ends in something that exists, not something you understand.

WEEK 1 WEEK 2 WEEK 3 WEEK 4 Fix the base Map the opportunities Ship one cluster Install the loop indexing is sound or it isn't, and you know 12 queries scored one page named 1 hub + 3 spokes or 5 pages fixed check dates set dashboard running Week 4 is the one everybody skips. It is also the only week that makes month two cheaper than month one.

Week 1 β€” fix the technical base

Not a full audit. Four checks, in order, stopping at the first thing that is broken: is everything you want indexed actually indexed; is anything indexed twice; are template pages (tags, author archives, internal search) eating the crawl; and are your commercial pages receiving impressions for the queries they were written for. Page speed, alt text and heading order are not on this list, and that is deliberate β€” none of them has ever been the reason a site with an indexing gap was not ranking.

Template 7 β€” the technical checklist

Template Β· technical checklist
STOP AT THE FIRST ONE THAT'S BROKEN. Everything below it is premature.

[ ] INDEXED vs INTENDED
    pages I want indexed: ____   indexed: ____   gap: ____%
    > 10% gap = this is the whole job this week

[ ] DUPLICATION
    [ ] with and without trailing slash resolve to one URL
    [ ] http redirects to https, www to non-www (or the reverse β€” pick one)
    [ ] query parameters don't create indexable variants
    [ ] pagination isn't indexed as duplicates of page 1

[ ] TEMPLATE PAGES THAT SHOULDN'T RANK
    [ ] tag archives      [ ] author pages
    [ ] internal search   [ ] empty category pages
    [ ] staging or preview URLs in the index

[ ] THE MONEY PAGES
    [ ] each commercial page is indexed
    [ ] each receives impressions for the query it was built for
    [ ] none of them is outranked by my own blog post (cannibalisation)

[ ] SANITY
    [ ] no stray noindex from a staging deploy
    [ ] canonicals point at self, not at the homepage
    [ ] robots.txt blocks nothing I want indexed

VERDICT: is the base sound enough to build on this week?  yes / no
Prompt 6 Β· week 1 base check
This is day one of a 30-day SEO build on [URL]. Do the week 1 job only: tell me whether the
base is sound.

Check in this order and stop at the first one that is broken:
1. INDEXING β€” how many pages are indexed versus how many I want indexed. If the gap is more
   than 10%, that is the problem and nothing below matters yet.
2. DUPLICATION β€” pages indexed at more than one URL: trailing slash, http/https, query
   parameters, paginated variants.
3. TEMPLATE PAGES β€” anything indexed that should never rank: tag archives, author pages,
   internal search results, empty categories.
4. THE MONEY PAGES β€” my commercially important pages: indexed, and receiving impressions for
   the query they were written for?

For each check: the number, then one line saying healthy or not, then the single fix.

Do not give me a full technical audit. Do not mention page speed, alt text or heading order
unless all four checks above are clean and I ask.
If a number is not in the data, write "cannot compute from this data" and tell me where I
would find it.

End with a yes or no: is the base sound enough to start building on this week?

Week 2 β€” map the opportunities

Query worksheet on twelve candidates, opportunity scan on what you already have, scorecard over both. The week ends with one page named and a check date written down. It does not end with a content calendar β€” a calendar is a promise about weeks you have not lived yet, and it will be wrong by week three.

Week 3 β€” ship one cluster

Either one hub and three spokes if you are building new, or five existing pages fixed if the scan found striking-distance pages, which it usually does. Fixing five pages that already have impressions beats publishing four new ones almost every time in month one, because the feedback arrives in weeks rather than months and you need the feedback more than you need the pages.

Internal links go in as you ship, not afterwards. "I'll do the linking later" is the single most common unfinished task in SEO.

Week 4 β€” install the learning loop

Every change you shipped gets a check date and a success metric. The eight-number dashboard gets built once. The response matrix gets saved where you will actually find it when something moves. This is the week with nothing to show for it, which is exactly why it gets dropped β€” and dropping it means month two starts from the same blank page as month one.

If you only get two weeks: do week 1 and week 3. A sound base and five fixed pages beats a perfect plan you didn't ship.


The eight templates, in one place

All of them are above, in the chapter where they're used. Nothing is gated, and there's no email form.

And six prompts: query shortlist, opportunity scan, score the backlog, content brief, diagnose a move, week 1 base check. Every one of them caps its own output, ends on a single action, and is forbidden from inventing a number β€” which is the part that makes them safe to trust.


The five mistakes that kill this

Working the interesting part instead of the broken one

Content is the fun chapter. It is also the wrong chapter if two thirds of your pages aren't indexed. The model exists to overrule your preference, and it will overrule it in a direction you don't like at least once.

Sorting by search volume

Volume is the one attribute in a keyword tool with no relationship to whether the query is worth your month. It survives because it's the only column that's always populated.

Publishing before the reason exists

If you can't name the thing none of the top five say, you are about to spend six hours building the sixth-best page on the topic, and it will rank exactly there.

Reacting to a drop that wasn't one

Position held, CTR fell means the SERP changed, not your page. Rewriting the body of a page that is still ranking is how a bad week becomes a bad quarter.

Skipping the check date

"I shipped it" and "it worked" are different claims. Without a date and a metric written before you ship, you accumulate changes and learn nothing β€” which is indistinguishable from doing no SEO at all, only more expensive.

Where this still needs a human


What a playbook structurally cannot do

Worth being straight about, because you'll hit it in week five and it isn't a flaw in the method.

Everything above is a method, and a method has no eyes and no memory.

Every loop on this page depends on someone noticing. The scorecard needs this month's numbers, exported by hand. The response matrix only fires if somebody spots the movement β€” and decay never announces itself: a page loses four clicks a week for six months, no alert fires, and by the time it's visible in the monthly total it's a rebuild rather than a fix. The check dates you wrote in week 4 have to be checked by a person who remembers writing them.

That's why week 4 is the week everyone drops. It's the only week whose output is a habit rather than a page, and habits are exactly what a printed method can't supply.

That gap is the thing I've spent the last year building. ChatSEO is the other half: it holds the site, the history, the check dates and the numbers on the other side of a connector, so the Monday scan runs whether or not you remembered, and last month's fix gets graded without you re-deriving what it was supposed to do. Same method as this page. It just doesn't need you to be the memory.

Try ChatSEO free β†’


How one founder went from 250 β†’ 750 clicks a day

He added +14,500 clicks just by chatting with AI.

No SEO expertise. He simply ran the recommendations he was given β€” the same loop as chapters 3, 4 and 8, running without him having to remember it. Start free β†’

Search Console graph showing daily clicks rising from around 250 to around 750.

Why this works when old SEO tools don't

Here's the blunt truth about SEO in 2026. Everything on this page works with nothing but Search Console and your own judgement β€” and you can try it here for free if you'd rather not be the one holding all of it in your head.

Old SEO tools

  • A score out of 100 you can't ship a change to
  • Keywords sorted by volume, which decides nothing
  • 47 issues and no order to work them in
  • A drop you find out about a month late
  • Five tools that don't talk to each other

What you actually want

  • The one part of the model that's broken, named
  • Queries ranked by value per hour, on your own CTR
  • One page shipping this week, with a check date
  • The decay caught in week one, not month six
  • One connection, from Search Console to published fix
Comparison of traditional SEO tooling against the ChatSEO approach.

That's the entire idea behind ChatSEO

One SEO employee that reads your Search Console, tells you which part of the model is broken, writes the fix, ships it to your site β€” and tells you a month later whether it worked. From your Claude chat, or from ChatSEO itself.

Try ChatSEO free β†’

No credit card required