How to Run a Technical SEO Audit With a Prioritized Fix Plan

This guide outlines a repeatable, production-grade technical SEO audit workflow. It is designed for freelancers and in-house technical marketers who need to diagnose crawlability, indexing, and performance bottlenecks without relying on superficial automated reports.


Phase 1: Crawlability, Robots.txt, and Sitemaps

Before Google can rank your content, it must crawl it efficiently. Your crawl budget must not be wasted on low-value pages.

Concrete Steps

  1. Verify Robots.txt: Ensure your robots.txt is located at the root (/robots.txt). It must point to your primary XML sitemap and must not block critical CSS, JS, or API endpoints required to render the page.
  2. Execute a Headless Crawl: Use Screaming Frog SEO Spider via the command line to run a headless crawl. This saves memory and allows for automation.
  3. Analyze Google Search Console (GSC): Navigate to Indexing > Pages. Identify the exact reasons why pages are "Crawled - currently not indexed" or "Discovered - currently not indexed."

Commands

To run a headless crawl and export redirect and canonical data, run this command in your terminal:

screamingfrogseospider --crawl https://example.com --headless --output-folder /path/to/export --export-tabs "Internal:All,Response Codes:All"

To check if your server correctly handles redirects and headers, use curl:

curl -IvL https://example.com

Look for a clean 200 OK response for the canonical URL, and 301 Moved Permanently for all non-canonical variations (HTTP, non-WWW, trailing slash).

Common Mistakes

  • Blocking JS/CSS in robots.txt: Preventing Googlebot from rendering the page, leading to poor mobile-friendliness evaluations.
  • Sitemap mismatches: Including noindex pages, 404s, or redirected URLs in the sitemap.xml.

Phase 2: Index Coverage and Canonicalization

Duplicate content dilutes link equity and confuses search engines about which page to rank.

Concrete Steps

  1. Audit Canonical Tags: Ensure every indexable page has a self-referencing canonical tag unless it is a duplicate/alternate version.
  2. Check Protocol and Subdomain Consistency: Verify that http://, http://www., https://www., and https:// all resolve to a single canonical version.
  3. Identify Parameter Bloat: Check GSC for URLs containing tracking parameters (e.g., ?utm_source=, ?gclid=) that are being indexed.

Checklist

  • [ ] All indexable pages have a valid <link rel="canonical" href="..."> in the HTML <head>.
  • [ ] Canonical tags point to absolute URLs, not relative paths.
  • [ ] No pages contain multiple canonical tags (common in misconfigured WordPress setups).
  • [ ] Non-canonical pages (like pagination or search filters) either point to the main category or use noindex appropriately.

Phase 3: Core Web Vitals and Performance

Google uses Core Web Vitals (CWV) as a ranking signal. You must measure real-user data (CrUX) and lab data.

Concrete Steps

  1. Run Lighthouse in Headless Chrome: Test your key page templates (Homepage, Category, Product, Blog Post) using the Lighthouse CLI.
  2. Analyze Cumulative Layout Shift (CLS): Ensure images, ads, and iframes have explicit width and height dimensions.
  3. Optimize Largest Contentful Paint (LCP): Identify the LCP element (usually a hero image or large text block) and preload it.

Commands

Install and run the Lighthouse CLI to generate a mobile performance report:

npm install -g lighthouse
lighthouse https://example.com --chrome-flags="--headless" --only-categories=performance --output html --output-path ./report.html

Common Mistakes

  • Optimizing for Desktop Only: Google indexes sites based on mobile-first indexing. Your mobile CWV scores are what impact rankings.
  • Lazy-loading Above-the-Fold Images: Lazy-loading your hero image delays the LCP, severely damaging your performance score.

Phase 4: Schema Markup and Internal Linking

Structured data helps Google understand page context, while internal links distribute PageRank throughout your site.

Concrete Steps

  1. Validate JSON-LD Schema: Extract schema markup and test it using the Schema Markup Validator.
  2. Map Internal Link Depth: Ensure no critical page is more than 3 clicks away from the homepage.
  3. Identify Orphan Pages: Compare your Screaming Frog crawl list against your XML sitemap. Any URL in the sitemap with 0 incoming internal links is an orphan page.

Common Mistakes

  • Syntax Errors in JSON-LD: Missing commas or unescaped quotes that break the entire schema block.
  • Using "Click Here" as Anchor Text: Failing to use descriptive, keyword-rich anchor text for internal links.

Prioritized Fix Matrix

This matrix prioritizes tasks based on their impact on organic visibility and the development effort required to implement them.

Issue Detected Impact Effort Action Plan
Robots.txt blocking CSS/JS High Low Remove restrictive Disallow rules blocking assets.
Broken/Missing Canonical Tags High Medium Implement self-referencing canonicals programmatically across all templates.
Redirect Chains (301 -> 301 -> 200) Medium Low Update internal links to point directly to the final destination URL.
Poor LCP (Unoptimized Hero Images) High Medium Compress images to WebP/AVIF, set explicit dimensions, and apply fetchpriority="high".
Orphan Pages Medium Medium Integrate orphan pages into the main site navigation or category pages.
Invalid Schema Syntax Low Low Fix JSON-LD formatting errors using the Schema Markup Validator.
Sitemap containing 404/301 URLs Medium Low Re-generate the XML sitemap to include only 200 OK indexable URLs.

Repeatable Audit Checklist

Keep this checklist handy for every audit you perform:

  • Crawl & Indexing
  • [ ] Run a Screaming Frog crawl (ensure status 200 for all indexable pages).
  • [ ] Check GSC for "Indexed, though blocked by robots.txt" warnings.
  • [ ] Verify that the XML sitemap is registered in GSC and returns a 200 status.
  • On-Page & Architecture
  • [ ] Verify only one <h1> tag exists per page.
  • [ ] Check that all images have descriptive alt attributes.
  • [ ] Ensure no critical content is hidden behind tabs that use display: none without proper ARIA attributes.
  • Performance & Mobile
  • [ ] Verify the site passes the Core Web Vitals assessment on mobile.
  • [ ] Check for render-blocking resources in the <head>.
  • [ ] Ensure the viewport meta tag is configured correctly for mobile responsiveness.

Get Your Custom Technical SEO Audit

A generic automated PDF audit won't help your rankings. You need a manually verified, prioritized action plan tailored to your specific CMS and server architecture.

Let's clean up your site's technical foundation and recover your lost organic traffic:

Originally posted at https://guardlabs.online/care/

Комментарии

Популярные сообщения из этого блога

I shipped a 12-question crypto security audit in 2 hours