Home / Check catalog / 6. Schema, Local, Trust, Deep Audit / 6.48 Technical SEO Deep Protocols

6.48 Technical SEO Deep Protocols

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

Crawlability Fundamentals

IDCheckPasses whenWeightRuns
6.48.01Validate domain is fully crawlable (200 OK on homepage)CrawlableCriticalDeterministic
6.48.02Validate no global blockers in robots.txtNoneCriticalDeterministic
6.48.03Validate robots.txt is accessibleAccessibleCriticalDeterministic
6.48.04Validate robots directives correctly configuredCorrectHeavyDeterministic
6.48.05Validate no accidental blocking of CSS/JSNoneHeavyDeterministic
6.48.06Validate no IP-blocking or firewall rules blocking search botsNoneHeavyDeterministic
6.48.07Validate robots.txt includes sitemap URLIncludedMediumDeterministic
6.48.08Validate robots.txt not overly permissiveBalancedMediumDeterministic
6.48.09Validate crawl-delay directives absent or properly setProperMediumDeterministic
6.48.10Validate robots.txt corrected for uppercase/lowercase path issuesCorrectMediumDeterministic

Indexability & Canonical State

IDCheckPasses whenWeightRuns
6.48.11Validate page returns indexable status code (200 or soft 200)IndexableCriticalDeterministic
6.48.12Validate no accidental noindex tagsNoneCriticalDeterministic
6.48.13Validate canonical tag presentPresentHeavyDeterministic
6.48.14Validate canonical tag correct self-referencingCorrectHeavyDeterministic
6.48.15Detect conflicting canonical/alternate directivesNoneHeavyDeterministic
6.48.16Validate canonical tags consistent across versions (HTTP/HTTPS)ConsistentMediumDeterministic
6.48.17Validate canonical tags consistent across trailing slash variantsConsistentMediumDeterministic
6.48.18Validate canonical tags consistent for UTM parametersConsistentMediumDeterministic
6.48.19Detect canonical pointing to non-indexable pagesNoneMediumDeterministic
6.48.20Validate canonical tags use absolute URLsAbsoluteMediumDeterministic

Crawl Depth & Internal Discoverability

IDCheckPasses whenWeightRuns
6.48.21Validate page crawl depth minimal (≤3 from homepage)OptimalHeavyDeterministic
6.48.22Validate no orphan pages existNoneHeavyDeterministic
6.48.23Validate internal linking supports discoverabilityStrongHeavyDeterministic
6.48.24Validate homepage links to key pagesLinkedMediumDeterministic
6.48.25Validate header/footer includes necessary navigationIncludedMediumDeterministic
6.48.26Validate mobile navigation matches desktopMatchingMediumDeterministic
6.48.27Validate pagination crawlableCrawlableMediumDeterministic
6.48.28Validate infinite scroll supplemented with crawlable alternativeProvidedMediumDeterministic
6.48.29Validate XML sitemaps support discoverabilitySupportiveMediumDeterministic
6.48.30Detect deep pages buried beyond crawl budgetsNoneMediumDeterministic

XML Sitemap Protocols

IDCheckPasses whenWeightRuns
6.48.31Validate sitemap index existsExistsHeavyDeterministic
6.48.32Validate sitemap uses proper XML formattingValidHeavyDeterministic
6.48.33Validate sitemap reachable via GET requestReachableHeavyDeterministic
6.48.34Validate sitemap contains all indexable pagesCompleteHeavyDeterministic
6.48.35Validate lastmod fields accurateAccurateMediumDeterministic
6.48.36Validate sitemap URLs canonicalizedCanonicalMediumDeterministic
6.48.37Validate no non-indexable URLs presentNoneMediumDeterministic
6.48.38Validate sitemap size within limits (≤50k URLs / ≤50MB)Within LimitsMediumDeterministic
6.48.39Validate sitemap referenced in robots.txtReferencedMediumDeterministic
6.48.40Validate sitemap follows priority/frequency rules appropriatelyAppropriateMediumDeterministic

Meta Directives & Indexing Safety

IDCheckPasses whenWeightRuns
6.48.41Validate no accidental sitewide noindexNoneCriticalDeterministic
6.48.42Validate noindex only used intentionallyCorrectHeavyDeterministic
6.48.43Validate nofollow used appropriatelyAppropriateHeavyDeterministic
6.48.44Validate hreflang tags valid and mapped properlyValidHeavyDeterministic
6.48.45Validate alternate language versions resolve properlyProperMediumDeterministic
6.48.46Detect conflicting hreflang clustersNoneMediumDeterministic
6.48.47Validate max-snippet, max-video-preview settings correctCorrectMediumDeterministic
6.48.48Validate X‑Robots‑Tag rules correctCorrectMediumDeterministic
6.48.49Detect indexation discrepancies between sitemap and SERPNoneMediumDeterministic
6.48.50Compute partial Crawlability & Indexing scoreFinalizedCriticalDeterministic

