AI SEO In Detail

AI SEO In Detail › Module D · SERP Analysis › Episode 31

Episode 31 · coming soon

Estimating Keyword Difficulty Yourself

Episode 31 of AI SEO In Detail, a free course in practical SEO analysis: Estimating Keyword Difficulty Yourself.

Episode 31: Estimating Keyword Difficulty Yourself Video coming soon

This 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,149 words · script draft, under review.

Intro

One keyword. Three keyword tools. Three difficulty scores. Say twenty-two, forty-one, and sixty-eight. Which one is right?

Honestly, none of them. Each tool builds its score from its own link index, its own formula, and its own idea of what "hard" means. And most of them lean heavily on backlinks.

But backlinks are only one reason a page ranks. The results page itself tells you much more: who is there, how well their pages actually answer the search, and how much room is left for the normal blue links.

In this episode, I'll show you how to estimate keyword difficulty yourself, straight from the SERP, with four signals you can score in a couple of minutes per keyword, or automatically for hundreds.

Why tool scores disagree

A keyword difficulty score, often shortened to KD, tries to answer one question: how hard is it to reach page one for this search?

Tools disagree for three reasons.

First, different link indexes. Every tool crawls the web on its own, and none of them sees all the links. So the same page can look strong in one tool and average in another.

Second, different formulas. Some average the authority of the top ten. Some weight the top three more. Some mix in other factors. Most don't publish the formula, so you can't check it.

Third, timing. The score was calculated when the tool last looked at that results page. That may have been weeks ago.

So a KD number is a summary of someone else's model. It's fine for a rough sort of a long list. It's not something I want to bet a month of work on. What I want is a score I can explain line by line, built from a SERP I pulled myself.

The four signals

I look at four signals. Each one gets a score from zero to three.

Signal one: who ranks. In episode twenty-nine we sorted ranking domains into types: big brands, publishers, marketplaces, niche sites, forums. Here I just count. If most of the top ten are big brands and large publishers, that scores a three. If it's mostly forums and small sites, that's a zero or a one.

Signal two: page relevance. Does each ranking page actually answer this exact search, or a broader topic? When a homepage, a general category, or a loosely related article ranks for a specific question, Google is telling you it doesn't have a great answer yet. Ten pages that are exactly on topic score a three. Only a few on topic, and it drops toward zero.

Signal three: title match. How many of the top ten titles contain the core words of the search? This one is easy to automate. You normalize the words, remove filler like "the" and "a", and check overlap. Eight to ten matching titles is a three. Two or fewer is a zero.

Signal four: feature load. How much of the screen is taken before the first organic result? Ads, shopping boxes, an AI overview, a local pack, videos. Strictly speaking, this isn't difficulty to rank. It's difficulty to get the click. But for planning it matters just as much, so I keep it in the score, and I keep it as its own column so I can see it separately. We went through each feature in episode twenty-eight.

Add them up and you get a number from zero to twelve. Then I put it in a band. Zero to four: approachable. Five to eight: possible with a really good page. Nine to twelve: hard, at least for now.

Worked example: three keywords

Let's score three keywords for our example shop, which sells coffee equipment. These are made-up results, for illustration.

Keyword one: "hand coffee grinder". The top ten is big retailers, a marketplace, and two manufacturer sites. Every page is a product or category page about exactly this. Nine of ten titles contain both words. And shopping results sit above everything. Who ranks: three. Relevance: three. Title match: three. Features: three. Twelve out of twelve. Hard.

Keyword two: "how to clean a burr grinder". Two forum threads, a video, a manufacturer help page, and several small blogs. Most pages are on topic, but only four titles match well. There's a "People also ask" box and a video block. One, two, one, two. Six. Possible with a really good page.

Keyword three: "burr grinder for travel". Niche review sites, a couple of forum threads, and three general grinder roundups that mention travel in one paragraph. Three titles match. Almost no features. One, one, one, zero. Three. Approachable.

Notice what a backlink-only score might miss here. The forum threads on keyword three might sit on very strong domains. A link-heavy KD could call that keyword hard. But a forum thread that half-answers the question is not a strong competitor for a page built exactly for that search.

Common pitfalls

Four pitfalls.

One: treating authority as the whole story. A strong domain with an off-topic page is weaker than it looks. A small site with a page that matches the search exactly is stronger than it looks.

Two: fake precision. A seven and an eight are not meaningfully different. That's why I use bands, not exact scores, when I make decisions.

Three: stale SERPs. Your score is a snapshot. Date it. If a keyword is close to a decision, pull the results page again before you commit. Third-party ranking databases can lag behind the live results, so for decisions I use a live SERP call.

Four: never checking the score against reality. Calibrate it. Take keywords where you already rank and see whether your "approachable" ones really do rank better than your "hard" ones. If they don't, adjust the weights. Maybe feature load matters more in your niche, or domain type matters less.

Scoring at scale

For a handful of keywords, do it by hand. For hundreds, automate three of the four signals.

Pull the live SERP once per keyword. At depth ten, that's roughly three tenths of a cent per keyword with DataForSEO, so two hundred keywords is well under a dollar. Cache the raw response, so you never pay twice for the same snapshot. Episode twenty-seven covers the call itself.

Domain type comes from the list you built in episode twenty-nine. Title match is a simple word overlap. Feature load is a count of feature items above the first organic result.

Relevance is the hard one. You can approximate it with page type from the URL and title, or with a language model that picks from a fixed set of labels. Either way, spot-check a sample by hand, at least the first time.

Wrap-up

So: four signals from the SERP, scored in bands, and calibrated against your own rankings. That's a difficulty score you can actually explain. The scoring sheet is linked in the description. Next episode, we flip the question: instead of asking how strong a results page is, we go looking for where it's weak. See you there.