Technical SEO Audit Checklist for 2026: Everything Your Agency Should Check

seo
Technical SEO Audit Checklist for 2026: Everything Your Agency Should Check

Most businesses don't realize their website is bleeding organic traffic until rankings drop and leads dry up. We see it constantly: a site that looks polished on the surface, built on a solid CMS, maybe even ranking for a few terms — but hiding 20–30 technical issues that are quietly throttling its potential.

Every new client we onboard at Vixi goes through a full technical SEO audit before we touch a single piece of content or build a single link. There's no point optimizing content on a site that Google can't properly crawl and index.

Below is the exact 40-point checklist we use — broken into eight categories, with the tools we run and the fixes we apply. If you're doing your own audit, this is where to start.


The Full 40-Point Checklist at a Glance

| # | Category | Checkpoint | |---|----------|-----------| | 1–5 | Crawlability & Indexation | robots.txt, sitemap, crawl errors, noindex, blocked resources | | 6–10 | Site Architecture | URL structure, crawl depth, orphan pages, pagination, parameters | | 11–15 | Core Web Vitals | LCP, INP, CLS, TTFB, mobile vs. desktop | | 16–22 | Technical On-Page | Title tags, meta descriptions, H1, canonicals, hreflang, OG tags, thin content | | 23–27 | Internal Linking | Redirect chains, broken links, anchor text, link equity, nav/footer | | 28–33 | Structured Data | Organization, LocalBusiness, Article, FAQ, Product, validation | | 34–38 | Security & Technical Hygiene | HTTPS, mixed content, 301 vs. 302, www/non-www, search pages | | 39–40 | Mobile & International | Mobile-first indexing, hreflang/geo-targeting |


1. Crawlability & Indexation

Before anything else, Google has to be able to find and read your pages. This sounds obvious — but we've onboarded clients where entire site sections were accidentally blocked from crawling.

1. robots.txt

Your robots.txt file tells search engine bots what they can and can't access. A misconfigured file can block crawlers from your most important pages.

Common issues we find:

# Bad — blocks the entire site from Googlebot
User-agent: Googlebot
Disallow: /

# Also bad — blocks CSS and JS, preventing Google from rendering pages
User-agent: *
Disallow: /wp-content/

A healthy robots.txt for most sites:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://yourdomain.com/sitemap.xml

Allow everything that matters. Disallow admin panels, staging paths, and internal search result URLs — nothing else without a specific reason.

2. XML Sitemap

