Home/SEO Audit/Technical SEO Audit Guide
Guide · 8 steps · run on 10+ production sites

The complete technical SEO auditIn the order we actually run it.

A practical, step-by-step walkthrough of every technical SEO check that matters: what it is, why it affects rankings, and exactly how to fix it. Root causes first, so you don’t chase symptoms.

Last reviewed · 1 Oct 20269 primary sources →Kalenux engineering
what is a technical seo audit?

The foundation everything sits on.

A PAGE WON’T RANK IF IT…✕is blocked by robots.txt✕carries a stray noindex✕canonicalises to the wrong URL✕takes eight seconds to load

A systematic review of the technical factors that decide whether search engines can crawl, index and rank your pages, and a prioritised list of what to fix.

Technical SEO is the foundation everything else sits on. You can have the best content in your niche, but if a page is blocked, noindexed, canonicalised away or painfully slow, it won’t rank. A technical audit finds those barriers. This guide walks through the audit in the order we actually run it: fixing root causes first so you don’t chase symptoms.

the 8-step audit

How to do a technical SEO audit: 8 steps, each with a free tool.

Work top to bottom. Each step answers one question, shows how to check it, what passing looks like, and links to a free tool that checks it on any URL.

STEPS 1–2GateIf a page fails here, nothing after it counts.
STEPS 3–5DiscoveryHow crawlers find the right URL and pass it authority.
STEPS 6–7UnderstandingWhat the page is about, in every language.
STEP 8ExperienceWhether visitors stay once they arrive.
01
STEP 1 OF 8 · GATE · CRAWLABILITY

How do you check if search engines can crawl your site?

PRIORITY CRITICALTOOL · BROKEN LINK CHECKER

QUICK ANSWERFetch robots.txt, confirm no Disallow rule blocks important paths or the CSS and JavaScript needed to render them, and confirm your sitemap is declared. Then crawl internal links to find errors and redirect chains.

IN DETAILStart with robots.txt. A single over-broad Disallow: can block more than you intend, and blocking a URL stops Google re-crawling it, so it can’t even see a noindex you add later. Confirm your important paths aren’t blocked and that your sitemap is declared. Then check for broken internal links and redirect chains that waste crawl budget.

HOW TO CHECK IT

  1. 1Open yourdomain.com/robots.txt and read every Disallow rule
  2. 2Confirm a Sitemap: line points to your XML sitemap
  3. 3Crawl internal links and list any 4xx or 5xx responses
  4. 4Flag links that pass through more than one redirect

PASSES WHEN

  • ✓Important paths allowed
  • ✓Sitemap declared
  • ✓0 broken internal links

MOST COMMON MISTAKE

A leftover Disallow: / from staging that blocks the whole site.

WHAT CORRECT LOOKS LIKE

User-agent: *Disallow: /admin/Allow: /Sitemap: https://site.com/sitemap.xml
Check this step on any URL, free, with no signup.Open the Broken Link Checker →
02
STEP 2 OF 8 · GATE · INDEXABILITY

How do you know if a page can be indexed?

PRIORITY CRITICALTOOL · INDEXABILITY CHECKER

QUICK ANSWERA page is indexable when it returns HTTP 200, has no noindex in its meta robots tag or X-Robots-Tag header, isn’t blocked in robots.txt, and has a self-referencing canonical.

IN DETAILA page is indexable only if it has no noindex tag or X-Robots-Tag header, isn’t blocked in robots.txt, has a self-referencing canonical, and returns HTTP 200. The classic outage is a stray noindex on a shared template that ships to production and deindexes a whole section. Search Console’s Pages report is the source of truth for what’s indexed and why the rest isn’t.

HOW TO CHECK IT

  1. 1Check the HTTP status is 200
  2. 2Look for noindex in the page head and the response headers
  3. 3Confirm robots.txt allows the URL
  4. 4Compare against Search Console’s Pages report

PASSES WHEN

  • ✓Status 200
  • ✓No noindex
  • ✓Self-canonical

