Skip to content

DocsTutorials

How to do a technical SEO audit

How to run a technical SEO audit: crawl your site for free, fix issues by severity, track them audit to audit and export the fixes for a coding agent.

OpenSEO crawls your site with its own crawler, so the crawl itself costs nothing. It checks every page it reaches against 117 kinds of problem (18 errors, 58 warnings and 41 notices), sums them up as a health score, and compares each audit with the one before.

Run it in a project for scheduled audits of up to 10,000 pages with history, or use the Site audit tool for a one-off crawl of any site, up to 500 pages.

Run a site audit

  1. Start it

    Open Site audit in your project. The start URL defaults to the project's website. Choose how many pages to crawl, up to 10,000, then click Start crawl. Under More options you can skip or limit URLs by pattern and check links to other sites.

  2. Let it crawl

    The crawler starts with two requests at a time and adds more while your site answers quickly, up to six at a time and four a second. It slows down as soon as the site does. It follows robots.txt, including its Crawl-delay (up to 10 seconds), finds pages through links and your XML sitemaps, and records the exact status code of every URL and every redirect hop. Links with a query string (filters, sorts, tracking) are crawled after the rest, so a page limit is spent on distinct pages first. You can leave the page while it runs.

  3. Only if your site needs it: render JavaScript or get past blocks

    Sites that build their content in the browser look empty to a plain crawler, and the audit flags them with "Content needs JavaScript rendering". Set JavaScript rendering to Where needed and only those pages are rendered through YepAPI, at $0.02 each.

    If a firewall or bot protection refuses the crawler, tick Get past blocks: those pages are fetched through YepAPI's proxies at $0.03 each. Both stop at the spending cap you set; the crawl itself carries on.

  4. Schedule it

    On the History tab, Settings and schedule saves these choices and runs the audit weekly or monthly.

Read the site audit report

The Overview shows the health score and the AI discoverability score, issue counts by severity, and the top issues, or what changed since the previous audit. Under them: response times, status codes, content types, how the links found were crawled and status codes by click depth.

A site audit of upliftdesk.com: health score, AI discoverability score, issue counts and the top issues
The overview of a site audit.
How to read the health score
ScoreReading
80–100Healthy. Few URLs have an error.
50–79Errors on a good share of URLs. Fix them first, then warnings.
0–49Errors on most URLs, often one sitewide problem such as a broken link in the footer.

The health score is the share of crawled URLs without an error. The AI discoverability score adds up which AI crawlers robots.txt lets in, whether pages read without JavaScript, how fast they answer and whether there is an llms.txt. The exact formulas and every check are listed in Site audit checks.

If the crawl stopped at your page limit, a note says so. Findings that compare pages with each other (duplicates, orphan pages, broken links) are then partial; run it again with a higher limit to cover the whole site.

Work through the issues

All issues groups findings by category: crawling and status codes, redirects, indexability, content, links, sitemaps and more. Open an issue to see what it means, how to fix it and every affected URL with the detail for that page (which link is broken, which canonical is wrong and so on), most important pages first. Start with errors: they stop pages from being crawled, indexed or shown.

All issues of a site audit grouped by category, each with its severity and the number of affected URLs
Issues grouped by category. Open one for the affected URLs and how to fix it.

Check pages that get search traffic

When the project has Search Console connected, the audit reads each page's clicks from Google for the last 28 days and the 28 before. It then flags pages Google still sends visitors to that redirect, return an error, are noindex or point their canonical elsewhere, and pages whose clicks fell by half or more. The Pages tab shows the clicks and can sort by them.

Look at pages and links

Pages lists every URL with its status, indexability, word count, depth, response time, incoming links, internal PageRank and issue count. Filter and sort, and click a page for everything recorded about it: why it is or is not indexable, its redirect chain, title, description, headings, structured data, issues, and the links in and out. Links lists every link found, with its anchor and the status of the page it points to.

Compare audits

Each audit is compared with the previous audit of the same site. Every issue shows how many URLs are new (found for the first time), added (crawled before without the issue), removed (fixed) and missing (not crawled this time). The audit also flags pages that became non-indexable or whose status code, title, description, H1 or word count changed. History charts the scores and lists every past audit.

Export the fixes for a coding agent

Exports has three kinds of download:

  • AI fix brief: one Markdown file for Claude, Cursor or any coding agent. It lists the issues worst first with why each matters and how to fix it, groups URLs by template (such as /blog/*) so the template is fixed once, and names the pages most linked to a broken URL.
  • Export all issues: a zip with one CSV per issue, and for link issues a second file of the links behind it.
  • Bulk export: every crawled URL, every link, every redirect with its chain hop by hop, links to broken pages or redirects, uncrawled links, images without alt text, resources or external links, each as one CSV.
Exports of a site audit: the AI fix brief, the zip of every issue and bulk exports
Hand the fix brief to your coding agent, or the CSVs to your team.

Test a page with Lighthouse

In a project, the Lighthouse tab tests one URL on mobile or desktop ($0.05; a repeat within the hour is free). It shows the four Lighthouse scores, the Core Web Vitals (largest contentful paint, layout shift, total blocking time, first contentful paint, speed index) graded good, needs work or poor, and every failed audit with a severity, most serious first:

  • Critical: fixing it would save 300 ms or more, or the audit scores under 50.
  • Warning: it would save 100 ms or more, or scores under 90.
  • Notice: anything else that failed.

Within a severity, the biggest saving comes first.