Home / Check catalog / 6. Schema, Local, Trust, Deep Audit / 6.39 Technical SEO (Crawlability, Indexation, Sitemaps, Canonicals, Duplication)

6.39 Technical SEO (Crawlability, Indexation, Sitemaps, Canonicals, Duplication)

200 checks in Schema, Local, Trust, Deep Audit. Automated Its subsection has a live automated checker in the engine.

robots.txt — Rules, Safety, Blocking Logic

IDCheckPasses whenWeightRuns
6.39.01Validate robots.txt existsPresentCriticalDeterministic
6.39.02Validate robots.txt publicly accessibleAccessibleCriticalDeterministic
6.39.03Validate no accidental global Disallow: /SafeCriticalDeterministic
6.39.04Validate essential pages NOT disallowedAllowedHeavyDeterministic
6.39.05Validate disallow rules correctly formattedCorrectHeavyDeterministic
6.39.06Validate wildcards (*) used properlyCorrectHeavyDeterministic
6.39.07Validate crawl-delay not excessively highBalancedMediumDeterministic
6.39.08Validate sitemap listed in robots.txtListedMediumDeterministic
6.39.09Validate blocked paths intentionalIntentionalMediumDeterministic
6.39.10Validate AI-agent access not incorrectly blockedAccessibleMediumDeterministic

Crawlability — Fetchability, Renderability, URL Access

IDCheckPasses whenWeightRuns
6.39.11Validate all key URLs return 200 status200CriticalDeterministic
6.39.12Validate no essential pages behind JS-only navigationCrawlableCriticalDeterministic
6.39.13Validate page fully fetchable by GooglebotFetchableHeavyDeterministic
6.39.14Validate server not blocking Googlebot IPsUnblockedHeavyDeterministic
6.39.15Validate infinite scroll has crawlable fallbackFallbackHeavyDeterministic
6.39.16Validate robots meta tags correctly used (index/noindex)CorrectMediumDeterministic
6.39.17Validate navigation links crawlable (no JS traps)CrawlableMediumDeterministic
6.39.18Validate faceted navigation not infiniteSafeMediumDeterministic
6.39.19Validate pagination crawlable (rel=prev/next if used)CrawlableMediumDeterministic
6.39.20Validate no blocked CSS/JS that prevents renderingAccessibleMediumDeterministic

Indexation — Directives, Signal Consistency, Intent

IDCheckPasses whenWeightRuns
6.39.21Validate all indexable pages include “index” directives implicitly or explicitlyIndexableCriticalDeterministic
6.39.22Validate no conflicting index/noindex signalsNon-conflictingCriticalDeterministic
6.39.23Validate canonical tag present on all pagesPresentHeavyDeterministic
6.39.24Validate canonical tag correct (self-referencing if appropriate)CorrectHeavyDeterministic
6.39.25Validate canonical URL uses https not httpSecureHeavyDeterministic
6.39.26Validate paginated canonical logic correctCorrectMediumDeterministic
6.39.27Validate parameterized URLs canonicalized correctlyCanonicalizedMediumDeterministic
6.39.28Validate canonical not pointing to non-existent pagesValidMediumDeterministic
6.39.29Validate canonical and hreflang consistentConsistentMediumDeterministic
6.39.30Validate canonical prevents duplicate clustersPreventiveMediumDeterministic

Sitemaps — XML, Image, Video, Index, Hreflang

IDCheckPasses whenWeightRuns
6.39.31Validate XML sitemap existsPresentHeavyDeterministic
6.39.32Validate XML sitemap valid (no parsing errors)ValidHeavyDeterministic
6.39.33Validate <loc> URLs correct & absoluteCorrectHeavyDeterministic
6.39.34Validate lastmod present & accurateAccurateMediumDeterministic
6.39.35Validate image sitemap present if image-heavy sitePresentMediumDeterministic
6.39.36Validate video sitemap present if video-heavyPresentMediumDeterministic
6.39.37Validate news sitemap correct (if applicable)CorrectMediumDeterministic
6.39.38Validate hreflang sitemap correct (if multilingual)CorrectMediumDeterministic
6.39.39Validate sitemap index file correct (if site > 50k URLs)CorrectMediumDeterministic
6.39.40Validate sitemap only includes canonical URLsCanonicalMediumDeterministic

