Library·SOP·SEO

Find pages to improve using Semrush

Review the site’s ranking pages, check the live pages and search results, then order justified improvement work.

Last reviewed: · Editorial review

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

SOP 098 · 75 min
SOPFree

Find pages to improve using Semrush

SOP 098 · 75 min

Review the site’s ranking pages, check the live pages and search results, then order justified improvement work.

Scope

This SOP covers:

This does not cover:

Requirements

01. Set up the page review

Decide what matters to the business and which market the report should cover before judging ranking numbers.

  1. Make your own copy of the Semrush Page Improvement Shortlist. Start Here holds the site scope and decision rules. Export Log tracks every downloaded report file, imported tab, row count and any coverage gap. Page Shortlist holds one decision per URL; Keyword Evidence connects relevant searches to their page.

  2. Ask the site owner which products, services, audiences, or page goals matter. Enter the website, offer, audience task, target country, device/date, important page types, limits, and open questions in Start Here.

  3. Choose the domain view that matches the website area you are reviewing, such as the whole domain or a specific subdomain. Select the target country database and record any device and date context shown by Semrush. Use the same scope in each report.

02. Save and account for page and keyword reports

Use Top Pages with Google Search selected to review the site’s page inventory, then Organic Rankings → Positions to find its ranking search phrases. Save both complete reports for the chosen website area and market.

  1. Open Semrush’s Top Pages report for the website.

    1. a. Enter the website domain and select the domain view, country and date recorded in Start Here. Record the device setting if one is shown; otherwise write Not shown in Export Log.

    2. b. Open Source, select Google Search and click Apply. Keep the other sources unselected. This selects Google Search metrics; the URL list may still include pages without ranking keywords. Save every row and use Positions to check each candidate’s query evidence. The worksheet calls these files Pages.

  2. Save all Pages results for the chosen website scope.

    • Warning: A report that stops at your plan’s row limit is incomplete, even if the visible table looks finished.
    1. a. Before adding URL filters, record the row total with Google Search selected. Open Export and check the available row limit or number of rows to download. If all rows fit, use one part (1 of 1). Record the total and any export limit in Export Log; Top Pages may have different limits from Organic Rankings.

    2. b. If the total exceeds the cap, define URL-path parts that assign each Pages URL to exactly one part. Use only visible URL or subfolder filters, and record each exact filter. Do not split by topic, traffic or position; those filters can omit or repeat pages.

    3. c. Apply each URL filter separately and note its Semrush row total. A remainder part is allowed only if the report visibly supports that filter. Add the part totals and compare them with the unfiltered total; each URL must belong to one part only. If the filters cannot cover every URL exactly once or counts do not match, mark coverage unresolved.

    4. d. For one full-scope report or each reconciled part, use the report’s Export control to download all rows as CSV or Excel. Save each original file with the date and part number, for example pages-2026-09-30-part-1-of-3.csv. Do not export only checked rows or the first rows on screen. Keep each file unchanged.

  3. Import each Pages file into the copied workbook as a separate source tab.

    1. a. In Google Sheets, choose File → Import → Upload, select a Pages CSV or Excel file, and choose Insert new sheet(s). Repeat for each part; do not replace the workbook or combine the source files.

    2. b. Name the tabs Pages - [date] - [part], such as Pages - 2026-09-30 - 1 of 3. Use Pages - [date] - 1 of 1 when there is one file.

  4. Record the Pages files and reconcile their row counts in Export Log.

    1. a. Add one Export Log row for each Pages file. Record the domain view, country, device if shown, date, Google Search Source selection, any URL filter, original file name and imported tab. Add a Coverage set / part label, such as Pages-US-2026-09-30 / 1 of 3.

    2. b. Enter the Semrush result count for that filter; write Not shown if there is no count. In Rows in downloaded file and Data rows imported, count data rows below the header. If rows are consecutive, use the last data-row number minus the header row. Do not count the header.

    3. c. For each part, compare the Semrush count recorded for its filter with the downloaded-file and imported-tab data-row counts; all three should match. If any part differs, correct the import or record the exact gap.

    4. d. Review the Coverage set totals against the unfiltered full-scope count. Confirm each URL is assigned once and no URL is missing. If the total is hidden, a file reaches the plan cap, or the parts cannot be proven complete, write the known or unknown gap in Coverage status / gap and Gap / next check. Do not call coverage complete.

  5. In Organic Rankings, open Positions for the same domain view, country and date. Select the intended device and record it separately if Top Pages did not show one. Choose Organic when Semrush offers All positions, Organic and SERP Features views. Each row represents a keyword and landing URL, so one page can appear on many rows.

  6. Save all Positions rows for the same website scope.

    • Warning: A large Positions report may have more keyword rows than the Pages report has URLs.
    1. a. Before adding a filter, record the full-scope Positions row total and compare it with your plan’s Organic Rankings report limit: Pro 10,000, Guru 30,000 and Business 50,000. If the full scope fits, use one part (1 of 1). Record the full-scope total with this Coverage set in Export Log.

    2. b. If the total exceeds the cap, use the same disjoint URL-path parts defined for Pages, with the Positions report’s URL filter. Each keyword-to-URL row belongs to the part for its landing-page URL. Do not split by keyword, traffic or position.

    3. c. Apply each URL filter separately and note its Semrush row total. Keep country, device, date and Organic view the same. Add the part totals and compare them with the unfiltered Positions total; if a filter is unavailable, a URL is uncovered, or counts do not match, mark coverage unresolved.

    4. d. For one full-scope report or each reconciled part, use the Positions report’s Export control to download all rows as CSV or Excel. Save each original file with the date and part number, for example positions-2026-09-30-part-1-of-3.csv. Do not export only checked rows or the first rows on screen. Keep each file unchanged.

  7. Import each Positions file into the copied workbook as a separate source tab.

    1. a. Choose File → Import → Upload, select a Positions CSV or Excel file, and choose Insert new sheet(s). Repeat for each part; keep each source file in its own tab and do not replace or combine the workbook’s tabs.

    2. b. Name the tabs Positions - [date] - [part], such as Positions - 2026-09-30 - 1 of 3. Use Positions - [date] - 1 of 1 when there is one file.

  8. Record the Positions files and reconcile their row counts in Export Log.

    1. a. Add one Export Log row for each Positions file. Enter the domain view, country, device/date, URL section or other filter, original file name, imported tab name, and one Coverage set / part label, such as Positions-US-2026-09-30 / 1 of 3.

    2. b. Enter the Semrush result count for that filter; write Not shown if there is no count. In Rows in downloaded file and Data rows imported, count data rows below the header. If rows are consecutive, use the last data-row number minus the header row. Do not count the header.

    3. c. For each part, compare the Semrush count recorded for its filter with the downloaded-file and imported-tab data-row counts; all three should match. If any part differs, correct the import or record the exact gap.

    4. d. Review the Coverage set totals against the unfiltered full-scope count. Confirm the URL parts neither overlap nor omit a section. If the total is hidden, a file reaches the plan cap, or the parts cannot be proven complete, write the known or unknown gap in Coverage status / gap and Gap / next check. Do not call the keyword evidence complete.

  9. Review every URL in every imported Pages tab.

    1. a. Read every URL row in every Pages part. Compare the page’s purpose with the offers and audience tasks in Start Here. If a URL appears in more than one part, note the overlap in Export Log and fix or disclose the overlap before marking coverage complete.

    2. b. Add one Page Shortlist row for each distinct, in-scope URL that serves an important task or raises a specific question. Record its source tab and row. Use extra rows when needed.

    3. c. After every URL in a Pages part has been considered, set Screening status to Complete on its Export Log row. If a part is unfinished, leave its status as In progress and record what remains.

  10. For each Page Shortlist URL, review its matching rows across the imported Positions tabs and record useful searches in Keyword Evidence. Keep the source tabs unchanged.

    1. a. In a Positions tab, turn on the filter in the header and choose the exact page URL in the URL column. Check every Positions part that could include this page. After recording its matching terms in Keyword Evidence, clear only the URL filter before moving on. Do not sort away or delete source rows.

    2. b. Keep a query as evidence when its search task belongs to that page’s real purpose. In Keyword Evidence, record the query, intent, position, estimated traffic, volume, country, report date, and source tab/row. Record an unrelated or mixed query only when it raises a specific question about the page; do not assume it should target every exported phrase.

    3. c. When all shortlisted URLs in a Positions part have been checked, set Screening status to Complete on its Export Log row. If no shortlisted URL uses a part, write Not needed — no shortlisted page in this part.