Server Status Code Integrity

IDCheckPasses whenWeightRuns
6.48.51Validate homepage returns stable 200 statusStableCriticalDeterministic
6.48.52Validate all key pages return 200200HeavyDeterministic
6.48.53Detect 404 errors on navigational pagesNoneHeavyDeterministic
6.48.54Detect 500/503 server errorsNoneHeavyDeterministic
6.48.55Detect soft 404sNoneMediumDeterministic
6.48.56Validate 410 responses used for permanently removed pagesCorrectMediumDeterministic
6.48.57Validate server consistently responds within timeout thresholdsConsistentMediumDeterministic
6.48.58Detect inconsistent response codes across devicesNoneMediumDeterministic
6.48.59Validate 503 only used during maintenanceCorrectMediumDeterministic
6.48.60Validate API endpoints (if public) return correct codesCorrectMediumDeterministic

Redirect Behavior & Signal Consistency

IDCheckPasses whenWeightRuns
6.48.61Validate no redirect loopsNoneCriticalDeterministic
6.48.62Validate http→https redirects configuredConfiguredHeavyDeterministic
6.48.63Validate non‑www → www OR www → non‑www canonicalizedCanonicalizedHeavyDeterministic
6.48.64Validate trailing slash behavior consistentConsistentHeavyDeterministic
6.48.65Validate redirect chains <2 stepsShortMediumDeterministic
6.48.66Detect meta-refresh redirectsNoneMediumDeterministic
6.48.67Validate 301 used instead of 302 for permanent movesCorrectMediumDeterministic
6.48.68Validate JS-based redirects absent or minimizedMinimalMediumDeterministic
6.48.69Validate mobile redirects consistentConsistentMediumDeterministic
6.48.70Detect redirecting resources (JS/CSS)NoneMediumDeterministic

URL Structure & Clean Architecture

IDCheckPasses whenWeightRuns
6.48.71Validate URLs clean, short, readableCleanHeavyDeterministic
6.48.72Validate URLs lowercaseLowercaseHeavyDeterministic
6.48.73Validate URLs use hyphens not underscoresHyphensHeavyDeterministic
6.48.74Validate URLs descriptive and match topicDescriptiveHeavyDeterministic
6.48.75Validate no long query parametersNoneMediumDeterministic
6.48.76Validate no excessive folder nestingMinimalMediumDeterministic
6.48.77Validate URL slugs conciseConciseMediumDeterministic
6.48.78Validate human-friendly structureHuman-FriendlyMediumDeterministic
6.48.79Detect duplicate URLs with different capitalizationNoneMediumDeterministic
6.48.80Validate canonical matches primary URLMatchingMediumDeterministic

Broken State Detection & Resource Integrity

IDCheckPasses whenWeightRuns
6.48.81Detect broken internal linksNoneHeavyDeterministic
6.48.82Detect broken external linksNoneHeavyDeterministic
6.48.83Validate JS files return 200200HeavyDeterministic
6.48.84Validate CSS files return 200200HeavyDeterministic
6.48.85Validate images return 200200MediumDeterministic
6.48.86Validate missing resources <1%<1%MediumDeterministic
6.48.87Detect mixed-content errorsNoneMediumDeterministic
6.48.88Detect CORS misconfigurationsNoneMediumDeterministic
6.48.89Validate fonts load correctlyCorrectMediumDeterministic
6.48.90Validate preload resources not brokenFunctioningMediumDeterministic

Server-Performance & Hosting Signals

IDCheckPasses whenWeightRuns
6.48.91Validate TTFB ≤ 600ms≤600msHeavyDeterministic
6.48.92Validate server stable during load testsStableHeavyDeterministic
6.48.93Validate CDN implementedImplementedHeavyDeterministic
6.48.94Validate server compression enabled (gzip/brotli)EnabledMediumDeterministic
6.48.95Validate hotlink protection not blocking crawlersCorrectMediumDeterministic
6.48.96Validate DNS resolves quickly (≤60ms)≤60msMediumDeterministic
6.48.97Validate IPv6 correctly configuredCorrectMediumDeterministic
6.48.98Detect server CPU/RAM throttling that affects loadNoneMediumDeterministic
6.48.99Validate edge caching effectiveEffectiveMediumDeterministic
6.48.100Compute Server Behavior & URL Integrity partial scoreFinalizedCriticalDeterministic

JavaScript Rendering Validation (Crawler-Safe JS)