MOST COMMON MISTAKE

A noindex left in a shared template, deindexing a whole section.

WHAT CORRECT LOOKS LIKE

HTTP/1.1 200 OK<meta name="robots" content="index, follow"><link rel="canonical" href="https://site.com/page/">
Check this step on any URL, free, with no signup.Open the Indexability Checker →
03
STEP 3 OF 8 · DISCOVERY · CANONICALISATION

How do you check canonical tags are correct?

PRIORITY HIGHTOOL · CANONICAL CHECKER

QUICK ANSWEREvery indexable page should carry one canonical tag pointing to itself. Any canonical that points elsewhere must resolve directly to a live, indexable 200 URL: never a redirect or a 404.

IN DETAILEvery indexable page should self-reference its canonical. The common bug is a canonical pointing to a redirect or 404, Google ignores it and picks its own, or every paginated page canonicalising to page 1, which deindexes the rest. Keep canonical, hreflang and internal links all pointing at the same URL.

HOW TO CHECK IT

  1. 1Find the rel=canonical in each template
  2. 2Request the canonical URL and confirm it returns 200
  3. 3Check paginated pages canonicalise to themselves
  4. 4Match canonical, hreflang and internal links to one URL

PASSES WHEN

  • ✓One tag per page
  • ✓Target returns 200
  • ✓Matches hreflang

MOST COMMON MISTAKE

Every paginated page canonicalising to page 1.

WHAT CORRECT LOOKS LIKE

<!-- on /blog/page/2/ --><link rel="canonical" href="https://site.com/blog/page/2/">
Check this step on any URL, free, with no signup.Open the Canonical Checker →
04
STEP 4 OF 8 · DISCOVERY · SITEMAPS

What should an XML sitemap contain?

PRIORITY HIGHTOOL · SITEMAP VALIDATOR

QUICK ANSWEROnly canonical, indexable URLs that return 200, at most 50,000 URLs per file, declared in robots.txt and submitted in Search Console.

IN DETAILYour XML sitemap should contain only canonical, indexable, 200-status URLs, no redirects, 404s or noindex pages. Declare it in robots.txt and submit it in Search Console. For large sites, use a sitemap index pointing to child sitemaps (50,000 URLs max each). Also flag indexable pages missing from the sitemap, they may be under-crawled.

HOW TO CHECK IT

  1. 1Fetch the sitemap and validate the XML
  2. 2Request every listed URL and remove non-200s
  3. 3Remove noindexed and non-canonical URLs
  4. 4Find indexable pages missing from the sitemap

PASSES WHEN

  • ✓Every URL returns 200
  • ✓≤ 50,000 URLs per file
  • ✓Submitted in Search Console

MOST COMMON MISTAKE

A sitemap still listing URLs that now redirect.

WHAT CORRECT LOOKS LIKE

<url> <loc>https://site.com/guide/</loc> <lastmod>2026-09-12</lastmod></url>
Check this step on any URL, free, with no signup.Open the Sitemap Validator →
05
STEP 5 OF 8 · DISCOVERY · REDIRECTS

How do you fix redirect chains?

PRIORITY MEDIUM

QUICK ANSWERPoint every redirect straight at its final destination with a single 301, then update internal links so they reach the final URL without any redirect at all.

IN DETAILCollapse redirect chains (A→B→C should be A→C) and fix redirects that land on 404s. Use 301s for permanent moves so backlink equity transfers, and update internal links to point at the final URL directly. After HTTP→HTTPS or trailing-slash migrations, re-check that canonicals and sitemaps reference the new URLs.

HOW TO CHECK IT

  1. 1List every redirect and its final destination
  2. 2Collapse chains so A points directly to C
  3. 3Fix redirects that end in a 404
  4. 4Update internal links to the final URL

PASSES WHEN

  • ✓At most 1 hop
  • ✓301 for permanent moves
  • ✓No redirect ends in an error

MOST COMMON MISTAKE

