Library·SOP·SEO

Research and prioritize SEO keywords with Semrush

Find the searches your audience makes, check what searchers want and which pages already answer them, then choose which useful pages to create or improve.

Last reviewed: · Editorial review

Clarity, structure and references reviewed in this version. This is not a test in a live account.

SOP 097 · 90 min
SOPFree

Research and prioritize SEO keywords with Semrush

SOP 097 · 90 min

Find the searches your audience makes, check what searchers want and which pages already answer them, then choose which useful pages to create or improve.

Scope

This SOP covers:

This does not cover:

Requirements

01. Set up the keyword plan

Define the business task and market before looking at metrics. These facts let you reject attractive-looking phrases the business cannot serve.

  1. Make your own copy of the Semrush SEO Keyword Priority Plan. Use Start Here to describe the site and the decisions you must make. The candidate and page-group IDs are starters, not a limit.

  2. Ask the owner for any missing facts before deciding whether a phrase fits. In Start Here, enter the site, offer, audience, visitor task, target country/database, search language, device context, main visitor action, offer limits, current related URLs, and report date/market notes in the matching answer rows. Put the language in Search language and the agreed goal in Owner's main business priority. If no goal is chosen, enter ‘Not provided’ there and write the exact owner question in Offer limits / owner questions. Do not invent a business goal.

  3. Choose one seed phrase for each distinct offer or audience task worth researching. A seed is a starting search, not a final target; do not add near-duplicates merely to create more rows.

    1. For example, a shop selling balcony planter kits could research balcony gardening and planter kits. It should not research unrelated garden landscaping unless that is also an offer it can support.

    2. Enter each seed in its own first unused row in Keyword Candidates. Keep the K IDs unique and continue with K21, K22, and so on after the starter IDs run out.

02. Build and screen the keyword pool

Use the same country database for comparable demand estimates. Save complete filtered exports so each relevant report row can be screened and traced.

  1. Open Semrush Keyword Magic Tool. Use the target country/database and Search language from Start Here, enter one seed, and run the report. Explore relevant groups, subgroups, questions, and match types for the agreed visitor tasks. In Export Log, record the seed in Seed / topic, country in Country database, device in Device, exact groups/filters in Exact filters / groups used, and shown result count in Semrush result rows shown; keep Search language in Start Here.

  2. Use Keyword Magic groups and filters to keep the full set of phrases that may serve the agreed audience tasks. Include useful questions and smaller-volume phrases when they reveal a real need. Keyword Difficulty (KD) is Semrush's estimate of how hard a phrase may be to rank for; do not drop a useful, relevant phrase only because its volume is low or KD is high. Do not use one cutoff across the market. Give every filter a written reason in Export Log → Exact filters / groups used. Use meaningful groups or filters to define work, not to hide rows that exceed the plan limit.

  3. Define each useful report scope, export the entire scope, import each file separately, and reconcile each part and any split set with the original chosen-scope count before screening or calling coverage complete.

    1. For one seed, select the Keyword Magic group or exact filter set that covers a real audience task. This chosen scope is the complete report you intend to screen; it need not be every phrase Semrush shows for every related search. Record its business reason and exact group/filters in Export Log → Exact filters / groups used, its country in Country database, its device in Device, and the count shown in Semrush result rows shown.

    2. Check your plan’s results-per-report limit in Semrush’s SEO Toolkit pricing and plan limits, or use the limit shown in the report. If your chosen scope exceeds it, split the scope into useful groups or filters with no repeated phrases.

      In Export Log, give all parts the same Coverage set ID. Use words for Partition number / total, such as 1 of 2 and 2 of 2.

      In each part’s Exact filters / groups used, record its filters and Original whole-scope row count: [rows]. Put that part’s own count in Semrush result rows shown.

      For example, a 12,000-row scope split into 9,000 and 3,000 rows keeps 12,000 as the original count on both rows. The part counts are 9,000 and 3,000. Export every part in full; the final coverage check adds them together.

    3. Use Semrush Export → This topic for the selected topic (group), or All when the current filtered report is exactly the scope you defined. Choose CSV or XLSX and save the original unchanged with the seed, group/part, round, and date in its filename. Do not choose Selected unless those selected rows are the entire scope. Record the exact filename in Export Log.

    4. In your workbook copy, choose File → Import → Upload, select one original export, and choose Insert new sheet(s). Name the tab with the seed, part, and round, such as balcony-kits-part-1-round-1. Import each part to a separate tab; do not merge files by hand.

    5. Count the imported data rows without the header. If keywords are in column A, use =COUNTA(A2:A) in an empty cell.

      Complete this part’s Export Log row:

      • Data rows in imported export: the imported count.
      • Semrush result rows shown: this part’s Semrush count.
      • Imported tab name and Original CSV/XLSX filename: its tab and file.
      • Coverage set ID: the set this part belongs to.
      • Partition number / total: text such as 1 of 2 for part 1 of 2.

      Compare the two row counts. If they differ, describe the gap in Open question / next check and leave Chosen scope fully accounted? as No. Keep All rows screened? as No until every row has been reviewed.

  4. Review every data row in every imported part. Add one Keyword Candidates row for each distinct relevant phrase, including phrases you need to Park. Record the report and market, the original tab and data-row number, and the metrics shown. You may also keep a rejected phrase’s row to explain its rejection.

    In Export Log, count each imported row in only one bucket:

    • Unique relevant candidates: distinct phrases retained as Lead, Supporting, or Park. Exclude Reject.
    • Duplicate query rows: extra occurrences of a phrase already counted in this research round.
    • Irrelevant / rejected rows: discarded phrases, including Reject, counted once rather than again as relevant.

    These three counts must add up to Data rows in imported export. Never add duplicate metric estimates together.

    1. When the same exact phrase appears in more than one export, keep one candidate row and list every original tab and row in Keyword Candidates → Source export tab / row. Count repeated rows in Export Log → Duplicate query rows. Keep source exports unchanged and never add duplicate metric estimates together. A repeat between parts of one split Coverage set is an overlap and means that set is not fully accounted for; repeats across separate seed scopes are kept as sources for one candidate.

    2. Choose Business fit separately from Decision:

      • Strong: a main offer or core expertise directly serves the task.
      • Partial: the business can meaningfully answer a real part of the task. For example, a balcony-kit shop’s horticulturist can help with broad ‘balcony garden ideas’.
      • Weak: only a side question fits. The shop might offer a planter-placement tip but cannot answer the main patio-furniture shopping task.
      • Needs owner input: a missing business fact decides whether the business can help. Write that question in Start Here → Offer limits / owner questions.

      Choose Park when an owner answer or named search check could change the decision. Choose Reject when known facts show the business cannot credibly answer the task.

      For Weak fit, research the narrower side question as a separate seed and reject the broad phrase as a target. Do not use it as Lead or Supporting for a different task. Small volume or high KD alone is not a reason to reject a useful phrase.