IDCheckPasses whenWeightRuns
6.48.101Validate page fully renderable without JS blockingRenderableCriticalDeterministic
6.48.102Validate critical content accessible pre-renderAccessibleHeavyDeterministic
6.48.103Validate render-blocking JS minimizedMinimizedHeavyDeterministic
6.48.104Validate hydration does not hide main contentVisibleHeavyDeterministic
6.48.105Detect delayed content injection that prevents indexingNoneMediumDeterministic
6.48.106Validate JS not rewriting title/meta after loadNot rewritingMediumDeterministic
6.48.107Validate JS inline scripts not blocking initial renderingNot blockingMediumDeterministic
6.48.108Validate third‑party JS loading async/deferAsync/DeferMediumDeterministic
6.48.109Validate JS errors in console <3<3MediumDeterministic
6.48.110Validate no JS files served with wrong MIME typesCorrectMediumDeterministic

Server-Side Rendering (SSR) / Pre-Rendering / Hybrid Rendering

IDCheckPasses whenWeightRuns
6.48.111Validate SSR used if site heavily JS-dependentImplementedHeavyDeterministic
6.48.112Validate prerender fallback availableAvailableHeavyDeterministic
6.48.113Validate hydration mismatches minimalMinimalHeavyDeterministic
6.48.114Validate static HTML contains core content before JS loadsPresentHeavyDeterministic
6.48.115Validate structured data exists in server-rendered HTMLExistsMediumDeterministic
6.48.116Validate canonical tags included server-sideIncludedMediumDeterministic
6.48.117Validate mobile-, tablet-, and desktop-rendered versions matchMatchMediumDeterministic
6.48.118Detect flickering/FOUC problemsNoneMediumDeterministic
6.48.119Validate first render meaningful without JSMeaningfulMediumDeterministic
6.48.120Validate page not using client-side routing for core contentNo CSR for coreMediumDeterministic

Client-Side Rendering (CSR) Safety Checks

IDCheckPasses whenWeightRuns
6.48.121Validate CSR not blocking initial content visibilityNot blockingHeavyDeterministic
6.48.122Detect CSR-only content that prevents indexingNoneHeavyDeterministic
6.48.123Validate content available within first paint windowAvailableHeavyDeterministic
6.48.124Validate client routing does not break URL discoverabilitySafeMediumDeterministic
6.48.125Validate user-triggered content expandable without JS relianceExpandableMediumDeterministic
6.48.126Validate internal linking functional even under JS-disabled modeFunctionalMediumDeterministic
6.48.127Validate dynamic components load within crawl windowOn-timeMediumDeterministic
6.48.128Detect script timing causing crawler missesNoneMediumDeterministic
6.48.129Validate DOM elements stable during scrollStableMediumDeterministic
6.48.130Validate JS hydration delays <2s<2sMediumDeterministic

AI-JS Readability & AI Engine Content Grasp

IDCheckPasses whenWeightRuns
6.48.131Validate core content extracted reliably from rendered HTMLExtractableHeavyDeterministic
6.48.132Validate AI can parse content even when JS frameworks usedParseableHeavyDeterministic
6.48.133Validate structured data unaffected by JS mutationsStableHeavyDeterministic
6.48.134Validate content not moved below fold artificiallyNot movedMediumDeterministic
6.48.135Validate dynamic pricing/timing content stableStableMediumDeterministic
6.48.136Detect hidden DOM nodes misinterpreted by AINoneMediumDeterministic
6.48.137Validate semantic HTML remains intact after JS executionIntactMediumDeterministic
6.48.138Validate JS-based injected FAQs still indexableIndexableMediumDeterministic
6.48.139Validate no duplicate DOM copies created by hydrationNoneMediumDeterministic
6.48.140Validate AI-readable text exists both pre-render and post-renderPresentMediumDeterministic

Rendering Consistency & Device Simulation

IDCheckPasses whenWeightRuns
6.48.141Validate desktop vs mobile rendering consistencyConsistentHeavyDeterministic
6.48.142Detect broken rendering on mobileNoneHeavyDeterministic
6.48.143Validate tablet rendering stableStableHeavyDeterministic
6.48.144Validate responsive breakpoints correctCorrectMediumDeterministic
6.48.145Validate viewport meta tag validValidMediumDeterministic
6.48.146Validate CSS grid/flexbox layout consistent across browsersConsistentMediumDeterministic
6.48.147Detect rendering differences in Safari vs ChromeNoneMediumDeterministic
6.48.148Validate fonts render properly across devicesProperMediumDeterministic
6.48.149Validate images responsive and not distortedCorrectMediumDeterministic
6.48.150Compute partial Rendering & JS Integrity scoreFinalizedMediumDeterministic

