Most websites have more SEO problems than their owners realize. A page that looks fine in Chrome can be invisible to Googlebot. A site that ranks well today can drop overnight if a misconfigured robots.txt blocks the wrong crawl path. A technical SEO audit is how you find these issues before they cost you traffic.
This guide walks through the full audit process: the tools, the exact steps, what to look for at each stage, and how to turn your findings into a prioritized fix list. You do not need to be a developer to run this audit, but you do need to be thorough.
If you want a broader view of what a complete technical and content checklist looks like, start with our complete SEO checklist. This guide goes deeper on the technical layer specifically.
This guide walks through the full audit process: the tools, the exact steps, what to look for at each stage, and how to turn your findings into a prioritized fix list. You do not need to be a developer to run this audit, but you do need to be thorough.
If you want a broader view of what a complete technical and content checklist looks like, start with our complete SEO checklist. This guide goes deeper on the technical layer specifically.
What a Technical SEO Audit Actually Covers?
A technical SEO audit is a structured review of everything that affects how search engines find, crawl, render, and index your site. It is not about content quality or backlinks; those are separate conversations. This audit is about the plumbing underneath.
The four areas that matter most:
The four areas that matter most:
Miss any one of these and the rest of your SEO work is building on a leaky foundation.
What a Technical SEO Audit Actually Covers?
A technical SEO audit is a structured review of everything that affects how search engines find, crawl, render, and index your site. It is not about content quality or backlinks; those are separate conversations. This audit is about the plumbing underneath.
The four areas that matter most:
The four areas that matter most:
Miss any one of these and the rest of your SEO work is building on a leaky foundation.
The Tool Stack You Will Need
You do not need every tool on the market. You need the right tools for each layer of the audit.
| Tool | What It Does | Best For |
|---|---|---|
| Screaming Frog | Full site crawl, on-page signals, redirect chain mapping | Complete technical audits on any site size |
| Sitebulb | Visual crawl reporting, JavaScript rendering audit | Identifying structural and rendering issues |
| Google Search Console | Official index coverage, Core Web Vitals field data | Source of truth for indexing and performance |
| Ahrefs Site Audit | Page health scoring, internal link equity, backlink data | Link-related issues and site health tracking |
Google Search Console is free and non-negotiable. Screaming Frog has a free tier covering up to 500 URLs, which is enough to audit small sites completely. Sitebulb offers a trial. Ahrefs requires a paid plan but its site audit feature is among the most thorough available.
Most practitioners run Screaming Frog as the primary crawl tool and cross-reference findings in Search Console. Start there.
Most practitioners run Screaming Frog as the primary crawl tool and cross-reference findings in Search Console. Start there.
Step 1: Crawl Your Site and Map the Baseline
Open Screaming Frog and run a full crawl of your domain. This maps every URL the crawler can find, which is not always the same as every URL on your sitemap.
Before you crawl, configure it correctly:
Before you crawl, configure it correctly:
When the crawl finishes, look at these numbers first:
These are your baseline. Every subsequent audit should be compared against this snapshot so you can track whether issues are accumulating or getting resolved.
Step 2: Fix Status Code Errors
4xx errors mean a page does not exist or access is blocked. Every 4xx on a URL that was once live is potentially leaking link equity and delivering a bad experience to anyone who finds that dead link.
Common causes of 4xx errors
Fix: Set up 301 redirects from every dead URL to the most relevant live page. Do not redirect everything to your homepage Google treats this as a soft 404 and ignores it.
5xx server errors
These are more urgent than 4xx errors. A page returning a 500 error is failing at the server level not just a missing page but a broken one. Search Console will flag these in the coverage report, and Googlebot will deprioritize crawling a site with persistent 5xx responses.
Fix: Pass every 5xx URL to your hosting or development team immediately. These should not sit on a backlog.
Fix: Pass every 5xx URL to your hosting or development team immediately. These should not sit on a backlog.
Redirect chains
A redirect chain is where URL A redirects to URL B which redirects to URL C. This slows down Googlebot, dilutes link equity at each hop, and increases page load time for real users. Every redirect chain should be collapsed into a single direct 301 from the original URL to the final destination.
Step 3: Audit Indexing and Coverage in Search Console
Open Search Console and navigate to Indexing, then Pages. This report shows every URL Google has processed and what decision it made about each one.
Pay close attention to these buckets:
Pay close attention to these buckets:
noindex tag that should not be there.robots.txt file is preventing Google from crawling these pages. Make sure this is intentional for every URL in this bucket.sitemap.xml. Add it.
Your sitemap.xml should include every URL you want indexed, and nothing you do not want indexed. Check it for dead URLs, noindexed pages, and redirect destinations. All of these waste crawl budget and can confuse the indexing system.
Step 4: Check Your Robots.txt
Robots.txt sounds simple until a misconfigured rule silently kills a site’s traffic. It has happened to large brands with experienced SEO teams. A single misplaced wildcard can block your entire CSS and JavaScript directory from being crawled.
Visit yourdomain.com/robots.txt and check:
Visit yourdomain.com/robots.txt and check:
sitemap.xml is referenced at the bottom of the file.
Test specific URLs using Screaming Frog under Configuration, then Robots.txt, then Test. Enter a URL you want Google to crawl and confirm the tool shows it as allowed.
Also check via Google Search Console under Settings, then Crawl Stats. If Googlebot is spending a disproportionate amount of crawl time on URLs that provide no SEO value admin pages, thank you pages, filtered URLs your robots.txt can reclaim that budget for pages that matter.
Also check via Google Search Console under Settings, then Crawl Stats. If Googlebot is spending a disproportionate amount of crawl time on URLs that provide no SEO value admin pages, thank you pages, filtered URLs your robots.txt can reclaim that budget for pages that matter.
Step 5: Review Internal Link Structure
Internal links do two things: they pass authority between pages and they signal to search engines which pages matter most on your site. A page with no internal links pointing to it is nearly invisible to Googlebot, even if it appears in your sitemap.
In Screaming Frog, go to Reports, then Crawl Tree. This visualization shows your internal link depth how many clicks it takes to reach each page from the homepage.
What you are aiming for:
In Screaming Frog, go to Reports, then Crawl Tree. This visualization shows your internal link depth how many clicks it takes to reach each page from the homepage.
What you are aiming for:
The architecture of your site has a direct impact on how link equity flows. Read our guide to website architecture for SEO for a more detailed breakdown of how to structure your site for maximum crawl efficiency.
Step 6: Core Web Vitals and Page Performance
Core Web Vitals are Google’s official user experience signals. Poor scores do not guarantee a ranking drop, but they are a factor in Google’s ranking systems and they affect how real users behave on your pages, which affects every downstream metric.
The three metrics:
The three metrics:
Check your scores in two places. First, Google Search Console under Core Web Vitals gives you real user data grouped into Poor, Needs Improvement, and Good. Second, PageSpeed Insights at pagespeed.web.dev gives lab data for individual URLs with specific recommendations.
Common LCP killers: large unoptimized images, slow server response times, render-blocking JavaScript loaded in the document head.
Common CLS killers: images without explicit width and height attributes, ads that load after the page content, late-loading web fonts that cause text reflow.
For a detailed breakdown of how to fix performance issues at the code level, see our guide on page speed optimization.
For a more complete look at how Core Web Vitals connect to rankings, we cover the full framework in our upcoming guide on core web vitals how to pass.
Common LCP killers: large unoptimized images, slow server response times, render-blocking JavaScript loaded in the document head.
Common CLS killers: images without explicit width and height attributes, ads that load after the page content, late-loading web fonts that cause text reflow.
For a detailed breakdown of how to fix performance issues at the code level, see our guide on page speed optimization.
For a more complete look at how Core Web Vitals connect to rankings, we cover the full framework in our upcoming guide on core web vitals how to pass.
Step 7: Duplicate Content and Canonical Tags
Google does not want to choose between two nearly identical pages. Duplicate content fragments ranking signals and wastes crawl budget on pages that add no additional value to the index.
Run a duplicate content check in Screaming Frog under Reports, then Duplicate Content. This flags pages with identical or nearly identical body content and title tags.
Common sources of unintentional duplication:
Run a duplicate content check in Screaming Frog under Reports, then Duplicate Content. This flags pages with identical or nearly identical body content and title tags.
Common sources of unintentional duplication:
Every page on your site should have a canonical tag pointing to the definitive version of that URL. In Screaming Frog, check the Canonical tab under Elements to export all canonical tags and verify they are correct.
Red flags to investigate immediately:
Step 8: Mobile Usability
Google indexes the mobile version of your site first. This is not a future change; it has been the default for years. A site that renders perfectly on desktop but breaks on a 390-pixel screen is a site that has a Google problem.
Check mobile usability in Search Console under Experience, then Mobile Usability. Look for:
Check mobile usability in Search Console under Experience, then Mobile Usability. Look for:
Test individual pages using Google’s Mobile-Friendly Test tool. Put every important landing page through it, not just the homepage.
Also verify that your mobile version carries the same content as your desktop version. If you run a separate mobile subdomain or serve different HTML to mobile users, ensure the mobile version is not hiding the content signals that support your rankings.
Also verify that your mobile version carries the same content as your desktop version. If you run a separate mobile subdomain or serve different HTML to mobile users, ensure the mobile version is not hiding the content signals that support your rankings.
Step 9: Structured Data and Schema Markup
Schema markup is the vocabulary that tells search engines exactly what your content represents. It is what powers rich results, star ratings in search listings, FAQ dropdown panels, event cards, breadcrumb trails, and product availability signals.
Audit structured data in three steps:
Audit structured data in three steps:
Common problems to look for:
Step 10: HTTPS and Security Signals
Every site should be running entirely on HTTPS. This is table stakes at this point, not a competitive advantage. But the implementation often has gaps even on sites that nominally run on HTTPS.
Check for:
Check for:
To check for mixed content, open Chrome DevTools on any page and look at the Console tab. Mixed content warnings appear as errors. Fix them by changing all resource URLs in your code from http:// to https://, or better, to protocol-relative references that inherit the page scheme automatically.
Step 11: International SEO and Hreflang
This step applies only to sites that target multiple countries or languages. If you run a single-language site focused on one market, skip it.
Hreflang attributes tell Google which version of a page to show to users in each country and language combination. The implementation is detail-sensitive and errors are extremely common.
Common hreflang errors:
Hreflang attributes tell Google which version of a page to show to users in each country and language combination. The implementation is detail-sensitive and errors are extremely common.
Common hreflang errors:
en-GB, while English for the US should use en-US.
Screaming Frog has a dedicated hreflang validator under Reports, then Hreflang. Run your international pages through it and export the error list.
Building Your Audit Report and Prioritizing Fixes
A raw crawl export from Screaming Frog is not an audit report. It is a list of data. The value comes from turning that data into a prioritized action plan with clear ownership and timelines.
| Priority | Issue Type | Timeline |
|---|---|---|
| Priority 1 | 5xx errors on key pages, pages blocked by robots.txt that should be indexed, canonical tags pointing to 404 pages, Core Web Vitals in the Poor bucket on landing pages | Fix immediately |
| Priority 2 | 4xx errors with inbound links, redirect chains, duplicate content without canonical tags, missing or broken structured data | Fix within two weeks |
| Priority 3 | Minor mobile usability issues, images missing alt text, pages with thin content that could be expanded, missing schema on secondary pages | Schedule and monitor |
For each issue in your report, document: the URL, the specific problem, the recommended fix, and the name of the person responsible for implementing it. A fix without an owner does not get fixed.
Use our complete SEO checklist alongside your audit report to make sure your prioritization covers every layer of technical and content optimization, not just the issues the crawl surfaced.
Use our complete SEO checklist alongside your audit report to make sure your prioritization covers every layer of technical and content optimization, not just the issues the crawl surfaced.
How Often Should You Run a Technical SEO Audit?
For most sites: once per quarter. For large ecommerce sites with frequent product catalog changes: monthly. After any significant site migration, redesign, CMS change, or server move: immediately, without exception.
Set up continuous monitoring within Screaming Frog Scheduler or Sitebulb for automated weekly or monthly crawls. Search Console will also alert you to coverage drops, Core Web Vitals regressions, and manual actions as they happen. The goal is not to do one great audit and move on.
The goal is to establish a baseline and track improvement over time.
Set up continuous monitoring within Screaming Frog Scheduler or Sitebulb for automated weekly or monthly crawls. Search Console will also alert you to coverage drops, Core Web Vitals regressions, and manual actions as they happen. The goal is not to do one great audit and move on.
The goal is to establish a baseline and track improvement over time.
What Comes After the Audit?
A technical audit is step one. Once the foundation is solid, the next priorities are content quality, topical authority, and backlink building. Technical problems limit what great content can achieve. But great content cannot compensate for a site that Google cannot properly crawl and index.
If you want this process handled end to end by a team that runs technical audits as part of a fully managed SEO engagement, explore our organic SEO services to see how we approach site health at scale.
If you want this process handled end to end by a team that runs technical audits as part of a fully managed SEO engagement, explore our organic SEO services to see how we approach site health at scale.
Final Thoughts
Technical SEO problems compound over time. A 4xx error that sits unfixed for six months accumulates lost crawl budget, lost link equity, and potentially lost rankings on pages that used to perform well. The earlier you find these issues, the cheaper and faster they are to fix.
Run your first crawl this week. Even a partial pass through the status code report in Screaming Frog will surface something worth acting on. Build the habit, document your baseline, and measure progress with every subsequent crawl.
Run your first crawl this week. Even a partial pass through the status code report in Screaming Frog will surface something worth acting on. Build the habit, document your baseline, and measure progress with every subsequent crawl.