03. Check intent and choose a page target

Metrics do not tell you what the searcher wants or which page should answer. Check the live result mix and your current website before grouping phrases.

  1. For each promising page idea, open Semrush Keyword Overview for its primary phrase and use the same country database. In Keyword Candidates, add ‘Keyword Overview — [country], [language]’ to Report / source and the date opened to Checked date; put a mismatch or open question in Question / notes. Record displayed volume, intent, or Keyword Difficulty when the overview adds a needed detail or resolves a mismatch. Treat these as Semrush estimates, not your site's measured visits.

  2. Check live Google results in the target region and language, then save dated evidence about the visitor task and visible page types.

    1. Open Google Search settings. Under Region, select the country from Start Here and save. Set the results-language filter to the Search language in Start Here, then save or confirm. If Google does not offer that filter (it may be absent for English), record that in Keyword Candidates → Question / notes.

    2. Search the exact primary phrase in Google Search. Note the visitor task and the page types shown, such as guides, products, comparisons, or local services.

      Open one or two representative top organic results. Note specific strengths a competing page must match or improve: for example, worked instructions, first-hand examples, clear comparisons, or a useful tool. Use these observations with same-country KD in Page Groups → Competition and what top pages do well.

      In Keyword Candidates, record Google Search — [country], [language] in Report / source, the date in Checked date, the task in What the results suggest people need, and page types and examples in Visible top-result page types / examples. Keep differently dated Overview and Google checks separately in Question / notes.

  3. Open the current related URLs listed in Start Here. Compare what each page actually helps the visitor do with the search task and the page types you recorded. A page about the same topic may still serve a different task: a product page helps someone buy; an advice article helps them learn.

    In Page Groups, choose Improve existing page only when a current page answers the same task in a matching page type, then enter its URL in Target URL. If no page fits and the business can add a distinct useful answer, choose Create new page. Choose No page / park when an owner fact or search check is missing.

    Lead and Supporting describe keyword roles; they do not decide whether a page is new or existing.

  4. Compare phrases by what the visitor wants and the page types ranking now. Give each distinct task its own Page Groups row. Choose one Lead phrase for the page's main task and mark only phrases with the same task and a similar result-page type Supporting. Supporting phrases belong on that same page; they are not competing page ideas. Use the guide below to choose the Lead. Put a different task on its own row with its own Lead. Use Page Groups → Create or improve? for the page action; Lead and Supporting do not mean new or existing page.

    1. First choose the phrase that best names the main task this business can credibly answer, using what live results show and the business's offer or expertise. If same-task phrases with similar result-page types fit equally well, compare their estimated search volume and Keyword Difficulty (KD) in the same country: relative demand may favor one, while lower difficulty may make another more achievable. Explain the tradeoff; use no score or fixed cutoff. In the fictional example, K01 best names the broader soil-choice guide and has more estimated searches (1,300 vs. 720), while its KD is slightly higher (42 vs. 38); K02 supports that same page. If search results show a different task or page type, give it a separate group instead.