Navigation still linking to an old URL two redirects away.

WHAT CORRECT LOOKS LIKE

/pricing-2023 → /pricing 301/pricing-v2 → /pricing 301<a href="/pricing">
Redirect chains are found site-wide by the full audit. Run it free →
06
STEP 6 OF 8 · UNDERSTANDING · ON-PAGE META

What makes a good title tag and meta description?

PRIORITY MEDIUMTOOL · META TAG CHECKER

QUICK ANSWERA unique, descriptive title of about 50–60 characters, a meta description under about 160 characters, and one H1 that matches the page’s subject.

IN DETAILEach page needs a unique, descriptive title (~50–60 chars), a meta description under ~160 chars, one H1, and a sane heading hierarchy. These are quick wins that affect click-through and clarity. Make sure the body has real depth too, not thin content, and that every image carries useful alt text.

HOW TO CHECK IT

  1. 1Export titles and descriptions for every page
  2. 2Find duplicates across pages
  3. 3Flag titles over ~60 and descriptions over ~160 characters
  4. 4Check each page has exactly one H1

PASSES WHEN

  • ✓Unique title & description
  • ✓One H1 per page
  • ✓Useful alt text

MOST COMMON MISTAKE

A category template giving every page the same title.

WHAT CORRECT LOOKS LIKE

<title>Trail Running Shoes for Wet Ground | Site</title><meta name="description" content="Grippy, waterproof trail shoes tested on mud.">
Check this step on any URL, free, with no signup.Open the Meta Tag Checker →
07
STEP 7 OF 8 · UNDERSTANDING · STRUCTURED DATA & INTERNATIONAL

How do you validate structured data and hreflang?

PRIORITY MEDIUMTOOL · HREFLANG CHECKER

QUICK ANSWERParse every JSON-LD block and check the required properties for its type. For hreflang, confirm every language version lists every other version, itself and an x-default, using valid ISO codes.

IN DETAILValidate any JSON-LD: invalid schema can throw errors in Search Console and block rich results (a frequent one is aggregateRating on an unsupported type). If you’re multilingual, hreflang is the most error-prone area: reciprocal return tags, a self-reference on every page, valid language/region codes (don’t confuse en with en-US), an x-default fallback, and targets that return 200 and match their own canonical.

HOW TO CHECK IT

  1. 1Validate JSON-LD with Google’s Rich Results Test
  2. 2Check required properties for each schema type
  3. 3Confirm hreflang return links on every alternate
  4. 4Validate language and region codes

PASSES WHEN

  • ✓Schema parses without errors
  • ✓Reciprocal hreflang
  • ✓x-default set

MOST COMMON MISTAKE

Using en-uk instead of en-gb, so the whole set is ignored.

WHAT CORRECT LOOKS LIKE

<link rel="alternate" hreflang="en-gb" href="…/en/"><link rel="alternate" hreflang="de" href="…/de/"><link rel="alternate" hreflang="x-default" href="…/">
Check this step on any URL, free, with no signup.Open the Hreflang Checker →
08
STEP 8 OF 8 · EXPERIENCE · CORE WEB VITALS & PAGE SPEED

What are good Core Web Vitals scores?

PRIORITY MEDIUMTOOL · PAGESPEED TEST

QUICK ANSWERAt the 75th percentile of real visits: LCP of 2.5 seconds or less, INP of 200 milliseconds or less, and CLS of 0.1 or less: measured on mobile, for your key templates.

IN DETAILSpeed is a ranking factor and the first thing users feel. Optimise LCP (compress the hero image, preload it, cut TTFB), CLS (set image dimensions, reserve space, font-display: swap), and INP (break up long JS tasks, defer non-critical scripts). Test your key templates on mobile, not just the homepage.

HOW TO CHECK IT

  1. 1Test each key template on mobile
  2. 2Find the LCP element, then compress and preload it
  3. 3Reserve space for images, ads and embeds
  4. 4Break up long JavaScript tasks

