Does Keyword Density Still Matter?
Google gives no target keyword density, but unnatural repetition counts as keyword stuffing. How density is calculated, what Yoast's check uses, and what to focus on instead.
On this page
Keyword density, the percentage of words on a page that are your target keyword, is not a number Google asks you to hit. Google's guidance mentions no target density at all. What it does say is that repeating words so often that the text sounds unnatural is keyword stuffing, which breaks its spam policies. So density still matters in one direction only: too much repetition can hurt, and there is no benefit in pushing it higher. Use your main phrase where it naturally belongs, especially in the title, the first paragraph and headings, then write for the reader with related words and variations.
This post explains how density is calculated (two common tools calculate it differently), what Google's documentation actually says and why SEO plugins still show a density check. It also covers what to do instead of chasing a percentage. It includes a worked example using one of our own long guides and the thresholds Yoast SEO uses, read from its source code.
What keyword density is
The basic formula divides the number of times a keyword appears by the total number of words, then multiplies by 100:
Keyword density = (keyword occurrences ÷ total words) × 100
A 1,000-word post that uses a phrase 10 times has a density of 1%. The trouble starts with multi-word phrases, where tools disagree:
Table: Two ways tools calculate density for a phrase
| Method | Formula | "keyword density" used 10 times in 1,000 words |
|---|---|---|
| Occurrences only (used by Yoast SEO) | occurrences ÷ words × 100 | 1.0% |
| Occurrences × words in the phrase (used by many density checkers, including ours) | occurrences × phrase length ÷ words × 100 | 2.0% |
Neither is wrong; they measure slightly different things. The second shows what share of all the words on the page the phrase takes up. The point is that a "density" figure means little unless you know which method produced it, which is another reason not to treat any number as a target.
<h2
What Google says
Google's documentation does not give an ideal keyword density. What it does say:
- Keyword stuffing is spam. Google's spam policies define keyword stuffing as "filling a web page with keywords or numbers in an attempt to manipulate rankings in Google Search results". Their examples include "repeating the same words or phrases so often that it sounds unnatural".
- Repetition is tiring for readers. Google's SEO Starter Guide lists keyword stuffing among the things not to focus on, noting that excessive repetition of the same words, "even in variations", is tiring for users.
- Use the words people search for. The same guide encourages using words your audience would use, in places such as the title and headings, which is very different from repeating them.
In short, the target is natural language that clearly covers the topic, and the risk is repetition, not a low number.
Why SEO plugins still check density
If density is not a target, why do plugins flag it? Mostly as a guard rail in both directions: it catches pages that never mention their topic and pages that over-repeat it. Yoast SEO's keyphrase density check, for example, uses these thresholds in its source code:
Table: Yoast SEO keyphrase density thresholds (from its source code)
| Setting | Value |
|---|---|
| Minimum | 0.5% |
| Maximum | 3% (3.5% when word forms are recognised) |
| "Way over" maximum | 4% |
| Minimum number of uses | Always at least 2 |
Yoast also lowers the recommended count for longer keyphrases. For a 1,000-word post, its formula recommends roughly 5 to 29 uses of a one-word keyphrase, 4 to 21 of a two-word keyphrase and 3 to 17 of a three-word keyphrase. Those ranges are wide on purpose. Treat a red light as a prompt to reread the text, not as an instruction to add or remove a set number of keywords.
<h2
Worked example: a real guide's numbers
We measured our own guide to click-through rate, which is about 3,300 words including tables. The full phrase "click-through rate" appears only a handful of times, a density of about 0.1%. The abbreviation "CTR" appears 89 times, about 2.7%.
That is how people actually write. Once a term is introduced, writers switch to the short form, pronouns and related words, which is easier to read. A density checker that only counts the exact phrase would call the page under-optimised. A reader sees a page about click-through rate in every paragraph. Search engines today understand abbreviations, plurals and related terms, so the exact-match count tells you little about relevance.
Before you check a page
- Know the page's main topic in a short phrase, and two or three related phrases searchers use.
- Read the page aloud. Repetition that sounds odd spoken usually is.
- Have the page's text, not its HTML. Menus, footers and sidebars inflate word counts and repeat keywords.
How to check a page for over-repetition
- Copy the article text and paste it into the keyword density checker. Turn on "ignore common English words" and look at single words, then two- and three-word phrases.
- Look at the top of the list. If one phrase dominates far more than any other, read each instance and ask whether it is the most natural wording.
- Replace forced repeats with pronouns, short forms, synonyms or a rephrased sentence.
- Check that the main phrase still appears where it helps readers: the title, the first paragraph and at least one heading.
- To see how much of a live page is template text rather than article, run the URL through the website word counter, which counts everything visible, including navigation and footers.
What to do instead of chasing a percentage
Put the main phrase where it carries meaning
Readers and search engines both pay attention to the title, the main heading and the opening. Use the phrase there because it tells people they are in the right place. Our guide to meta title length covers writing titles that fit, and the guide to writing meta descriptions covers the snippet text.
Cover the topic, not the phrase
A page that ranks for "keyword density" will naturally discuss formulas, spam policies, plugins and alternatives. Those related words and sub-topics show depth far better than repetition. A useful test: list the questions a searcher has, and check each is answered.
Use headings for structure
Headings that describe each section help readers scan and help search engines understand the page. Our guide to heading structure explains how to build a clear outline without stuffing keywords into every heading.
Write for one intent per page
Pages that try to rank for many unrelated phrases often end up repeating each one awkwardly. One clear purpose per page keeps the language natural.
A placement checklist that replaces density
Instead of a percentage, check that the main phrase, or a natural variant of it, appears in the places that tell readers and search engines what the page is about:
- Title tag: ideally near the start, written for people.
- Main heading (H1): the same topic as the title, in natural wording.
- First paragraph: confirm early that the page answers the query.
- At least one subheading: where a section is genuinely about it.
- URL slug: short and descriptive.
- Meta description: so the phrase can be highlighted in the snippet.
- Image alt text: only when the image really shows the thing.
Then stop counting. Everything else should read like a knowledgeable person explaining the topic. The website SEO checker reports the title, description and headings of a live page, which covers most of this list in one pass.
Signs a page is over-optimised
Table: Over-optimisation warning signs
| Sign | Example | Fix |
|---|---|---|
| The exact phrase in every paragraph | "Our Leeds plumber service. As a Leeds plumber…" | Use "we", "our team" or the service name |
| Lists of places or variants | "Plumber Leeds, plumber Bradford, plumber Wakefield…" | Describe the area served in a sentence or a proper service-area page |
| Awkward grammar to fit the exact phrase | "Best shoes running for beginners" | Write it the way people say it |
| Keyword in every heading and image alt text | Alt text that does not describe the image | Describe the image accurately |
| Hidden or tiny text | Keywords in white text or footers | Remove it; it is a spam pattern |
Common mistakes
- Adding keywords to reach a plugin's green light, making the text worse.
- Comparing density figures from tools that calculate it differently.
- Counting the whole page, including menus and footers, instead of the article.
- Ignoring abbreviations and variants that readers and search engines understand.
- Stuffing the phrase into alt text, which also harms accessibility.
- Assuming a low density means a page is not relevant.
- Using one phrase as the focus for several pages that then compete with each other.
Troubleshooting
Table: Keyword density questions in practice
| Situation | Likely reason | What to do |
|---|---|---|
| Plugin says density is too low on a clearly on-topic page | You use abbreviations, plurals or synonyms the check does not count | Make sure the phrase is in the title, intro and a heading; ignore the rest |
| Plugin says density is too high | The phrase is repeated more than reads naturally | Rewrite repeats with pronouns and variants |
| Two tools show very different percentages | Different formulas or different text counted | Compare like with like, or ignore the number |
| Page ranks for a related phrase, not the target | The content matches that phrase's intent better | Check the search results for your target and match what they answer |
| Rankings did not change after adding keywords | Density is not a lever | Improve coverage, clarity and usefulness instead |
Frequently asked questions
Does keyword density still matter?
Not as a target. Google gives no ideal density, but its spam policies treat unnatural repetition as keyword stuffing. Mention your topic naturally, and avoid over-repeating it.
What is a good keyword density?
There is no correct number. Yoast SEO's check uses roughly 0.5% to 3% as a guard rail, which is wide. If the text reads naturally and clearly covers the topic, the percentage is fine.
How do I calculate keyword density?
Divide the number of times the keyword appears by the total word count and multiply by 100. Some tools also multiply by the number of words in the phrase, which gives a higher figure.
Can high keyword density hurt rankings?
Repeating words so often that the text sounds unnatural is keyword stuffing under Google's spam policies. It also makes pages worse to read, which works against you either way.
Why does Yoast say my keyphrase density is too low?
Its check counts your keyphrase (and, depending on the version and language, some word forms of it). Abbreviations and synonyms are not counted, so the figure stays low if you use them. Make sure the phrase is in key places, then judge the text by readability.
Do synonyms and variations count?
For search engines, related words and variations help show what a page is about. Many density tools only count exact matches, so they understate real relevance.
Should I include the keyword in headings?
Where it fits naturally, yes, especially in the main heading. Not every heading needs it; headings should describe their sections.
Is keyword density the same as keyword frequency?
Frequency is the raw count of uses. Density is that count relative to the length of the text, expressed as a percentage.
Does word count affect keyword density?
Yes. The same number of uses gives a lower density in a longer article. That is one reason density is a poor target: longer pages are not less relevant.
What should I focus on instead?
Matching search intent, covering the topic fully, clear titles and headings, and readable text. Use a density checker only to catch accidental over-repetition.
Next step
Paste your most important page's text into the keyword density checker, look for any phrase that dominates, and reread those sentences aloud. Fix what sounds forced, and leave the rest alone.
Related free tools for this topic
Keyword Density Checker
See which words and two- or three-word phrases appear most in your text, and how often your focus…
Website Word Counter: Count Words on a Web Page
Count the visible words on any web page and see its most frequent terms, without copying and pasting…
HTTP Headers Checker
View the HTTP response headers of any URL and check caching, compression and common security headers such as…
Redirect Checker: Trace Redirect Chains
Trace every redirect from a URL to its final destination, with the status code (301, 302, 307, 308)…
HTTP Status Code Checker
Check the HTTP status code a URL returns (200, 301, 404, 500…), how long it took and where…
Link Extractor: Internal & External Links
List every link on a page with its anchor text, internal or external type and rel attributes such…
Related resources
SaaS hero with dashboard preview
Two-column hero: headline, supporting text, two buttons and a trust line beside a visual panel. Stacks to one…
Centred SaaS hero with product window
Centred hero with a large headline, supporting text and two buttons, with optional highlights and a product window…
Dark studio hero with service highlights
Centred hero with a large headline, supporting text and two buttons, with optional highlights and a product window…
Related articles
FAQ Schema After Google Dropped FAQ Rich Results: Is It Still Worth Adding?
Google retired FAQ rich results in May 2026. What changed, what FAQPage markup still does, and a decision guide for keeping, removing…
How to Add LocalBusiness Schema to a WordPress Site
Build LocalBusiness JSON-LD for a WordPress site: the right subtype, Google's required and recommended properties, awkward opening hours, a tested must-use plugin…
Elementor Free vs Pro: What You Can Build with the Free Version
What Elementor's free version includes, what Pro adds on each plan, a worked example of a brochure site built for free, and…
Related guides
How Long Should a Meta Title Be? Pixels vs Characters Explained
"Keep it under 60 characters" is only half right. Google cuts titles by pixel width, not character count. Learn how to write…
The Default WordPress .htaccess File (and Safe Additions)
The exact .htaccess rules WordPress needs for pretty permalinks, what each line does, tested additions for HTTPS and file protection, and a…
Fluid Typography in Elementor with clamp()
Setting a heading to 56 px on desktop, 44 px on tablet and 32 px on mobile works, but text jumps between…
Comments