Duplication — Thin Pages, Near-Dupes, Param Dupes

IDCheckPasses whenWeightRuns
6.39.41Validate no URL parameters create infinite duplicatesSafeHeavyDeterministic
6.39.42Validate duplicate content clusters correctly canonicalizedCanonicalizedHeavyDeterministic
6.39.43Validate no doorway pagesNoneHeavyDeterministic
6.39.44Validate thin pages (<150 words) minimizedMinimalMediumDeterministic
6.39.45Validate boilerplate repetition minimizedReducedMediumDeterministic
6.39.46Validate trailing slash rules consistentConsistentMediumDeterministic
6.39.47Validate uppercase/lowercase URL consistencyConsistentMediumDeterministic
6.39.48Validate session IDs not in URLsCleanMediumDeterministic
6.39.49Validate print URLs blocked from indexationBlockedMediumDeterministic
6.39.50Compute partial Technical SEO score for Chunk 1CompleteCriticalDeterministic

Crawl Budget Optimization — Efficiency, Priority, Bot Behavior

IDCheckPasses whenWeightRuns
6.39.51Validate crawl budget not wasted on low‑value URLsEfficientHeavyDeterministic
6.39.52Validate no infinite URL generation patternsSafeHeavyDeterministic
6.39.53Validate limited duplicate rendering pathsLimitedHeavyDeterministic
6.39.54Validate pagination URLs finiteFiniteMediumDeterministic
6.39.55Validate parameters don’t explode crawl pathsControlledMediumDeterministic
6.39.56Validate server handles crawl spikesStableMediumDeterministic
6.39.57Validate XML sitemaps reduce crawl wasteReducedMediumDeterministic
6.39.58Validate proper “priority” values (if included)LogicalMediumDeterministic
6.39.59Validate “changefreq” values accurateAccurateMediumDeterministic
6.39.60Validate no orphaned indexable pagesNoneMediumDeterministic

Internal Linking & Structure — Crawl Flow, Bot Paths

IDCheckPasses whenWeightRuns
6.39.61Validate internal links crawlableCrawlableHeavyDeterministic
6.39.62Validate anchor tags not replaced by JS onclick handlersStandardHeavyDeterministic
6.39.63Validate all indexable pages reachable in ≤3 clicksReachableHeavyDeterministic
6.39.64Validate logical hub‑to‑spoke structureStructuredMediumDeterministic
6.39.65Validate no internal redirectsCleanMediumDeterministic
6.39.66Validate breadcrumb navigation crawlableCrawlableMediumDeterministic
6.39.67Validate pagination internally linkedLinkedMediumDeterministic
6.39.68Validate faceted links safely handledSafeMediumDeterministic
6.39.69Validate sidebar/footer links not excessiveBalancedMediumDeterministic
6.39.70Validate no hidden link spamCleanMediumDeterministic

HTTP Status & Server Behavior — Reliability, Consistency

IDCheckPasses whenWeightRuns
6.39.71Validate no soft 404sNoneCriticalDeterministic
6.39.72Validate no server errors (5xx)NoneCriticalDeterministic
6.39.73Validate 4xx errors minimizedMinimalHeavyDeterministic
6.39.74Validate redirect chains < 2 hopsShortHeavyDeterministic
6.39.75Validate HTTP→HTTPS redirect correctCorrectHeavyDeterministic
6.39.76Validate non‑www→www redirect consistent (or vice versa)UnifiedMediumDeterministic
6.39.77Validate no mixed protocol contentCleanMediumDeterministic
6.39.78Validate no redirect loopsNoneMediumDeterministic
6.39.79Validate 410 used for intentionally removed contentCorrectMediumDeterministic
6.39.80Validate HEAD requests return accurate headersAccurateMediumDeterministic