Core Web Vitals — LCP, FID/INP, CLS

IDCheckPasses whenWeightRuns
6.48.151Validate LCP ≤ 2.5s on mobile≤2.5sCriticalDeterministic
6.48.152Validate LCP element stable and not shiftingStableHeavyDeterministic
6.48.153Validate INP ≤ 200ms≤200msHeavyDeterministic
6.48.154Validate CLS ≤ 0.1≤0.1HeavyDeterministic
6.48.155Detect layout shifts due to ads/widgetsNoneMediumDeterministic
6.48.156Validate fonts not causing FOIT/FOUTNo FOIT/FOUTMediumDeterministic
6.48.157Validate hero images preloaded correctlyPreloadedMediumDeterministic
6.48.158Detect CLS from dynamic contentNoneMediumDeterministic
6.48.159Validate UI components stable during scrollStableMediumDeterministic
6.48.160Validate mobile LCP element not hidden behind lazy‑loadNot hiddenMediumDeterministic

Performance Optimization — Images, Video, CDN

IDCheckPasses whenWeightRuns
6.48.161Validate images served in next‑gen formats (WebP/AVIF)Next‑genHeavyDeterministic
6.48.162Validate image compression ratio optimalOptimalHeavyDeterministic
6.48.163Validate responsive images (srcset) usedUsedHeavyDeterministic
6.48.164Validate lazy‑loading implementedImplementedMediumDeterministic
6.48.165Detect oversized images compared to containerNoneMediumDeterministic
6.48.166Validate CDN caching for imagesCachedMediumDeterministic
6.48.167Validate video compressed and using streaming formatsOptimizedMediumDeterministic
6.48.168Validate poster images for videos presentPresentMediumDeterministic
6.48.169Detect bandwidth-heavy media elementsNoneMediumDeterministic
6.48.170Validate images served through CDN edge locationsServedMediumDeterministic

Performance — JS/CSS Optimization

IDCheckPasses whenWeightRuns
6.48.171Validate JS bundle size minimal (<200kb)<200kbHeavyDeterministic
6.48.172Validate unused JS removed (tree‑shaking)RemovedHeavyDeterministic
6.48.173Validate CSS optimized and purgedOptimizedHeavyDeterministic
6.48.174Validate critical CSS inlined properlyInlinedMediumDeterministic
6.48.175Validate JS loaded async/deferAsync/DeferMediumDeterministic
6.48.176Validate CSS not blocking renderNon‑blockingMediumDeterministic
6.48.177Validate script execution time <2s<2sMediumDeterministic
6.48.178Detect render‑blocking third‑party scriptsNoneMediumDeterministic
6.48.179Validate iframe loading optimizedOptimizedMediumDeterministic
6.48.180Validate CSS delivered via CDNDeliveredMediumDeterministic

Performance — Caching, Headers, Delivery

IDCheckPasses whenWeightRuns
6.48.181Validate caching headers set correctlyCorrectHeavyDeterministic
6.48.182Validate CDN edge caching effectiveEffectiveHeavyDeterministic
6.48.183Validate ETag/Last‑Modified headers correctCorrectHeavyDeterministic
6.48.184Validate server compression (gzip/brotli) activeActiveMediumDeterministic
6.48.185Validate preconnect/dns‑prefetch tags implementedImplementedMediumDeterministic
6.48.186Validate HTTP/2 enabledEnabledMediumDeterministic
6.48.187Validate HTTP/3 enabled (if supported)EnabledMediumDeterministic
6.48.188Validate caching rules consistent across file typesConsistentMediumDeterministic
6.48.189Detect stale caching leading to outdated contentNoneMediumDeterministic
6.48.190Validate DNS resolution performance stableStableMediumDeterministic

Final Performance Validation & Computation

IDCheckPasses whenWeightRuns
6.48.191Validate total page weight <2MB<2MBHeavyDeterministic
6.48.192Validate mobile load time <3.5s<3.5sHeavyDeterministic
6.48.193Validate desktop load time <2.5s<2.5sHeavyDeterministic
6.48.194Validate critical path minimalMinimalMediumDeterministic
6.48.195Validate performance stable across regionsStableMediumDeterministic
6.48.196Detect unnecessary heavy resourcesNoneMediumDeterministic
6.48.197Validate preloading and resource hints correctCorrectMediumDeterministic
6.48.198Validate caching leads to improved repeat load timeImprovedMediumDeterministic
6.48.199Validate no regressions in performance metricsNoneMediumDeterministic
6.48.200Compute Final Technical Performance scoreFinalizedCriticalDeterministic

← 6.47 AI-Level Local Relevance Protocols6.49 Content Quality, EEAT, AI Readability & Factual Resilience →

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).