Every site needs a sitemap submitted to Google Search Console. Common problems:

  • Sitemap includes 4xx/5xx URLs (pages that don't exist or have errors)
  • Sitemap includes noindex pages (contradictory signals)
  • Sitemap isn't submitted in GSC at all

Check yours at /sitemap.xml or /sitemap_index.xml. Submit it at GSC → Sitemaps.

3. Crawl Errors in Google Search Console

GSC → Pages → "Why pages aren't indexed" is one of the most valuable reports available for free. Look for:

  • Not found (404) — broken pages that had links pointing to them
  • Soft 404 — pages that return 200 but have no real content
  • Redirect errors — redirect chains or loops

We routinely find 100+ crawl errors on sites that were never properly audited.

4. Accidental Noindex Tags

A developer testing the site, a CMS plugin misfiring, a staging config that made it to production — noindex tags end up in the wrong place more often than you'd think. Check:

<meta name="robots" content="noindex, nofollow">

Crawl the site with Screaming Frog, filter for noindex, and verify every result is intentional.

5. Blocked CSS and JavaScript

Google renders pages like a browser. If your robots.txt or server blocks CSS/JS files, Google sees a broken, unstyled page — and that affects how it evaluates your content. Use Google's URL Inspection tool in GSC to see the rendered view of your pages.


2. Site Architecture & URL Structure

Good architecture means faster crawling, cleaner link equity flow, and a better user experience. It's one of the most overlooked parts of technical SEO.

6. URL Structure

URLs should be:

  • Descriptive and readable: /services/seo-agency-dallas/ not /page?id=847
  • Lowercase and hyphen-separated
  • Free of unnecessary parameters for important pages

Dynamic parameters (?color=red&size=large) create duplicate content issues and waste crawl budget. Handle them through GSC's URL Parameters tool or canonical tags.

7. Crawl Depth

Important pages should be reachable within 3 clicks from the homepage. Deeper pages get crawled less frequently and pass less authority. Use Screaming Frog's crawl depth visualization to identify pages buried too deep.

We've seen cornerstone service pages sitting 6–7 clicks deep because no one updated the navigation structure after a site redesign.

8. Orphan Pages

An orphan page has no internal links pointing to it. Google can only find it via the sitemap or external links — which means it gets crawled infrequently and receives no internal link equity. We find orphan pages on over 80% of new client audits.

Cross-reference your sitemap URLs against your crawl data. Any URL in the sitemap with zero internal links pointing to it is an orphan.

9. Pagination Handling

For paginated content (blog archives, product listings), use consistent URL patterns and ensure the paginated pages are crawlable. If they're thin, consider consolidating or using rel="canonical" pointing to the first page.

10. URL Parameter Configuration

If your site generates URLs with query parameters for filtering, sorting, or tracking, configure URL parameters in Google Search Console to tell Google how to handle them. Unmanaged parameters cause duplicate content and wasted crawl budget.


3. Core Web Vitals & Page Speed

Google's Core Web Vitals are a confirmed ranking factor and a direct measure of user experience. Since Google moved to mobile-first indexing and page experience as a signal, slow sites have a harder ceiling on what they can rank for.

11. LCP — Largest Contentful Paint

Target: under 2.5 seconds

LCP measures how long it takes for the largest visible element (usually a hero image or headline) to load. Common causes of slow LCP:

  • Unoptimized hero images (use WebP, add loading="eager" and fetchpriority="high")
  • Slow server response (TTFB problem — see #14)
  • Render-blocking CSS or JS

12. INP — Interaction to Next Paint

Target: under 200ms

INP replaced FID (First Input Delay) in March 2024. It measures responsiveness across all page interactions, not just the first. Heavy JavaScript, bloated third-party scripts, and long tasks on the main thread are the primary culprits. Use Chrome DevTools Performance panel to identify long tasks.

13. CLS — Cumulative Layout Shift

Target: under 0.1

CLS measures visual stability — how much the page layout shifts as it loads. The most common cause: images without explicit dimensions.

<!-- Bad — browser doesn't know how much space to reserve -->
<img src="hero.jpg" alt="Hero image">

<!-- Good — browser reserves the correct space before the image loads -->
<img src="hero.jpg" alt="Hero image" width="1200" height="600">

Other CLS causes: ads injected without reserved space, fonts swapping late, embeds without fixed dimensions.

14. TTFB — Time to First Byte

Target: under 800ms

TTFB is how long before the browser receives the first byte from the server. It's a server/hosting issue, not a front-end issue. Check your hosting tier, enable a CDN (Cloudflare, Fastly), and enable server-side caching.

15. Mobile vs. Desktop Scores

Don't just check your desktop score in PageSpeed Insights. GSC's Core Web Vitals report shows field data (real user measurements) split by mobile and desktop. Most issues we find are mobile-specific — and since Google uses the mobile version for indexing, those are the scores that matter.


4. Technical On-Page Signals

These are the elements Google reads directly to understand what each page is about and how it relates to the rest of the site.

16. Title Tags

Every page needs a unique title tag, 50–60 characters, with the primary keyword positioned toward the front. Avoid: generic titles, duplicate titles across pages, and keyword stuffing.

17. Meta Descriptions

Meta descriptions aren't a direct ranking factor, but they affect click-through rate from search results. Keep them 150–160 characters, unique per page, and written to make someone click.

18. H1 Tags

One H1 per page. It should match the search intent of the page and align with the title tag. Multiple H1s on a single page are a common issue on sites built with drag-and-drop builders.

19. Canonical Tags

Every page should have a self-referencing canonical tag pointing to its own URL. This prevents duplicate content issues from URL variations (trailing slashes, parameters, etc.).

<link rel="canonical" href="https://yourdomain.com/services/seo/" />

Common mistake we see: Sites where the staging URL (staging.yourdomain.com/page) got canonicalized to the production URL — or the reverse, where production pages point to staging. This can tank an entire domain's indexation.

20. Hreflang

If your site serves content in multiple languages or targets multiple regions, hreflang tags are required. Errors in hreflang implementation are extremely common — missing x-default, mismatched URLs, wrong language codes. Use Screaming Frog or Ahrefs to audit hreflang consistency.

21. Open Graph & Social Meta Tags

Not a direct ranking factor, but affects social CTR and indirectly signals content quality. Ensure every page has:

  • og:title
  • og:description
  • og:image (minimum 1200x630px)
  • og:url

22. Thin Content

Pages with fewer than 300 words of meaningful content with no clear search purpose can dilute overall site quality. Audit, consolidate where appropriate, or noindex pages that serve no search intent.


5. Internal Linking & Redirect Chains

Internal links are how you distribute authority across your site and how you signal to Google which pages matter most. Broken link structures and redirect chains are common and consistently damaging.

23. Redirect Chains

A redirect chain occurs when URL A redirects to URL B, which redirects to URL C. Each hop loses link equity and slows page load time.

❌ Bad:  /old-page → /intermediate-page → /new-page (chain)
✅ Good: /old-page → /new-page (direct)

We've found chains of 5+ hops on enterprise sites — every hop is a tax on crawl budget and link equity. Audit with Screaming Frog and update all redirects to go directly to the final destination.

24. Broken Internal Links

Links from your own pages pointing to 404s are a crawl budget waste and a poor user experience. Run a full crawl and filter for internal links returning 4xx responses.

25. Internal Link Anchor Text

Use descriptive, keyword-relevant anchor text for internal links. "Click here" and "learn more" tell Google nothing. "Dallas SEO agency services" tells it exactly what the linked page is about.

26. Link Equity Distribution

Your highest-authority pages should be passing link equity to your most important conversion pages. Map your internal link structure and verify that key service or product pages are receiving links from high-traffic, high-authority content pages.

27. Footer and Navigation Links

Footer and nav links pass equity to every page they appear on, but they're weighted less than contextual body links. For deep pages that matter, supplement nav links with in-body contextual links from relevant content.


6. Structured Data & Schema Markup

Schema markup helps Google understand your content at a semantic level and can unlock rich results (star ratings, FAQ dropdowns, sitelinks) in the SERPs — more real estate, higher CTR.

28. Organization Schema

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Vixi Agency",
  "url": "https://vixi.agency",
  "logo": "https://vixi.agency/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/vixi-agency",
    "https://twitter.com/vixiagency"
  ]
}

