AI SEO In Detail › Module D · SERP Analysis › Episode 30
Search Intent From the SERP (not from guessing)
Episode 30 of AI SEO In Detail, a free course in practical SEO analysis: Search Intent From the SERP (not from guessing).
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
983 words · script draft, under review.
Intro
In episode twenty-one we labeled thousands of keywords by intent, using rules and a language model. "Espresso machine" got the label transactional. Makes sense. Someone typing a product name wants to buy one.
Then you look at the results page. Buying guides. Comparison lists. A "best of" article from a publisher. Two product pages, far down.
Google doesn't think most of those searchers are ready to buy. It thinks they're still choosing. And Google has watched millions of those searches. Your rule has watched none.
In this episode we read intent from the results page itself: the page types in the top ten as ground truth, how to handle mixed intent, and how to use the gap between the two methods to make your keyword labels better.
Why the SERP is the ground truth
Search intent is what the searcher is trying to get done. Learn something, compare options, buy something, find a place, or reach a specific site.
Google's results are shaped by how people react to them over time. If searchers keep skipping product pages and clicking guides, guides rise. So the page types in the top ten are the closest thing you have to measured intent. Not perfect, but measured.
Keyword text is a guess about intent. The results page is evidence. When they disagree, the results page wins, and the disagreement itself is useful.
From page type to intent
The method has three steps.
Step one: give each top-ten result a page type. Guide or how-to. Best-of list or comparison. Review. Product page. Category page. Tool or calculator. Location page. Homepage. Forum thread. Video.
You can get most of this automatically. The URL often gives it away: a path with "product" or a long product slug, a category path, a blog path. The title helps too: "best", "versus", "how to", "review". For the rest, let a language model classify the title and description into the same fixed list, and check a sample by hand. Same approach as the site types in episode twenty-nine, but now we label the page, not the site.
Step two: map each page type to an intent. Guides to informational. Lists, comparisons and reviews to commercial, meaning people comparing before they buy. Product and category pages to transactional. Location pages to local. A brand's own homepage to navigational.
Features count too, as we saw in episode twenty-eight. A local pack is a vote for local. A shopping row is a vote for transactional.
Step three: for each keyword, count the share of the top ten per intent. If one intent has sixty percent or more, call it the dominant intent. If not, call it mixed.
Mixed intent
Mixed intent is common, and it's not a failure of the method. It means Google isn't sure, so it hedges, showing a bit of everything to cover different searchers.
You have three options.
Build for the largest share. If guides and comparisons split the page, a buying guide with a comparison section often covers both.
Build for the slot that's weakest. If the product pages in the mix are thin, that might be the easiest way in, even if it's the smaller share.
Or skip it. A results page split three ways means each type gets only a few slots, and your page has to beat everyone in its own small group.
Also look at the order, not only the share. If the top three are all guides and the product pages start at seven, the guides are winning the hedge. I weight the top three a little higher when I decide.
Compare with the episode 21 labels
Now put the two methods side by side. Rows are the label from the keyword text, from episode twenty-one. Columns are the intent from the results page. Here are made-up numbers for illustration, for forty keywords on example-shop.test.
The diagonal is where they agree. In this example, most of the informational labels agree. The transactional labels are a different story. A large part of them turn out to be commercial on the results page. Bare product names, like the espresso machine from the start, are the typical case.
That's the useful part. Every cell off the diagonal is a pattern your text rules got wrong. Go through them and fix the rules. Here, maybe: a bare product name without "buy" or "price" is commercial by default, not transactional.
Then rerun the text classifier on your full list. You can't pull a results page for every long-tail keyword, but you can make the cheap first pass smarter by checking it against the expensive one. The text label is a first guess for thousands of keywords. The results page is the check for the ones you'll actually build pages for.
The output
The output is one table. For each keyword: the text label, the intent from the results page, the dominant share, a mixed flag, and the page type you'd build. That last column is what you actually act on.
And when the results page says "commercial" and your plan said "product page", change the plan, not the label.
Intent can also move. Seasonal topics shift towards buying before holidays, and news can turn an evergreen query informational for a few weeks. If a keyword matters, store the intent with a date, and check again before you build. A label from last year is a guess too.
One practical tip. Don't try to classify every keyword this way. Pull results pages for the keywords that survived your earlier filters: real demand, a cluster from episode twenty-four, a buying phrase from episode twenty-five. That's usually tens or a few hundred keywords, not thousands, and the cost stays small.
Wrap-up
So: keyword text is a guess, the results page is evidence. Label page types, map them to intent, flag mixed results, and use the disagreements to improve your rules. The page-type-to-intent sheet is linked in the description. Next episode: how to estimate keyword difficulty yourself, from the results page instead of a tool's score. See you there.