04. Compare and hand off the page plan

Choose an order by weighing usefulness, evidence, demand, competition, and readiness together. The worksheet records the reasoning so someone else can act on it.

  1. Start with the owner’s main business priority, then compare each page group’s fit, useful help the business can provide, intent and live-page evidence, relative volume in the same country, Keyword Difficulty (KD), and readiness. Explain the tradeoff; do not make a score or let volume/KD decide alone. For the fictional kit shop, the stocked kit category goes first for the owner’s sales priority even though the soil guide has higher volume and lower KD.

    1. Write the owner’s priority first, then compare it with fit and the evidence. The fictional owner wants more sales of stocked kits, so G02/K03 (590 searches, KD 61, existing kit category) goes ahead of G01/K01 (1,300 searches, KD 42, useful soil guide). Name the smaller-demand/higher-KD tradeoff and why the first idea still better serves the agreed goal.

    2. If the owner has not chosen a priority, put ‘Not provided’ in Start Here → Owner's main business priority. Compare fit, visitor task, useful contribution, current pages, relative demand, competition, and readiness, then label the order provisional in Page Groups → Priority order. Put the exact follow-up in Start Here → Offer limits / owner questions and in the affected Page Groups row's Next action / owner question. Do not turn the factors into a numeric total or imply the owner approved the order.

  2. Complete one Page Groups row for each distinct useful task. Choose the matching Lead as Primary Candidate ID, list only same-task/page-type Supporting IDs, choose Create new page, Improve existing page, or No page / park, and put an existing URL only in Target URL. Write the fit, useful contribution, and why it ranks here. Put the concrete next step or owner question in Next action / owner question, and the named owner plus agreed due date in Owner / due date. If either is not agreed, write ‘Not assigned’ or ‘Due date not set’ instead of guessing. Add rows beyond G01–G10 when needed; candidate role and page action stay separate.

  3. Use the selected Page Groups row as the handoff record: confirm Next action / owner question and Owner / due date, then share that row and its candidate/export evidence with the named person using the business's normal process. For a new-page candidate, follow the linked procedure to prepare its writer brief. For an existing page that may need improvement, hand over its URL and supporting keyword evidence to the linked page-review procedure. This guide does not edit or publish the page.

    1. Use one selected Page Groups row as the topic and main phrase for the writer brief. Include its supporting candidate IDs, source exports, live result notes, business contribution, and unresolved owner questions.

    2. Send the page URL, main and supporting phrases, live result notes, and export evidence to the page-review procedure. Do not make changes to the website from this research plan.

  4. Complete the chosen-scope count, screening, and source checks before sharing the page plan.

    1. For each split Coverage set, read Original whole-scope row count: [rows] in Exact filters / groups used. Partition number / total gives each part number / total number of parts; confirm 1 through that total appears once. Add the Semrush result rows shown values and compare the sum with the original count. Example: 12,000 original rows split into 9,000 and 3,000; parts 1/2 and 2/2; 9,000 + 3,000 must equal 12,000.

    2. For every Export Log row, confirm the imported tab and filename are recorded, Data rows in imported export matches its Semrush count, and All rows screened? is Yes. In Keyword Candidates, keep each retained phrase's Source export tab / row. Duplicate query rows across parts of one set must total zero; repeats across separate seed scopes stay one candidate with all source rows. Mark Chosen scope fully accounted? Yes only when the count, screening, and source checks pass. Otherwise leave No and name the missing part, repeated row, or count gap and next check in Open question / next check.