What is keyword stuffing and how do I avoid it?
Google defines keyword stuffing as "filling a web page with keywords or numbers in an attempt to manipulate rankings in Google Search results," often in a list or group, unnaturally, or out of context. To avoid it, write for the reader. Use your main phrase where it fits naturally, such as the title, the first paragraph and a heading or two, and elsewhere use synonyms, related terms and specific details instead of repeating it. Google's spam policies give no keyword density figure, so a density checker is for catching accidents, not for hitting a target.
What Google counts as keyword stuffing
Google's spam policies give three examples:
- lists of phone numbers without substantial added value
- blocks of text that list cities and regions a page is trying to rank for
- repeating the same words or phrases so often that it sounds unnatural
The same idea turns up across Google's other documentation. The title link guide says a title like "Foobar, foo bar, foobars, foo bars" doesn't help the user and "can make your results look spammy to Google and to users." The snippet guide says meta descriptions made of long strings of keywords are less likely to be shown. The image guide says filling alt attributes with keywords "results in a negative user experience and may cause your site to be seen as spam."
The spam policies also state the consequence. Google detects violations through automated systems and, as needed, human review that can lead to a manual action, and "sites that violate our policies may rank lower in results or not appear in results at all."
Keyword stuffing examples
Google's spam policy includes its own keyword stuffing example, a paragraph about "unlimited app store credit" that repeats the phrase, or a near copy of it, in four sentences out of four. Stuffing takes a few other forms that are easy to miss:
| Where | Stuffed | Natural |
|---|---|---|
| Body text | "Our Leeds plumber is the best plumber in Leeds for plumbing in Leeds." | "We fix leaks, boilers and blocked drains across Leeds, usually on the same day." |
| Location block | "Plumber Leeds, plumber Bradford, plumber Wakefield, plumber Harrogate..." | A sentence naming the areas you cover, or a page per town with real local details |
| Image alt text | alt="shoes running shoes cheap shoes best shoes" | alt="Grey trail running shoe, side view" |
| URL slug | /cheap-shoes-cheap-running-shoes-sale | /running-shoes-sale |
| Title tag | "Running Shoes, Cheap Running Shoes, Running Shoes Sale" | "Running Shoes Sale: Road and Trail Models from $45" |
For a clean slug, the slug generator turns a title into a short hyphenated URL; trim it to the words that name the page.
Hidden keyword stuffing
Older sites sometimes hide extra keywords from visitors. Google treats that under a separate policy, hidden text and link abuse, and its examples include white text on a white background, text hidden behind an image, text positioned off-screen with CSS, and a font size or opacity of 0. Accordions, tabs and sliders that show and hide content for visitors are fine; Google lists them as design elements that don't break the policy.
The read-aloud test
Whenever I finish a draft, I read it out loud. If I find myself stumbling over the same phrase three times in one paragraph, I know I've over-optimized. Stuffed copy also reads badly, and I'd expect it to lose readers, and sales, well before anything happens to its rankings.
A worked example with the keyword density checker
Here is a stuffed paragraph for a shoe shop's sale page, 49 words long:
Looking for cheap running shoes? Our cheap running shoes store has the best cheap running shoes online. Buy cheap running shoes for men and cheap running shoes for women today. Cheap running shoes, discount running shoes, running shoes sale: we stock every kind of cheap running shoes you need.
Pasted into the Keyword Density Analyzer with its default settings, the top three words are:
| Word | Count | Density |
|---|---|---|
| running | 9 | 18.37% |
| shoes | 9 | 18.37% |
| cheap | 7 | 14.29% |
The analyzer marks a word amber above 3% and red above 5%, so all three are red. Those are the tool's own warning levels, not Google figures. "Cheap running shoes" appears seven times in four sentences, and the paragraph still says nothing about prices, sizes or models.
The rewrite keeps the topic and swaps the repeats for facts:
Our sale section has last season's running shoes from $45, in men's and women's sizes. Each listing gives the weight, the heel-to-toe drop and the surface the shoe suits, so you can compare road and trail models before you buy. Orders over $60 ship free, and returns are free for 30 days.
Now "running" and "shoes" appear once each, at 2.04%. On a real category page the phrase would also be in the title and the H1, which is enough to make the topic clear.
The rewrite also shows two quirks of the analyzer. Its top word is "free" at 4.08%, marked amber, because in a 49-word sample any word used twice goes past 4%. Density on a single paragraph is noisy, so judge the flags on a full page. And the tool ignores numbers and counts single words only, so it puts the rewrite at 49 words while the Word Counter counts 52, and a phrase like "running shoes" shows up as two separate rows.
Where stuffing hides besides body text
- Title tags. One main phrase and one benefit is plenty; how to write title tags has examples.
- Meta descriptions. A comma-separated keyword list is less likely to be shown at all, so write it as a sentence instead.
- Image alt text. Describe the image in a few words rather than listing search terms.
- Footers and sidebars. A "we serve" block listing dozens of towns matches Google's cities-and-regions example almost exactly.
- Headings. Five H2s that all start with the same phrase read like a keyword list with paragraphs in between.
How to fix an over-optimized page
- Paste the page text into the Keyword Density Analyzer and note any word above 3%.
- Find each repeat and ask what that sentence is trying to say. Replace the phrase with a pronoun, a synonym or the specific thing you mean ("the trail model", "this size chart").
- Turn lists of places or product variants into a sentence or a table that adds information, or cut them.
- Merge sections that exist only to repeat the keyword under a new heading.
- Keep the main phrase in the title, the H1 and the first paragraph. Taking it out everywhere overcorrects.
- Read the page aloud, then run the analyzer again.
Natural keyword use vs keyword stuffing
| Natural use | Keyword stuffing |
|---|---|
| The main phrase in the title, H1 and first paragraph | The main phrase in every paragraph and every heading |
| Synonyms and related terms (trainers, trail shoes, cushioning) | The same exact phrase again and again, or its plural and misspellings |
| Places mentioned where they add information | A block of town names at the bottom of the page |
| Alt text that describes the image | Alt text that lists search terms |
| Each repeat says something new | Repeats that could be deleted without losing anything |
Keyword stuffing in AI drafts
If you ask an AI model to "include the keyword", it often puts the phrase in every paragraph and sometimes in every heading. Run AI drafts through the density check like anything else, then edit the repeats out by hand. How to edit AI content so it sounds human covers the other habits worth fixing in the same pass, and whether AI content is bad for SEO covers what Google says about AI-written pages.
Use the 90/10 rule
Spend 90% of your effort answering the user's question and only 10% worrying about keyword placement. I've found that if you truly cover a topic in depth, the keywords will appear naturally. Use our keyword density checker to find unintended repetition, but never use it as a target to hit.
Frequently asked questions
Is there a safe keyword density?
Google doesn't publish one. Its spam policy describes keyword stuffing by example, with no percentage. The 3% and 5% marks in our analyzer are prompts for a human to look again, not rules.
Can keyword stuffing get a site penalized?
Yes. Keyword stuffing is listed in Google's spam policies, and sites that violate those policies may rank lower or drop out of the results. Violations can also lead to a manual action after human review.
Does keyword stuffing still work in 2026?
Google's spam policy says its automated systems look for this pattern, and pages that break the policy may rank lower or not appear. Even where a stuffed page ranks for a while, visitors who land on it are reading text written for a crawler.
Do synonyms and plurals count as stuffing?
They can. Google's title example, "Foobar, foo bar, foobars, foo bars", is four forms of the same word. Variation helps only when each use says something new.
Source: Google Search Central, spam policies for Google web search.