A technical SEO audit is a systematic review of the behind-the-scenes factors that determine whether search engines can find, crawl, interpret, and rank your pages. It is not about keywords or content — it is about the foundation those things sit on. When the foundation has cracks, even solid content underperforms.
What a Technical SEO Audit Actually Covers
Most audits I run cover five core categories. Each one surfaces a different class of problem:
- Crawlability and indexation: robots.txt rules, XML sitemap accuracy, noindex tags applied by mistake, and orphaned pages search engines never find.
- Site architecture: internal link structure, crawl depth (pages buried more than three clicks from the homepage tend to get crawled infrequently), and canonical tag conflicts that split link equity.
- Page speed and Core Web Vitals: Largest Contentful Paint, Cumulative Layout Shift, and Interaction to Next Paint — Google’s three user-experience signals that now carry ranking weight.
- Structured data: whether schema markup is present, whether it matches on-page content, and whether it validates without errors in Google’s Rich Results Test.
- HTTPS and mobile: mixed-content warnings, redirect chains, and mobile rendering issues that Chrome flags before a user even reads a word.
How to Run a Technical Audit: Tools and Process
A technical SEO audit follows a consistent sequence. Skipping steps or jumping straight to a tool without a process produces a list of issues rather than a prioritized diagnosis.
Step 1 — Full crawl with Screaming Frog. Configure Screaming Frog to crawl JavaScript (using its built-in rendering mode) and set it to follow internal links from the homepage. Let it run to completion before pulling any reports. The crawl gives you the baseline: every URL the crawler finds, its HTTP status code, its canonical, its title tag, its word count, and its inbound internal link count.
Step 2 — Cross-reference against Google Search Console. Export the Coverage report and the Performance report from GSC. Compare the total pages Screaming Frog found against what GSC reports as indexed. Large gaps — for example, Screaming Frog finds 600 pages but GSC shows only 320 indexed — indicate either a noindex problem, a canonical problem, or a crawl budget issue preventing Googlebot from reaching all pages.
Step 3 — Check robots.txt and sitemap. Review robots.txt manually. Look for Disallow rules that are broader than intended — a trailing slash error or a wildcard that blocks entire URL patterns is easy to introduce and hard to spot without reading the file directly. Then check the sitemap: it should contain only canonical, indexable URLs. Sitemaps with redirect URLs or noindex pages confuse Googlebot about which version of a URL to index.
Step 4 — Validate structured data. Run key page types through Google’s Rich Results Test. Check that the schema markup on service pages, blog posts, and the homepage matches the actual on-page content. Stale or inaccurate schema — a LocalBusiness schema with an old phone number or a wrong service area — is worse than no schema because it creates a discrepancy Google can detect.
Step 5 — Core Web Vitals via PageSpeed Insights. Pull field data from the GSC Core Web Vitals report first (it shows real-user data aggregated by URL group), then use PageSpeed Insights for URL-level lab data to confirm specific issues. Largest Contentful Paint failures are usually image-related — uncompressed hero images, missing preload hints, or render-blocking resources above the fold.
What a Robots.txt Error Actually Looks Like
Robots.txt mistakes are the kind of technical SEO problem that can silently block an entire site from being indexed, and they are more common than they should be. Here is a comparison of a clean robots.txt versus a broken one:
# Clean robots.txt — allows all crawling, points to sitemap
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
# Broken robots.txt — accidentally blocks all content
User-agent: *
Disallow: /
The single character difference — Allow: / versus Disallow: / — is the difference between a fully crawlable site and one where Googlebot cannot access any page. I have seen this exact error introduced during a site migration when a developer copied a staging robots.txt (which correctly blocks all crawlers) to production without changing it. The site dropped out of the index within two weeks. GSC showed the pages as being submitted via sitemap but excluded because of robots.txt. The fix took 30 seconds; the recovery took six weeks.
A canonical tag error is a different flavor of the same problem. If your CMS is generating canonical tags that point every page back to the homepage — a pattern I see on WordPress sites after certain plugin updates — Google will index only the homepage and treat every other page as a duplicate. The HTML looks like this:
<link rel='canonical' href='https://example.com/' />
That tag on a blog post tells Google the canonical version of the post is the homepage. It should instead read:
<link rel='canonical' href='https://example.com/blog/post-title/' />
Screaming Frog’s canonical report surfaces this immediately — sort by canonical URL and look for any URL that has the homepage as its canonical. If more than a handful of pages show that pattern, it is a systemic CMS issue.
Common Problems That Surface
After auditing hundreds of sites, the issues I find most often are not exotic. They tend to cluster around a few recurring patterns:
- Duplicate content created by URL parameters, session IDs, or CMS pagination that was never canonicalized.
- Redirect chains three or four hops long — usually left over from a past migration — that bleed link equity at every hop.
- Schema markup copied from a template that no longer reflects the actual page (wrong business name, phone number, or service area).
- JavaScript-rendered content that Googlebot sees differently from a human visitor, causing index gaps that are hard to diagnose without a rendering audit.
- Hreflang errors on multi-region sites where the return tags are missing, so the signals cancel each other out.
What the Audit Produces
A useful technical SEO audit does not just list errors — it prioritizes them. I sort findings by impact: what is actively suppressing rankings versus what is a best-practice gap that can wait. The deliverable should tell you exactly which URLs are affected, what the specific issue is, and what to hand to a developer to fix it. Vague recommendations like “improve site speed” are not actionable; a finding like “LCP image on /services/ is not preloaded — add a preload link hint in the document head” is.
How Often You Need One
If your site has not been audited in the last 12 months, or if you recently launched a redesign or CMS migration, you are likely carrying technical debt that is costing you rankings. Site architecture problems tend to compound — a broken canonical leads to a crawl budget problem, which leads to slow index updates, which makes ranking recovery after a fix slower than it should be. Getting a clean baseline once a year is cheaper than diagnosing a traffic drop after the fact.
If you want a technical SEO audit that covers crawl architecture, Core Web Vitals, and structured data in a single engagement, my website audit service addresses all three. You may also want to review what goes into a Core Web Vitals audit specifically if page speed is your primary concern.