AI Indexability — Predictable Rendering, Clean Dom, Consistent Signals

IDCheckPasses whenWeightRuns
6.39.81Validate HTML DOM deterministic (no random generation)DeterministicCriticalDeterministic
6.39.82Validate page fully understandable without JS executionUnderstandableCriticalDeterministic
6.39.83Validate structured data available without JSAvailableHeavyDeterministic
6.39.84Validate DOM stable during parse (no layout shift heavy JS)StableHeavyDeterministic
6.39.85Validate core content visible in initial HTMLVisibleHeavyDeterministic
6.39.86Validate React/Next.js hydration not blocking contentNon-blockingMediumDeterministic
6.39.87Validate deterministic URL structureDeterministicMediumDeterministic
6.39.88Validate no meaningless DOM wrappersCleanMediumDeterministic
6.39.89Validate no random client-side params in URLsStableMediumDeterministic
6.39.90Validate HTML token sequence predictablePredictableMediumDeterministic

Canonical Cluster Integrity — Duplicate Prevention, Consistency

IDCheckPasses whenWeightRuns
6.39.91Validate one canonical per pageSingularHeavyDeterministic
6.39.92Validate canonical points to canonical versionAccurateHeavyDeterministic
6.39.93Validate canonical clusters small & stableStableHeavyDeterministic
6.39.94Validate UTM/parameters removed from canonicalCleanMediumDeterministic
6.39.95Validate canonical matches sitemapMatchedMediumDeterministic
6.39.96Validate canonical doesn’t conflict robots rulesConsistentMediumDeterministic
6.39.97Validate canonical chain not circularLinearMediumDeterministic
6.39.98Validate canonical references https not httpSecureMediumDeterministic
6.39.99Validate hreflang + canonical pairing correctCorrectMediumDeterministic
6.39.100Compute partial Technical SEO score for Chunk 2CompleteCriticalDeterministic

URL Structure — Cleanliness, Normalization, Predictability

IDCheckPasses whenWeightRuns
6.39.101Validate URLs human‑readableCleanHeavyDeterministic
6.39.102Validate URLs contain no gibberish stringsCleanHeavyDeterministic
6.39.103Validate hyphens used properly in URLsHyphenatedHeavyDeterministic
6.39.104Validate lowercase URLs onlyLowercaseHeavyDeterministic
6.39.105Validate no trailing slash inconsistenciesConsistentMediumDeterministic
6.39.106Validate no duplicated paths (e.g., /page/page)UniqueMediumDeterministic
6.39.107Validate parameter ordering consistentOrderedMediumDeterministic
6.39.108Validate category/service URLs follow logical hierarchyHierarchicalMediumDeterministic
6.39.109Validate no randomly generated slugsStableMediumDeterministic
6.39.110Validate URL naming conventions documentedDocumentedMediumDeterministic

Server Headers — X-Robots-Tag, Index Signals, Security

IDCheckPasses whenWeightRuns
6.39.111Validate x‑robots‑tag headers not conflictingNon-conflictingHeavyDeterministic
6.39.112Validate noindex in headers matches HTML noindexMatchedHeavyDeterministic
6.39.113Validate canonical hints not overridden by headersConsistentHeavyDeterministic
6.39.114Validate security headers present (HSTS, X‑Frame‑Options)PresentMediumDeterministic
6.39.115Validate cache-control headers logicalLogicalMediumDeterministic
6.39.116Validate no-index headers not applied accidentallySafeMediumDeterministic
6.39.117Validate content-type headers correctCorrectMediumDeterministic
6.39.118Validate language headers consistent with hreflangConsistentMediumDeterministic
6.39.119Validate compression (gzip/br) enabledEnabledMediumDeterministic
6.39.120Validate no caching conflicts for HTMLNon-conflictingMediumDeterministic

Redirect Logic — Permanence, Accuracy, Clean Mapping