PASSES WHEN

  • ✓LCP ≤ 2.5 s
  • ✓INP ≤ 200 ms
  • ✓CLS ≤ 0.1

MOST COMMON MISTAKE

Testing only the homepage on a fast desktop connection.

WHAT CORRECT LOOKS LIKE

<img src="hero.avif" width="1200" height="600" fetchpriority="high" alt="…">
Check this step on any URL, free, with no signup.Open the PageSpeed Test →
it’s not a one-time task

Audit, fix, re-crawl, repeat.

Run it, fix root causes, re-crawl to confirm, and catch what the first fix revealed. Tracking your health score over time turns SEO from guesswork into a measurable trend.

⌕→
AuditCrawl every page against every check.
✎→
FixRoot causes first: templates before pages.
↻→
Re-crawlConfirm the fix, catch what it revealed.
∞↺ 01
RepeatAfter every deploy that touches templates, redirects or the sitemap.
time, cadence, tooling

Realistic expectations, before you start.

⏱How long an audit takesFor a small-to-medium site, budget a few hours. The crawl itself finishes in minutes; reviewing the findings, deciding what is a real problem and what is intentional, and prioritising the fixes is the bulk of the work. Re-audits after a round of fixes are much faster because you already know the shape of the report.
↻The right auditing cadenceAudit after any deploy that touches templates, redirects, canonicals or the sitemap, and at least monthly regardless. Regressions are introduced by changes, so auditing right after a release catches them while the responsible commit is still recent, and the fix is a one-line reversal, not an investigation.
⚙The tools you needGoogle Search Console and PageSpeed Insights, both free, cover indexing status and performance measurement. Beyond those you need a crawler to see the whole site at once. Screaming Frog’s free tier handles 500 URLs, which suits a small site; Kalenux SEO Audit crawls your whole site against 240+ checks plus PageSpeed for one-time pricing.
◎What it can and cannot promiseTechnical SEO does not guarantee rankings. It removes the barriers stopping pages from ranking: your content can be crawled, indexed and loaded fast enough that users don’t leave first. Content quality still decides where you place among the pages that can compete: the audit qualifies you for the race rather than winning it.
in depth · 9 primary sources

What the search engines say an audit should check.

How search engines document this behaviour, with every claim linked to its source.

01Audit in the order Google processes pages

Google works in three stages: it crawls a URL, indexes what it finds, then serves it in results [1]. A useful audit follows the same order, because a problem at one stage hides everything after it.

In practice that means crawl and indexability issues come first, then links and redirects, then content, speed and enhancements such as structured data.

KEY FACTNot every page Google crawls gets indexed, and not every indexed page ranks [1].

02Compare your crawl with Google’s view

A crawler shows what your site serves. Search Console’s Page indexing report shows what Google did with it: which URLs are indexed and the reason each excluded URL was left out [2].

Checking the two against each other catches the gaps: pages you expect to rank that Google excluded, and pages Google indexed that you never meant to publish [2].

03Use Google’s published speed thresholds

Core Web Vitals have fixed “good” thresholds: Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint of 200 milliseconds or less, and Cumulative Layout Shift of 0.1 or less, measured at the 75th percentile of real visits [3].

Google uses Core Web Vitals in its ranking systems, but says good scores don’t guarantee top rankings. Relevance still comes first [4].

KEY FACTINP replaced First Input Delay as a Core Web Vital in March 2024 [3].

04Audit the mobile version

Google primarily indexes and ranks the mobile version of a page. Content, structured data and metadata that exist only on desktop may not count [5].

So an audit should crawl with a mobile user agent and confirm that the mobile page carries the same main content, headings, links and markup as desktop [5].

05Security, markup and locales

Google confirmed HTTPS as a lightweight ranking signal in 2014 [6]. Today an audit mostly checks consistency: every internal link, canonical and sitemap entry should use the HTTPS URL.