03. Inspect the live page and result mix

A ranking metric can identify where to look, but it cannot explain what needs changing. Check the page and the result types that appear for its important searches.

  1. Open each shortlisted URL in your website and write what the current page promises, who it helps, and what it actually provides in Page Shortlist. Confirm product names, prices, dates, eligibility, and other factual details with the owner when needed.

  2. Search the page’s most relevant query in Google Search using the target market and language. Note the organic page types, such as how-to guides, product listings, comparisons, or local service pages, and what common question those pages answer. Record the observation and date in Page Shortlist or Keyword Evidence.

  3. Compare the visible need with the current page. A useful improvement case names an actual mismatch, missing explanation, unclear next step, outdated fact, or confirmed information the page could add. If the page already serves the intent and you see no meaningful gap, choose No change. If the query evidence or business facts are too thin to judge, choose Monitor and name what to check next.

04. Order the page decisions

Choose the next page by comparing business importance, the strength of the gap, and how ready the team is to act. Record the reason beside each decision.

  1. For each URL, choose Review first, Review next, Monitor, or No change in Page Shortlist. Review first means the page is important, the gap is clear, and the team can act. Review next means the opportunity is useful but less important, less certain, or harder than the first page. Monitor means key evidence is missing or mixed; write the missing item and recheck date. No change means the page fits the observed need and no material gap is supported.

  2. Order Review first and Review next pages by comparing goal fit, the gap’s likely value, evidence strength, and effort/readiness. Semrush position, estimated traffic, volume, and Keyword Difficulty are context: do not choose a page solely because one number is large or small. In Why it ranks here vs the next page, state the factor that makes each page come before the next plausible one.

  3. If the search task has no current page that serves it, leave it out of the page-update order and send the query, market, live result note, and reason for a new page to keyword planning. Do not relabel a missing page as a weak existing page.

    1. For a target phrase that still needs grouping and prioritization, follow the linked procedure and carry over the search and business evidence.

  4. For a Review first or Review next page, hand the URL, specific gap, relevant query evidence, owner questions, and proposed next check to the person who controls page changes. If they decide to edit, use the linked on-page review before making changes. This SOP itself does not edit the website.

    1. Use the linked page audit for the one selected page when the owner decides to inspect or change its on-page elements.

  5. Review the report counts, screening progress and source links before sharing the shortlist.

    1. a. Review Export Log for the Pages and Positions files. Check the intended website area, country and date, Google Search for Top Pages, and Organic for Positions. Record each report’s device setting where shown. Compare the report, downloaded-file and imported-tab row counts, and check that any URL parts cover the whole chosen area without overlap. State any missing rows or unknown total in Coverage status / gap.

    2. b. Confirm every Pages part is marked Complete in Screening status and every shortlisted URL’s useful query rows point to the matching Positions part and source row. A Positions part with no shortlisted URL should say Not needed.