IDCheckPasses whenWeightRuns
6.39.121Validate 301 used for permanent redirectsCorrectHeavyDeterministic
6.39.122Validate redirect mapping completeCompleteHeavyDeterministic
6.39.123Validate redirect chains minimalMinimalHeavyDeterministic
6.39.124Validate internal links updated (not relying on redirect)UpdatedMediumDeterministic
6.39.125Validate no 302 used for permanent movesCorrectedMediumDeterministic
6.39.126Validate trailing-slash redirect consistentConsistentMediumDeterministic
6.39.127Validate uppercase redirects normalizedNormalizedMediumDeterministic
6.39.128Validate mobile/AMP redirects correctCorrectMediumDeterministic
6.39.129Validate redirect rules not conflictingNon-conflictingMediumDeterministic
6.39.130Validate server-side redirect logic documentedDocumentedMediumDeterministic

XML Sitemap Integrity — Deep Validation

IDCheckPasses whenWeightRuns
6.39.131Validate sitemap URLs return 200200HeavyDeterministic
6.39.132Validate sitemap URLs canonicalCanonicalHeavyDeterministic
6.39.133Validate sitemap URLs indexableIndexableHeavyDeterministic
6.39.134Validate lastmod not fakeTruthfulMediumDeterministic
6.39.135Validate sitemap not too large (>50k URLs)SizedMediumDeterministic
6.39.136Validate sitemap pagination correctCorrectMediumDeterministic
6.39.137Validate image/video sitemap references accurateAccurateMediumDeterministic
6.39.138Validate hreflang sitemap URLs match canonicalMatchedMediumDeterministic
6.39.139Validate no non-canonical in sitemapCleanMediumDeterministic
6.39.140Validate no 404/500 URLs in sitemapCleanMediumDeterministic

Duplication & Thin Content — Advanced Automated Detection

IDCheckPasses whenWeightRuns
6.39.141Validate near-duplicate sets detectedDetectedHeavyDeterministic
6.39.142Validate canonical clusters used for duplicatesClusteredHeavyDeterministic
6.39.143Validate duplicate parameter permutations identifiedIdentifiedHeavyDeterministic
6.39.144Validate similar titles/descriptions flaggedFlaggedMediumDeterministic
6.39.145Validate templated content not causing mass duplicationControlledMediumDeterministic
6.39.146Validate duplicate H1/H2 clusters minimizedMinimizedMediumDeterministic
6.39.147Validate content uniqueness >70% for indexable pagesUniqueMediumDeterministic
6.39.148Validate no thin RSS/Atom/index feed pages indexableBlockedMediumDeterministic
6.39.149Validate soft duplicate pages flaggedFlaggedMediumDeterministic
6.39.150Compute partial Technical SEO score for Chunk 3CompleteCriticalDeterministic

Advanced Indexation Conflicts — Preventing Mixed Signal Failures

IDCheckPasses whenWeightRuns
6.39.151Validate canonical does not conflict with noindexNon-conflictingHeavyDeterministic
6.39.152Validate robots.txt does not conflict with canonical targetAlignedHeavyDeterministic
6.39.153Validate canonical target is indexableIndexableHeavyDeterministic
6.39.154Validate internal links point to canonical URLsConsistentHeavyDeterministic
6.39.155Validate hreflang references canonical versionCorrectMediumDeterministic
6.39.156Validate sitemap contains only indexable URLsCleanMediumDeterministic
6.39.157Validate meta robots matches x‑robots‑tag headerMatchedMediumDeterministic
6.39.158Validate noindex not mistakenly applied to templatesSafeMediumDeterministic
6.39.159Validate duplication handling consistent across languagesConsistentMediumDeterministic
6.39.160Validate canonical chain length = 1ShortMediumDeterministic

JavaScript Renderability — SSR, Hydration, Fallbacks

