Keyword density is the ratio of how often your target keyword appears in your content relative to the total word count, expressed as a percentage. If your 1,000-word WordPress post contains your main keyword 12 times, that's 1.2% density. WordPress itself doesn't enforce or measure this automatically—you calculate it manually or use plugins like Yoast, Rank Math, or All in One SEO that flag density in their analysis panels. The 0.5–2% range is a practical guideline, not a hard rule. Going below 0.5% risks under-optimization, especially for competitive terms where Google needs clear signals about your topic. Pushing past 2.5–3% often triggers keyword stuffing penalties or dilutes readability, which hurts user metrics like time-on-page and bounce rate. In 2014 when Ottawa SEO started, exact-match density mattered more; today Google's algorithms weigh topic coverage, LSI keywords, and user intent far more heavily than raw repetition. WordPress makes managing density straightforward. Most SEO plugins show real-time keyword counts as you draft in Gutenberg or Classic Editor. You can also search your post (Ctrl+F or Cmd+F) to count occurrences manually. The key is reading your content aloud—if the keyword feels forced or robotic, density is secondary to rewriting for natural flow. We see three common mistakes on client WordPress sites: stuffing keywords into every H2 and H3, which looks spammy; ignoring variations and synonyms, which limits semantic reach; and obsessing over density while neglecting title tags, meta descriptions, and image alt text where keyword placement often has more direct ranking impact. For a 400-word blog post targeting "Ottawa web design," aim for 2–4 natural mentions plus 1–2 variations like "web design services Ottawa" or "Ottawa website development." For a 2,000-word pillar page, 10–20 instances spread across headers, body paragraphs, and image captions works well. The real test is whether a human reader finds value without noticing repetition. If your keyword density is technically perfect but the content reads like a robot wrote it, you've already lost the ranking battle.