AI SEO In Detail › Module F · Putting It Together › Episode 47
Full SEO Analysis on a Real Site, Start to Finish
Episode 47 of AI SEO In Detail, a free course in practical SEO analysis: Full SEO Analysis on a Real Site, Start to Finish.
Video coming soonThis episode is scripted and in production. The transcript below is the script as written; it may change before the video is published.
Full transcript
1,291 words · script draft, under review.
Intro
For forty-six episodes we've taken the analysis apart, one piece at a time. Now let's put it back together: one site, from the first data pull to the plan, in the order from episode one.
This time it's not the made-up shop. It's one of my own sites, a data site with one page per location plus a set of hub pages. I'll call it example-city-stats dot com.
In this episode: the full loop on real data, what I found at each step, and the five things I decided to do.
Scope and the data disclaimer
First, the scope. One market: the US, in English, desktop results on Google. A twenty-eight day window compared with the four weeks before it, because the site's history is only about seven months long. And four competitors.
The data you're about to see is real, from one of my own sites. But it's anonymized: the domain, the page URLs and the search terms are replaced, to keep the focus on the principles, not the keywords. The numbers are untouched.
Part 1: Is the traffic real?
Part one: is the traffic real?
I pull Analytics sessions split by hostname, as in episode fifteen, so only the current domain is counted. Then I compare organic sessions with Search Console clicks. They'll never match exactly, but they should move together. If they don't, I fix the measurement first.
Here, the check is clean. Over ninety days, six stray sessions on the www version, nothing else. Analytics shows about one point seven organic sessions per Search Console click, and week by week that ratio has stayed between about one point three and one point nine for four months.
Part 1: Baseline and suspects
Then the baseline. Over these four weeks: about nine thousand one hundred clicks from about seven hundred and forty thousand impressions, compared with the previous four weeks.
You've already seen two views of this site. The striking-distance chart from episode ten: queries parked between position eight and twenty, with real demand. And the click-through chart from episode eleven: queries in the top ten that get far fewer clicks than the site's own average for their position.
Then the crawl and index funnel from episode seventeen.
The pattern: crawling and indexing hold up. The index sample came back a hundred percent indexed, and about four in five sitemap pages had an impression. The big narrowing is at the very end: only about one page in five got a click. That's where the biggest lever is.
So the suspects from part one: the striking-distance queries, the weak titles, and the thousands of pages that are seen but never clicked.
Part 2: Demand and the results pages
Part two. What do people search for, and what does Google show them?
I build the keyword set from the site's own queries. Before the big volume run, the small validation task from episode twenty: singular and plural, at national and at state or local level. Forty pairs. Eighteen came back identical, so each is one synonym group, counted once. Where the forms differed, plural won fourteen times and singular eight, but at state and local level singular still won six of fifteen. No house rule, then: test the form per keyword family.
Then a live results-page snapshot for the top thirty queries, classified as in episodes twenty-nine and thirty. An AI-generated summary showed up on all thirty, a box of questions on twenty-seven. And on seven, the AI summary cited my own site. Being quoted is visibility, but not necessarily a click.
The pattern: forums, user content and social platforms are the biggest group, about a third of the top organic results, and in the top three as well. Brands about one in six, aggregators about one in eight. Forum threads near the top are the weak-results signal from episode thirty-two.
Part 3: The gaps
Part three. Four competitors, A to D. Their ranked keywords come from a month-old export, reused at no cost.
The keyword gap: keywords where a competitor ranks in the top ten, with at least fifty searches a month, that never showed up in my own queries. One thousand six hundred and twenty-six, together about four million searches a month. Don't quote that number on its own: the top fifteen make up about a sixth of it, and they're head terms.
The page-type gap, from their sitemaps. Both large competitors have pages one level below the city. My site has none. Competitor B also has ranked lists inside a city, for two hundred and thirty-one cities. And they cover far more places: about sixteen and forty-three thousand, against my three thousand two hundred. The other way round: my site has thousands of comparison pages between two places. Neither of them has those as indexable pages.
The structural gap: every main place page sits two clicks from the home page, with a median of twenty internal links. No depth problem. But internal links point to about twenty-three thousand comparison pages that aren't in the sitemap, roughly three times as many as are in it. Search Console already shows impressions for about thirteen and a half thousand comparison pages outside the sitemap.
And the light authority check from episode forty-two, using visibility, not backlinks. My site ranks for about sixteen thousand keywords, the competitors for forty-seven thousand to over three hundred thousand. Top-three positions: about a hundred and eighty, against fifteen hundred to nearly twelve thousand. An order of magnitude. But this data can't show that links are the cause. The site is seven months old, growing, and its largest group of keywords sits on page two. So the plan is built inside the site.
Sizing and the plan
Then scoring and prioritizing, as in episodes forty-three and forty-four. Here's the plan of five, and when I'd measure each one.
First, a quick win. Put the comparison pages that already earn impressions into the sitemap, and make a deliberate decision about the rest. Re-measure after four weeks.
Second, another quick win. Take the pages with the most impressions on page two and give them the striking-distance treatment from episode ten. Six weeks.
Third, a fill-in. Put the answer in the first lines of the main pages, so the AI summary has something precise to quote, and the reader a reason to click for the detail. Six weeks, against the site's own click-through curve.
Fourth, the big bet, as a pilot: pages one level below the city, in two or three places, and only if they pass the gates from episode thirty-five. Measured eight to twelve weeks after launch.
Fifth, scoping. Check which of the missing places actually have demand, singular and plural included, before adding a single page. That's a decision point, not a measurement.
Notice what's not on the list: other topics for the same place, like housing or schools. They're the competitors' biggest pages, but a different intent, outside what the site is about, and they'd spread a young site thin. Neither are the biggest head terms: mostly informational.
Each item has a written reason, a metric chosen in advance, and a re-measure window. The method is the lesson here, not the outcome.
What the loop taught me
Three things stood out.
The order matters. If I had started with competitors, I'd have planned new pages. The data says the existing pages are already crawled and indexed. The leak is between being seen and being clicked.
Most of the time goes into data quality: hostnames, keyword forms, stale rankings. The analysis itself is quick once the data is clean.
And the plan is small. Out of hundreds of possible actions, five made it. That's not a weakness of the analysis. That's what it's for.
Wrap-up
One site, the whole loop, five actions. The full checklist for this walkthrough is linked in the description. Next episode: how I automate this entire analysis with Claude Code, with a human still making the decisions. See you there.