How to check SEO keywords for any page in minutes

AI Writing · competitor analysis, keyword difficulty, keyword research, on page seo, search intent, serp analysis
Ivaylo

Ivaylo

March 20, 2026

Most people waste time because they try to check seo keywords with one tool, one click, and one magical output. We tried that too. It gives you something, sure, but it rarely gives you the one thing you actually need: a defensible answer to “what query is this page meant to win, and is that query even worth pursuing?”

We’re a small team that ends up auditing pages that “should be ranking” and somehow aren’t. And in almost every case, the page wasn’t failing at SEO in general. It was failing at clarity: mixed intent, muddled targeting, or chasing a keyword that never made sense for that URL in the first place.

What “check SEO keywords for a page” actually means

When someone asks to check keywords for a page, they usually mean three different jobs and mash them together:

Extraction is what the page signals on-page (titles, headings, copy, internal anchors, entities). Targeting is what the page should be about, given searcher intent and what Google is rewarding in the top 10. Ranking is what the page already appears for, which can be dozens or thousands of queries and not always the ones you want.

What trips people up is assuming one tool can perfectly infer all three. It can’t. If you don’t separate these, you end up “fixing” a page for the wrong keyword and then wondering why nothing moves.

How we check SEO keywords in 5 minutes (the part tools can’t do for you)

Here’s our short workflow. We built it because we kept burning tool credits on pages that were never cleanly targetable.

First, we open the URL and read the page like an annoying evaluator. We do not start with a tool. Tools are for validation, not for deciding what the page is.

We look at the title tag (not the big headline on the page, the actual title tag). If the title is vague or brand-heavy, that’s already a signal the page may not have a single primary query. Then we check the H1. If the H1 disagrees with the title tag, we mark the page as “conflicted” and we slow down. This is where teams get burned, because the most repeated phrase in the body is often a symptom of writing habits, not search strategy.

Then we scan the first screenful of copy and the next two headings. We are not counting words yet. We are looking for what the page is promising: “buy,” “compare,” “how to,” “pricing,” “templates,” “near me,” “best,” “vs.” Those verbs tell you intent faster than any metric.

Next, we check internal anchors pointing to the page. This is a sneaky one. If your own site links to the page using anchors like “pricing” or “tool,” but the page claims it targets “keyword checker,” you have internal disagreement. Google sees that. So do humans.

Then we do the entity pass. We scan for prominent nouns, brand names, product types, locations, standards, and jargon that repeat naturally because the topic requires them. This helps you spot pages that are actually about a broader concept than the “keyword” someone wants to force onto it.

Now the messy middle: choosing the true primary keyword when signals disagree.

Our decision rubric when the page sends mixed signals

We weight signals in a way that matches how pages tend to rank in the real world.

Title tag and H1 get the most weight, because they set expectations for both crawlers and humans. If those two align, you usually have a viable primary keyword candidate. If they conflict, we treat the page as either (a) trying to rank for multiple intents, or (b) suffering from template defaults.

Headings and internal anchors come next. They reveal how the site itself “thinks” about the page. That matters.

Body copy repetition is last. This is where people make the classic mistake: they run a density tool, see a phrase repeated, and assume that’s the keyword. Often it’s just the easiest phrase to repeat while writing.

If we still have two plausible primary keywords, we do a 60 second intent validation: we search both queries and eyeball the top 10. We’re not trying to be perfect. We’re trying to avoid being wrong.

If query A returns mostly product pages and query B returns mostly guides, the page can only credibly target one without being rewritten. This is the part that gets ignored in “keyword checking” tutorials because it’s not a screenshot-friendly step.

Quick triage for ambiguous page types (where people get fooled)

Some URLs are structurally bad candidates for a single query. We handle them differently.

Homepages usually rank for branded and broad discovery terms. If someone insists the homepage should rank for a tight non-branded keyword, we ask why the site doesn’t have a dedicated landing page.

Category pages tend to want “browse” intent. If the SERP is full of listicles and comparisons, you can still compete, but the page needs a different structure than a pure catalog grid.

Tool pages often mix “use the tool” with “learn the concept.” If the SERP is informational, a naked tool UI rarely wins. If the SERP is tool-heavy, a long essay intro can actually hurt conversions and clarity.

We learned this the hard way. We once spent an afternoon “fixing” a tool page for an informational query because the copy looked educational. The SERP was 9 tools and one calculator. We were the calculator. We should have acted like it.

Checking on-page optimization with Seobility Keyword Checker (without burning your free queries)

Once we have a primary keyword candidate, then we bring in an on-page checker. Seobility’s Keyword Checker is straightforward: you input the page URL plus the target keyword, and it returns on-page optimization suggestions.

The annoying part is how people waste the free tier. Seobility enforces a daily cap on free checks (they don’t advertise a neat number), so if you test five variations of the keyword on the same URL, you can run out before you’ve checked anything else.

