Target a cluster, but a cluster held together by a single intent. The old “one keyword per page” rule is too blunt, because most keywords are just different phrasings of the same search. “King size mattress,” “king mattress,” and “best king mattress” aren’t three topics; they’re one intent worn three ways, and Google returns nearly the same results for each. Building a separate page for every phrasing splits your effort and sets your own pages competing, while one strong page that naturally covers all those variations ranks for the whole group.

So the unit is the intent, not the word. Gather the phrasings, synonyms, and long-tail variants that all express one search, and serve them on one page. The real error the “one keyword” rule was clumsily trying to prevent is a different one: cramming multiple intents onto a single page. A page that tries to be both “how to choose a mattress,” written for someone learning, and “buy a king mattress,” written for someone purchasing, serves neither well, because each is a different search wanting its own page. Shared words don’t make a cluster; shared intent does.

The line sits exactly there. Same intent, many phrasings: one page. Different intents, even when the words look alike: separate pages. The quickest way to check which you’re holding is the results page itself, since if two terms return mostly the same pages, Google is treating them as one intent, and if the results diverge, it isn’t.

Group the phrasings of a single intent onto one page, and split genuinely different intents into their own pages, judging by the search behind the words rather than the words themselves.