Audit framework

Technical SEO Audit

A crawlability, rendering, indexability, and internal linking checklist for modern websites.

What a technical SEO audit should prove

A technical SEO audit should prove that the pages you want indexed can be discovered, fetched, rendered, understood, and linked together. It should not be a giant spreadsheet of warnings with no priorities. The best audit explains what is broken, why it matters, and which fixes will change search visibility.

For a modern website, the most important question is often whether crawlers see the same meaningful content users see. If a crawler receives a repeated shell across the homepage, blog, categories, and about page, the site can look thin even when the browser feels complete.

Crawlability checks

Start with HTTP responses. Canonical pages should return 200 status codes without long redirect chains. Important links should use real anchor tags with href attributes. Navigation, category links, related posts, footer links, breadcrumbs, and sitemap URLs should form a discoverable graph.

Check robots.txt for accidental disallows. Confirm that CSS and JavaScript assets needed for rendering are not blocked. Then crawl the site with a tool or script and compare the discovered URL list against the sitemap and navigation.

Rendering checks

Rendering is where many React, Vite, and app-shell sites fail. Fetch each important route as raw HTML and look for the H1, intro copy, article cards, category descriptions, and footer links. Then load the route in a browser and compare. If the browser has content the HTML lacks, decide whether server rendering, static prerendering, or simpler HTML fallbacks are needed.

Prioritize routes that define site purpose: homepage, blog index, categories, about, editorial policy, and pillar pages. These pages teach search engines what the site is about.

Indexability checks

Every indexable page needs a unique title, meta description, canonical URL, and one clear H1. Canonicals should point to the preferred public URL, not a staging host or a neighboring route. Noindex should be reserved for pages you truly do not want in search.

Look for duplicated titles and descriptions. Duplication is not automatically a penalty, but it is a strong sign that pages do not have distinct purposes.

Sitemap.xml should be clean and boring. Include the homepage, blog, categories, pillars, articles, and durable policy pages. Exclude internal search, newsletter thank-you pages, drafts, test routes, private app routes, and duplicate parameter URLs.

Internal links should reinforce topical authority. A technical SEO audit page should link to crawler analytics, robots.txt guidance, and articles about crawlability. Category pages should link to their best pillar pages and posts.

Structured data checks

Add Organization and WebSite schema at the site level. Add Article schema to articles and BreadcrumbList schema to important nested pages. Use FAQPage schema only when the questions and answers are visible on the page. Structured data should describe the page honestly; it cannot rescue weak content.

Prioritizing fixes

Fix site-wide crawlable content problems first, then indexability, then internal links, then structured data, then performance refinements. A perfect lighthouse score will not help if every route returns the same empty shell.

A practical audit sequence

Run the audit in layers. First, crawl the public URL set and classify pages as indexable, non-indexable, redirected, broken, duplicated, or unknown. Second, fetch the raw HTML for representative templates and compare it with the rendered browser page. Third, inspect metadata and structured data only after you know the page body is visible.

For each issue, record the affected template, example URLs, severity, recommended fix, and owner. Template-level problems should outrank isolated page issues because one fix can improve many URLs. A category template that returns thin content is more urgent than a single article with a weak meta description.

After fixes ship, recrawl the same URL set. Do not rely on the deployment note alone. Confirm status codes, canonicals, body text, internal links, and sitemap inclusion from the public URL. Search systems respond to what is served, not what the team intended to serve.

Common technical SEO mistakes

Teams often spend too much time on cosmetic warnings and too little on crawlable content. A missing image width is worth fixing, but it is not as urgent as duplicate route content. Another common mistake is treating sitemap.xml as an indexation command. Sitemaps help discovery; they do not override noindex, robots blocks, weak content, or canonical confusion.

Do not let tools replace judgment. A crawler can flag duplicate titles, but an editor must decide whether two pages genuinely serve distinct purposes. Technical SEO gets faster when tools produce evidence and humans set priorities.

The audit should end with a short action list: what to change now, what to monitor, and what can wait. Technical SEO gets faster when the team stops treating every warning as equal.

Practical examples

  • Fetch the raw HTML for each route and compare it with the rendered browser version.
  • Check that every canonical URL has a unique title, meta description, H1, and body.
  • Remove placeholder, test, search, and filtered URLs from sitemap.xml.

FAQ

Common questions

How often should I run a technical SEO audit?

Run a light audit monthly and a deeper audit after migrations, redesigns, CMS changes, analytics changes, or major template releases.

What is the fastest technical SEO win?

Fix pages that return thin or duplicate HTML. Unique crawlable content on canonical routes is usually more urgent than minor metadata polish.

Should every page be in the sitemap?

No. Include canonical, indexable public URLs that you actually want discovered and remove duplicates, test routes, and low-value parameter pages.

Newsletter

Practical traffic intelligence in your inbox.

One email per week with a useful guide on search, AI discovery, analytics, or conversion. No tracking pixels in the body. Unsubscribe anytime.

We send one email per week. Your address is never sold.