We handle it like this: we pick one primary keyword, and at most one close alternate, only after the manual rubric above. Then we run the Seobility check.

How we interpret the suggestions: we separate “mechanical” fixes from “meaning” fixes. Mechanical is title length, missing alt attributes, headings not present, internal link counts. Meaning fixes are where the tool is indirectly telling you, “your page isn’t clearly about this keyword.” When Seobility suggests adding the term to an H1, or your title, or early body copy, we pause and ask: would that be honest? If you have to shoehorn it, the keyword choice might be wrong, not the page.

If the suggestion can be implemented without making the page read like spam, we do it. If it makes the page sound like a bad freelancer wrote it, we don’t.

One practical workflow that keeps us sane: we make edits in a small batch, not one by one, then rerun the check once. Otherwise you burn queries and you chase the score like a video game.

Keyword difficulty reality check with Semrush KD (where “good ideas” go to die)

After on-page clarity, you need competitiveness. This is where teams get discouraged and decide SEO “doesn’t work,” when the real issue was choosing a keyword that was never attainable for their domain.

Semrush’s Keyword Difficulty (KD) is a 0 to 100 score. Higher means harder to rank in Google’s top 10. That “top 10” part matters because page 2 traffic is usually a rounding error unless the keyword is huge.

Semrush also provides the context around the number: monthly search volume, intent, average CPC, and a SERP top 10 analysis with what you’re actually up against, including authority and content types. It’s not just a score.

Their KD banding is useful because it forces a decision:

0 to 14 is very easy. 15 to 29 is easy. 30 to 49 is possible. 50 to 69 is difficult. 70 to 84 is hard. 85 to 100 is very hard.

Here’s what nobody mentions: KD is a decision aid, not a guarantee. We’ve seen KD 20 terms that were effectively locked by SERP features, and KD 55 terms that were winnable because the top results were stale, thin, or mismatched intent. Semrush tries to account for SERP context, including things like featured snippets, knowledge panels, local packs, AI Overviews, and whether a keyword is branded, but you still have to look at the page one results like an adult.

Semrush’s common “opportunity” heuristic is to target keywords with KD under 50 to have a shot without extensive backlink building. We agree with that as a default, especially for newer sites. But we also learned to treat “under 50” as permission to investigate, not permission to publish.

The action matrix we actually use for KD bands

When we’re moving fast, we map KD to a concrete move and a realistic patience level.

KD 0 to 14: we usually update an existing page if one already matches the intent, because the fastest win is often cleaning up a page that already has some trust. Results can show in weeks if the site is crawlable and the page is genuinely relevant.

KD 15 to 29: we either upgrade an existing page or create a dedicated one if the current URL is mixed-intent. Still a “weeks” timeline in many cases, but only if you’re not trying to fight a SERP full of giant brands.

KD 30 to 49: we treat this as a content quality test plus light authority work. It’s “possible,” but you need clean intent alignment, strong on-page structure, and internal linking that makes sense. If you’re a low authority site, you might need to build supporting content before the target page moves.

KD 50 to 69: we only pursue this when we have a clear edge: better data, better product, better firsthand experience, or a distribution channel that earns links naturally. Otherwise you end up in month six rewriting the same page out of boredom.

KD 70 to 100: we assume months or years, not weeks. For commercial terms in this band, we often recommend considering PPC if the business needs the traffic sooner, because “wait two years” is not a plan.

Where this falls apart: a low KD can still be a trap if the SERP is dominated by a single intent format that your page is not. For example, if the top 10 is all video and your content is a text tutorial, or the SERP is a local pack and you have no local presence, you can “win” the wrong battle. Always check the top 10 content types before you commit.

Competitor-driven keyword discovery in minutes (the fastest way to stop guessing)

If you’re checking keywords for any page, you’re often starting from a competitor URL, not your own. This is where tools like KWFinder or Semrush-style competitor research are handy, conceptually: enter a competitor domain or URL, extract what they rank for, then shortlist based on difficulty and volume.

The catch is that people pull keywords at the domain level and pollute the list with unrelated intents. We’ve watched teams grab 2,000 keywords from a competitor domain, then wonder why their new page can’t rank for any of them. The competitor has ten product lines. You have one page.

We try to find the closest competing URL, not just the brand. If we’re writing a guide, we find a guide URL. If we’re building a landing page, we find a landing page. Then we build a shortlist of queries that match that page type.

KWFinder is useful here because it’s built for keyword discovery with practical filters, and it supports around 65k locations. It also shows historical volumes and trends, which is not a nice-to-have if the keyword is seasonal. Their free usage limit is strict though: 5 lookups per 24 hours, and each lookup only returns 15 related keywords plus 5 competitor keywords.

So we don’t “browse.” We go in with a hypothesis.