IDCheckPasses whenWeightRuns
6.39.161Validate essential content visible without JSVisibleCriticalDeterministic
6.39.162Validate SSR or static fallback existsExistsHeavyDeterministic
6.39.163Validate hydration doesn't overwrite pre-rendered contentSafeHeavyDeterministic
6.39.164Validate router-based navigation crawlableCrawlableHeavyDeterministic
6.39.165Validate no JS-generated duplicate URLsControlledMediumDeterministic
6.39.166Validate onClick navigation backed by actual <a> tagStandardsMediumDeterministic
6.39.167Validate no hydration mismatchesStableMediumDeterministic
6.39.168Validate JS bundles minimizedMinimalMediumDeterministic
6.39.169Validate no client-side URL randomizationDeterministicMediumDeterministic
6.39.170Validate DOM not mutated excessively post-renderStableMediumDeterministic

Crawl Traps — Detecting & Preventing Bot Dead-Ends

IDCheckPasses whenWeightRuns
6.39.171Validate no infinite calendar URLsNoneHeavyDeterministic
6.39.172Validate no infinite faceted filtersControlledHeavyDeterministic
6.39.173Validate no infinite “?page=999” URLsLimitedHeavyDeterministic
6.39.174Validate no dynamically appended hashes (#) create duplicatesCleanMediumDeterministic
6.39.175Validate no sorting parameters multiply pagesSafeMediumDeterministic
6.39.176Validate search URLs blocked or controlledControlledMediumDeterministic
6.39.177Validate filter permutations finiteFiniteMediumDeterministic
6.39.178Validate session-based URLs not crawlableBlockedMediumDeterministic
6.39.179Validate calendar/archive URLs correctly limitedLimitedMediumDeterministic
6.39.180Validate print/share URLs non-indexableBlockedMediumDeterministic

Hreflang System — Cross-Language Canonical, Region Logic

IDCheckPasses whenWeightRuns
6.39.181Validate hreflang tags present for multilingual sitesPresentHeavyDeterministic
6.39.182Validate hreflang links reciprocalReciprocalHeavyDeterministic
6.39.183Validate hreflang targets canonical versionCanonicalHeavyDeterministic
6.39.184Validate regional codes correct (en-US vs en-GB)CorrectMediumDeterministic
6.39.185Validate no mismatched canonicals between languagesConsistentMediumDeterministic
6.39.186Validate language alternates completeCompleteMediumDeterministic
6.39.187Validate hreflang clusters fully connectedConnectedMediumDeterministic
6.39.188Validate country-targeting logicalLogicalMediumDeterministic
6.39.189Validate hreflang error-freeValidMediumDeterministic
6.39.190Validate sitemap includes hreflang (if using sitemap method)IncludedMediumDeterministic

Final Technical SEO Validation — Holistic Indexation State

IDCheckPasses whenWeightRuns
6.39.191Validate no contradictory indexation signals remainCleanCriticalDeterministic
6.39.192Validate crawlability of entire site mapFully crawlableCriticalDeterministic
6.39.193Validate canonical system coherentCoherentHeavyDeterministic
6.39.194Validate structured data discoverable for all key pagesDiscoverableHeavyDeterministic
6.39.195Validate crawl budget optimizedOptimizedHeavyDeterministic
6.39.196Validate index coverage healthy (no sharp drops)HealthyMediumDeterministic
6.39.197Validate no soft duplicates left unhandledCleanMediumDeterministic
6.39.198Validate all sitemaps referenced in robots.txtReferencedMediumDeterministic
6.39.199Identify any remaining indexation gapsIdentifiedMediumDeterministic
6.39.200Compute FULL TECHNICAL SEO composite scoreFinalizedCriticalDeterministic

← 6.38 Multimedia SEO (Images / Video / Audio) + AI Multimodal Readiness6.40 Local SEO (Hybrid Model) →

Run these checks on your site

A Deep Audit scores every check here that applies to your page, then an AI pass of up to 150 checks. Included on Pro and Ultra, or $9 for one audit.

See plans

Machine-readable: catalog totals and the full catalog as JSON (IDs, section, weight, status).