29. LocalBusiness Schema

For any business serving a geographic area, LocalBusiness schema is critical for local SEO. It reinforces NAP (name, address, phone) consistency and can improve local pack performance.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Vixi Agency",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Dallas",
    "addressRegion": "TX",
    "postalCode": "75201",
    "addressCountry": "US"
  },
  "telephone": "+1-214-555-0100",
  "url": "https://vixi.agency"
}

We add LocalBusiness schema to every client in the Dallas market as one of our first implementation steps. The impact on local pack visibility is consistent.

30–33. Additional Schema Types

  • Article/BlogPosting — for blog content; includes datePublished, author, headline
  • FAQ — can expand SERP footprint with accordion dropdowns; use for service pages with common questions
  • Review/Product — essential for e-commerce; enables star ratings in search results
  • BreadcrumbList — helps Google understand site hierarchy; often enables breadcrumb display in SERPs

Validate everything with Google's Rich Results Test. Zero errors, zero warnings before going live.


7. Security & Technical Hygiene

These are the unglamorous checks that don't generate case studies — but getting them wrong can tank your site's credibility with Google and users.

34. HTTPS

Every page should be served over HTTPS. HTTP pages receive a "Not Secure" warning in Chrome and get a mild ranking penalty relative to HTTPS equivalents. Check: does http://yourdomain.com redirect to https://yourdomain.com?

35. Mixed Content

HTTPS pages that load HTTP resources (images, scripts, stylesheets) generate mixed content warnings. Browsers block some mixed content automatically, breaking page functionality. Audit with Chrome DevTools → Console for mixed content warnings.

36. 301 vs. 302 Redirects

301 = permanent redirect (passes link equity). 302 = temporary redirect (does not reliably pass link equity). Using a 302 for a permanent move is a common mistake — Google may not transfer ranking signals to the destination URL.

37. www vs. non-www Canonicalization

www.yourdomain.com and yourdomain.com are technically different URLs. One should permanently redirect to the other. Pick one, redirect consistently, and verify the preferred version is set in GSC → Settings → Preferred domain.

38. Internal Search Pages in Index

URLs like /search?q=keyword shouldn't be indexed — they're thin, duplicate content. Block them via robots.txt or add noindex tags to search result page templates.


8. Mobile & International

39. Mobile-First Indexing

Google has fully completed the switch to mobile-first indexing — it uses the mobile version of your site for crawling, indexing, and ranking. If your desktop site has content that isn't present on mobile, or if your mobile layout renders incorrectly, that's what Google sees.

Verify with GSC's URL Inspection tool: compare the mobile-rendered view against what you expect. Check for:

  • Content parity between desktop and mobile
  • Tap targets that are too small (minimum 44x44px)
  • Text that's too small to read without zooming
  • Interstitials that block content on mobile

40. International Targeting

If you serve multiple regions or languages:

  • Implement hreflang correctly (see checkpoint 20)
  • Set geographic targeting in GSC → Settings → International Targeting
  • Use country-code TLDs, subdirectories, or subdomains consistently — don't mix strategies

How We Prioritize Issues After the Audit

Running the audit gives you the list. Prioritizing it is where the real skill comes in.

Our framework:

  1. Fix blockers first — anything preventing crawl/indexation (robots.txt errors, sitemap issues, HTTPS problems)
  2. Core Web Vitals second — measurable impact on rankings and user experience
  3. Canonicals and redirect chains third — link equity and duplicate content issues
  4. Schema and structured data fourth — CTR and rich result improvements
  5. Internal linking optimization last — high leverage but requires content strategy alignment

A full technical audit takes 8–12 hours to run properly and another 20–40 hours to remediate, depending on site size. Most agencies skip it or run a surface-level Screaming Frog crawl and call it done. That's why their clients' rankings plateau.


Ready to Run This Audit on Your Site?

At Vixi, technical SEO is built into every engagement — not an add-on, not a one-time project. We audit on day one, track over time, and fix issues as Google's guidelines evolve.

If you want to know exactly what's holding your site back — and get a clear remediation plan — book a free strategy call with our team. We'll walk through your biggest technical issues and show you what fixing them is actually worth in traffic and revenue.