If we’re constrained by the KWFinder free tier, we do one lookup for the primary keyword and one lookup for the closest competitor URL. We export what we can, then we make a decision. We don’t burn all five lookups in the first five minutes chasing curiosity.

KWFinder also has a 48-hour money-back guarantee on paid plans. That can be useful if you need to do a one-time sprint, but we still treat subscriptions like loaded weapons.

Local and seasonal reality checks (because global volume lies by omission)

Most keyword writeups talk about volume as if it’s universal. It isn’t. Location changes the SERP, even when the keyword looks “non-local.” We’ve had national terms flip to a local pack depending on the city, and then your content strategy changes overnight.

If you’re doing local SEO or anything with service areas, run keyword research with location-specific SERPs. Tools that support lots of locations, like KWFinder’s claimed 65k location coverage, make this less painful.

Seasonality is the other quiet killer. A keyword can have “good volume” on average and still be dead for nine months. Historical volume and trend lines matter because they tell you when to publish, when to refresh, and when to stop panicking about a temporary drop.

We once published a piece we thought was evergreen, then realized the spike was a yearly burst tied to budgeting season. Anyway, back to the point: trends keep you from misreading your own analytics.

Keyword density: useful as a diagnostic, dangerous as a goal

People ask for keyword density because it’s measurable, and measurable feels controllable. Density is a small ranking factor today, and over-focusing on it is a classic misallocation of effort.

If you still want to check it, SEO Review Tools has a Keyword Density Checker that accepts a URL or pasted content and reports frequency for 1-word, 2-word, and 3-word combinations. The calculation is simple: it extracts body text, counts total words, counts occurrences of phrases, then computes density percentage.

What trips people up is chasing an “ideal density” number and accidentally creating spammy copy. SEO Review Tools even references a “Google search API leak” claim that a KeywordStuffingScore ranges from 0 to 127. We can’t validate Google’s internals from that claim, but the underlying warning is still correct: write naturally for humans, include the focus term where it belongs (title tag, meta description, H1, body, alt text, internal links), and stop there.

If your density tool report looks “bad,” our first question is not “how do we raise the percentage.” It’s “is the page actually about this topic, or are we trying to force it.”

The caps, the hidden limits, and the cost traps that break the “minutes” promise

Tool friction is real and it changes your workflow.

Seobility’s free checker has a daily query cap. If you don’t pick your primary keyword first, you burn through checks fast and get blocked right when you’re ready to validate.

KWFinder’s free tier is explicit: 5 lookups per 24 hours, with limited outputs per lookup. That forces discipline, which is good, but it surprises people mid-session.

Google Keyword Planner often hides exact search volume unless you pay for Google Ads, which is why tools like SearchVolume.io position themselves as a workaround and claim they can return bulk volume for thousands of keywords. The exact bulk limit isn’t always obvious, so we treat bulk tools as “directional,” then verify the few keywords we actually plan to publish against.

Subscription math matters too. Seobility Premium is $50/month, it auto-renews monthly, you can cancel anytime, and prices exclude VAT where applicable. If you’re only using it for a one-off audit sprint, set a cancellation reminder the same day you subscribe. We’ve all paid the “forgot to cancel” tax at least once.

A fast way to put it all together (what we do on a real URL)

We start with the page and extract on-page signals to form a primary keyword hypothesis. We validate intent by checking what Google rewards in the top 10 for that query. We run Seobility Keyword Checker only after we’ve committed to a primary keyword, so we don’t waste limited free checks. We sanity-check competitiveness with Semrush KD and use the banding to set expectations: weeks for KD 0 to 29 is plausible, months or years for KD 70 to 100 is normal. Then we pull a small competitor-driven shortlist, ideally at the URL level, and reality-check for location and seasonality.

That sounds like a lot. It isn’t.

Once you’ve done it a few times, the whole process fits in a short, repeatable loop. And the biggest win is not that you found “the best keyword.” It’s that you stopped publishing pages with confused intent and pretending a tool score was going to save you.

FAQ

How do I check SEO keywords for a specific page?

Review the page’s title tag, H1, early headings, and internal anchor text to form a primary keyword hypothesis. Then validate intent by checking the top 10 results for that query, and only then run an on-page tool using the URL plus the chosen keyword.

Why does my page rank for lots of keywords but not the one I want?

The page often has mixed intent or unclear targeting, so Google matches it to adjacent queries instead of the primary one you picked. Align the title tag, H1, and structure to a single intent that matches what the top 10 is rewarding.

What keyword difficulty score should I target?

As a default, prioritize keywords under KD 50 if you want a realistic shot without heavy link building. Always confirm the SERP is the right content type for your page, because low KD can still be a mismatch.

Does keyword density matter for SEO?

It is useful to spot obvious stuffing or off-topic pages, but it is not a reliable target to optimize toward. Use the focus term where it belongs (title, H1, early copy, relevant headings), then prioritize clarity and intent match.