Vibe Academy
← SEO FoundationsThe levers that move rankings · Lesson 3 of 8

Keyword Research & Search Intent

Find the terms worth chasing and read what the searcher actually wants.

Keyword Research and Search Intent

Every keyword is a person. Before you think about volume, difficulty, or rankings, understand that simple truth. When someone types "how long does a roof last" into Google, they are not handing you a phrase to sprinkle across a page. They are handing you a need: worry about an aging roof, a question they want answered, a decision they are moving toward. Keyword research is the practice of reading those needs at scale and building pages that meet them. Do that well and rankings follow. Stuff phrases into thin copy and you will lose to competitors who actually answered the question.

Search volume, and the local trap

Search volume is the estimated number of times a term is searched per month. Beginners obsess over it, and it burns them. High volume is not the same as high value.

Picture a roofer in Plano. The word "roofing" gets tens of thousands of searches a month. It feels like a jackpot. But who searches "roofing"? Students writing essays, homeowners in Florida, people comparing materials with no intent to hire anyone, and every roofing brand on earth. Now look at "roofing company in Plano" at roughly 480 searches a month. Far smaller. But nearly every one of those searchers is a nearby homeowner with a problem and a wallet. Rank for that and you get phone calls. Rank for bare "roofing" and you get a bounce.

This is the local trap: chasing the biggest number instead of the most qualified one. A dentist ranking for "emergency dentist in Frisco" is booked out by Friday. Volume is worthless if the intent is wrong. Multiply expected traffic by the odds a searcher becomes a customer, and low-volume local terms usually win on revenue.

Keyword difficulty, and starting where you can win

Keyword difficulty estimates how hard it is to rank on page one, based on how strong the sites already there are. National head terms like "roof replacement" are defended by companies with thousands of backlinks and years of authority. A brand-new local site has close to zero chance there, and no amount of effort in month one changes that.

So do not open by attacking the hardest terms. Start where you can realistically win: specific, local, lower-competition phrases. "Storm damage roof repair in McKinney" might be genuinely rankable for a new site because few strong pages target it exactly. Win the winnable terms, earn traffic and trust, and use that momentum to climb toward the harder ones later. Early SEO is about picking fights you can actually win.

The four search intents

Behind every keyword sits one of four intents. Match your page type to the intent or you will rank for nothing.

  • Informational. The searcher wants to learn. "How long does a roof last," "signs of hail damage." They are not buying today. Serve these with helpful blog posts and guides. They convert slowly, but they build trust and capture people early in the journey.
  • Navigational. The searcher wants a specific place. "Acme Roofing reviews," "Acme Roofing phone number." They already know the brand. If it is your brand, own these easily. If it is a competitor, you usually cannot win them.
  • Commercial investigation. The searcher is comparing before buying. "Best roofers in Dallas," "metal vs shingle roof cost." High value. Serve these with comparison pages, detailed service pages, and honest breakdowns that help them decide in your favor.
  • Transactional. The searcher is ready to act now. "Emergency roof repair near me," "roof inspection quote Allen." This is money. Serve these with tight service and location pages that load fast and put a phone number and form right up top.

Commercial and transactional terms convert best because the person is close to a decision. Informational terms feed the top of your funnel. You want a mix, but if you are new and hungry for revenue, prioritize the bottom two. Learn to read intent and build the matching page in Search intent and content.

Head terms versus long-tail

Head terms are short and broad: "roofer," "roof repair." Huge volume, brutal difficulty, fuzzy intent. Long-tail keywords are longer and specific: "flat roof leak repair in Garland." Lower volume, sharper intent, far easier to rank.

One long-tail phrase might bring 40 searches a month. Unimpressive alone. But you can rank for hundreds of them, and each one is a warm, specific searcher. Fifty long-tail pages pulling 30 qualified visitors each beats one impossible head term you never rank for. The long tail adds up, and it converts, because specific searches come from people who know exactly what they need.

How to actually find keywords

You do not need expensive tools to start.

  1. Seed terms. List your services and cities plainly: roof repair, roof replacement, inspection, Plano, Frisco, Allen.
  2. Google autocomplete. Start typing a seed and read the suggestions. Those are real searches ranked by demand.
  3. People Also Ask. The expandable questions in results are a live map of informational intent.
  4. Competitor pages. Look at what the roofers already ranking have built pages for. Their sitemap is a keyword list.
  5. Your own Search Console data. The richest source of all: the exact queries you already appear for. Wire it up in Connect Search Console, then use those queries as seeds inside Vibe's keyword research and watchlist.

Striking-distance keywords: your fastest wins

Here is the highest-leverage move in this lesson. In Search Console, find the terms where you already rank in positions 5 to 20. You are on page one or two, close but not clicked. These striking-distance keywords are the fastest wins in SEO, because Google already considers you relevant. A small push (a stronger title, a section that answers the query, an internal link) can move a term from position 12 to position 6, and that jump is where clicks actually begin. Fix what is almost working before chasing brand-new terms.

Mapping keywords to pages, and cannibalization

Give every page one primary intent and one primary keyword. A service page targets a transactional term. A blog post targets an informational one. When two pages chase the same keyword, you get keyword cannibalization: they compete with each other, split their signals, and confuse Google about which to rank, so both underperform. One clear page per intent beats three muddy ones. Turn a chosen keyword into a structured outline with the content brief tool, and signal it cleanly on the page using on-page SEO.

Track movement over time

Rankings shift weekly, so a one-time check tells you nothing. Build a watchlist of your target terms and record their positions over time. Watching a keyword climb from 15 to 9 to 4 tells you your work is landing and shows you which pages to push next. Check movement in Vibe's reports. Research finds the opportunity; tracking proves you caught it.