Structured data has to describe content that is actually visible on the page [7]. Hreflang annotations must be reciprocal, with each language version pointing back to the others, or Google may ignore them [8].

06Close the loop with the sitemap

A sitemap should list the canonical URLs you want in search. Google supports up to 50,000 URLs or 50 MB uncompressed per sitemap file [9].

Re-running the crawl after fixes, and checking that the sitemap and Page indexing report agree, is what makes an audit a process rather than a one-off [2][9].

References

  1. [1]In-depth guide to how Google Search works · Google Search Centraldevelopers.google.com/search/docs/fundamentals/how-search-works
  2. [2]Page indexing report · Search Console Helpsupport.google.com/webmasters/answer/7440203
  3. [3]Web Vitals · web.dev (Google Chrome)web.dev/articles/vitals
  4. [4]Understanding Core Web Vitals and Google search results · Google Search Centraldevelopers.google.com/search/docs/appearance/core-web-vitals
  5. [5]Mobile-first indexing best practices · Google Search Centraldevelopers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing
  6. [6]HTTPS as a ranking signal · Google Search Central Blog, 2014developers.google.com/search/blog/2014/08/https-as-ranking-signal
  7. [7]General structured data guidelines · Google Search Centraldevelopers.google.com/search/docs/appearance/structured-data/sd-policies
  8. [8]Tell Google about localized versions of your page · Google Search Centraldevelopers.google.com/search/docs/specialty/international/localized-versions
  9. [9]Build and submit a sitemap · Google Search Centraldevelopers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap
CITE THIS PAGEKalenux. (2026). Technical SEO audit guide: how to run one, step by step. Kalenux SEO Guide. Last reviewed 1 Oct 2026. kalenux.com.tr/technical-seo-audit-guide
go deeper on any step

This page is the walkthrough. The guide is the reference.

Open the SEO guide →

The walkthrough above tells you what to check and in what order. The Kalenux SEO guide is the full reference behind it, organised the same way: ten categories, each with a deep explainer and every edge case for the checks inside it.

01FOUNDATIONStep 1CrawlabilityCan search engines even reach your pages? If a page can’t be crawled, nothing else matters.robots.txt rulesCrawl budgetBlocked resourcesRead the category →02FOUNDATIONSteps 2–3Indexability & canonicalsIs the page allowed into the index, and which URL is the master copy? The canonical mistakes that quietly deindex whole sections.noindex & X-Robots-TagCanonical targetsDuplicate URLsRead the category →03DISCOVERYStep 1Links & internal linkingHow authority flows through your site. The link graph decides which pages search engines treat as important.Broken linksOrphan pagesAnchor textRead the category →04DISCOVERYStep 5RedirectsDone wrong, redirects leak the link equity you spent years earning.Redirect chainsLoops301 vs 302Read the category →05DISCOVERYStep 4SitemapsA direct instruction to crawlers: it should contain only canonical, indexable, 200-status URLs.What belongs in itSitemap indexSize limitsRead the category →06QUALITYStep 6Content & metadataThe on-page signals that affect both ranking and click-through.Titles & descriptionsHeadingsThin & duplicate contentRead the category →07QUALITYStep 8Performance & Core Web VitalsSpeed is a ranking factor and the first thing a user feels. Slow templates cost rankings and conversions at once.LCPINPCLSRead the category →08TRUST & REACHStep 7Localization & hreflangThe most error-prone area in SEO for sites serving several languages or regions.Return tagsSelf-referencesLanguage codesRead the category →09TRUST & REACHBeyond the 8 stepsSecurity & certificatesHTTPS is a confirmed ranking signal, and a lapsed certificate can take a domain offline for visitors.TLS certificatesMixed contentSecurity headersRead the category →10SUMMARYAll stepsChecklistsThe highest-impact checks from every category in one ordered list.20-point technical audit15 common mistakesPriority orderRead the category →

Run the auditinstead of just reading about it.

Free to start. Crawl your whole site against every check in this guide, with every issue mapped to the exact page.

Start my free audit →