Library·SOP·SEO

Audit a website with Semrush and prioritize fixes

Check the problems Semrush finds, identify the pages that matter, and turn the findings into an ordered plan with clear next actions and owners.

Last reviewed: · Editorial review

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

SOP 113 · 90 min
SOPFree

Audit a website with Semrush and prioritize fixes

SOP 113 · 90 min

Check the problems Semrush finds, identify the pages that matter, and turn the findings into an ordered plan with clear next actions and owners.

Scope

This SOP covers:

This does not cover:

Requirements

01. Define the audit and open the action plan

Decide what this audit should cover before the crawler starts following links.

  1. Make one editable copy of the Semrush Website Audit Action Plan. Use it for this website and audit date.

  2. Define the website, important pages and visitor task this audit must cover.

    1. Ask the website owner which public site or area to review and what visitors should be able to do there. In Start Here, fill Website homepage, Audit scope, Business priority and Scope exclusions.

    2. In Start Here → Important page URLs, list the exact pages that support that task and why they matter. Include each main page type in the scope, such as a service page, product category and article.

    3. If the owner has not chosen a priority, write Not provided in Business priority and the exact question in Owner questions. Continue checking the website, and label the later action order provisional in Why this comes first.

    4. Create a folder on your computer named Semrush audit, followed by the website name and today's date. Enter its path in Start Here → Evidence folder.

02. Run the crawl and check its coverage

A crawl visits pages and follows their links. Its findings cover what it reached, so check the page list before drawing conclusions.

  1. Open Semrush, select Site Audit, and configure an audit for the agreed website.

    • Warning: A crawl uses your Semrush page allowance. A private area or an app on another subdomain is not automatically part of this website audit.
    1. Open the folder for this website, or create one for this audit. Confirm its domain matches Website homepage. Put its name in Start Here → Semrush folder / project.

    2. Expand Scope and set it to the public hostname or agreed subfolder from Start Here. Turn off Crawl all subdomains for this one-site audit. Set Pages to crawl to Website so the crawl follows links from the homepage.

    3. Set Limit per audit high enough for the agreed public area, using the website owner's page estimate and your remaining allowance. Enter it in Start Here → Page limit. If the full site will not fit, agree a smaller area and name it in Audit scope and Coverage notes.

    4. For an existing audit, use Open settings to make these changes. Set Schedule to Once. In Crawler settings, choose SiteAuditBot (Mobile) and Respect robots.txt for the crawl delay. Turn off audit email updates. Select Start audit for a new audit, or Save changes then Rerun campaign for an existing one.

  2. When the crawl finishes, check what it actually reached.

    1. On the completed audit, enter its date, Pages crawled, campaign link and saved crawler / crawl source in the matching Start Here fields.

    2. Open Crawled Pages and search for each URL in Important page URLs. Check the main page types too. Put missing URLs, blocked areas and any reached page limit in Start Here → Coverage notes.

    3. If the limit stopped discovery or an important page is missing, keep Coverage result as Limited. Save the current exports before changing settings. Increase the limit and rerun within your allowance, or agree and record a smaller scope; investigate unexplained missing pages with the website manager.

    4. Use Complete for selected scope only when the crawl finished and the agreed important pages and page types are accounted for. Otherwise keep Limited and the specific missing area in Coverage notes. Content or links missing from JavaScript-heavy pages also need investigation.

03. Check the issue groups and the pages behind them

Errors, warnings and notices are Semrush's categories. The page's purpose and what you can confirm determine your next action.

  1. Save the original issue and page lists before interpreting or rerunning the audit.

    1. Open Export at the top right and download Issues as CSV or XLSX. Save it in Evidence folder with the website and crawl date in its file name.

    2. Download Crawled Pages with Issues into the same folder. These are the crawled URLs and the issues attached to them; the file is not proof of pages the crawler missed.

  2. Review all three categories in Issues and add every nonzero issue type to Issue Groups.

    1. Open Errors, then Warnings, then Notices. For each issue type, fill Issue, Semrush label, Affected count, Count unit and Report / saved file in Issue Groups. Copy the report's unit; do not call a link or image count a page count.

    2. Open each issue's How to fix explanation and its affected-URL list. In Issue Groups → Why it matters, explain what it could prevent in plain words, such as reaching the kit category or understanding a page's topic.

    3. Compare the affected URLs with Important page URLs. In Issue Groups → Important pages / template, name the important pages or a shared feature, such as the header menu, that could explain repeated findings.

  3. Check the pages behind every issue group before choosing a fix.

    1. For each issue, check every named important page it affects and an example of each affected page type or shared template. Add URL Checks rows until those different cases are covered; starter rows are not a limit.

    2. For an unavailable page, open its affected URL. For a broken link, open the source page and click the reported link. In URL Checks, fill Issue, Source / affected URL, Reported finding, What I checked, Actual result and Check date.

    3. For a title warning, compare the report's Title with the browser tab and other affected pages. Ask whether it names this page's actual topic. For a restriction, canonical or speed finding you cannot check directly, put the exact unanswered question in URL Checks → Actual result and use Needs investigation. A score or label alone does not identify its cause.

    4. Use Confirmed issue when the reported problem is reproduced and conflicts with what the page should do. Use Needs investigation when you cannot reproduce it, the crawler and browser disagree, or the intended behavior is unclear. Use Intentional / no fix only after the owner confirms why that behavior is wanted.

    5. Fill Check status in URL Checks and Issue Groups. Describe mixed results and the checked examples in Important pages / template. A working browser page does not prove a crawler warning is wrong. For an intended exclusion, put the owner's confirmation and reason in Actual result.

04. Order the work and give each action an owner

Choose the work that removes the most important barrier first. The completed plan is a handoff for fixes or diagnosis; this audit does not change the website.

  1. Turn the checked findings into an ordered Action Plan.

    1. Add an Action Plan row for each distinct fix or investigation. Put the issue and affected pages in Issue / affected pages. Keep an intentional finding visible with Status set to No change needed and its reason.

    2. Put a confirmed barrier to an important public page or visitor action first. An uncertain barrier to an important page needs a prompt diagnosis. A shared broken Buy Kits menu goes ahead of one old article's missing description because it blocks the main shopping route.

    3. For problems of similar importance, compare how many important pages they affect and whether one shared menu or template causes them. Prefer clearer evidence; use a smaller safe fix as a tie-breaker when impact is similar. Check dependencies first, such as a suspected crawl block before rewriting that page.

    4. Enter Order and Why this comes first for each action. Compare the first action with the next plausible one, using the fictional example as a guide. Use no numeric score. If Business priority is missing, start the reason with Provisional and name the owner question.

  2. Finish the next action, owner and success check for every action row.

    1. In Next action, state what to change or what question to answer. For a crawler/browser disagreement, name the discrepancy to investigate rather than guessing a robots or server fix. In Check after work, name the page or link check and fresh crawl evidence that would confirm the result.

    2. Enter the actual person's name in Owner and an agreed Due / recheck date. Use To do, Waiting or In progress for unfinished work. If an owner or date is missing, use Waiting and add the exact question to Start Here → Owner questions; the handoff is not ready until it is resolved.

    3. For a WordPress action that needs repair instructions, use the linked guide to choose the appropriate next procedure. Carry the checked page, reported issue, intended visitor result and chosen action.

    4. Check that every nonzero issue group is accounted for, important pages and page types are covered or explicitly limited, and each action has a reason, owner, date and finish check. Enter Reviewed by and Next audit / recheck date in Start Here. Save the workbook for the website owner's normal review process.