Technical SEO Checklist: 10-Phase Audit Guide for 2026

This checklist is built for real audits. Each item includes what to verify and how to fix it. Skip the theory. Work through the phases in order. Flag items that need immediate action.
If your site lost rankings or got deindexed, start with Phase 1 and Phase 2. These two phases solve over 70% of indexing failures. To understand the foundations behind each check, see this guide on why technical SEO matters and this breakdown of technical SEO explained.
Phase 1: Crawlability & Indexing Critical
If Googlebot cannot access or index your pages, no other optimization will matter.
1.1 Robots.txt
| Check | How to Verify | Fix If Failing |
|---|---|---|
File exists at /robots.txt | Open yoursite.com/robots.txt directly | Create the file; allow all crawlers by default |
| No critical pages blocked (CSS, JS, product pages) | Use GSC Robots.txt Tester | Remove overly broad Disallow rules |
| XML sitemap referenced | Look for Sitemap: directive in file | Add Sitemap: https://yoursite.com/sitemap.xml |
| No syntax errors | GSC Robots.txt Tester (shows parse warnings) | Fix malformed directives; each rule on its own line |
/wp-content/ or /wp-includes/ in WordPress sites. This prevents Googlebot from rendering JavaScript and CSS correctly.1.2 XML Sitemap
| Check | How to Verify | Fix If Failing |
|---|---|---|
| Sitemap exists and submitted to GSC | GSC > Sitemaps report | Generate via Yoast/RankMath; submit URL in GSC |
| Contains only indexable URLs (no noindex, no 404, no redirects) | Screaming Frog: crawl sitemap URLs, check status codes | Exclude non-canonical, draft, and redirect URLs from sitemap |
| Under 50,000 URLs and 50MB per file | Count URLs; check file size | Split into category/type sitemaps; use sitemap index file |
lastmod dates reflect actual content updates | Compare sitemap dates to CMS update logs | Configure plugin to write accurate last-modified dates |
| No GSC sitemap errors or warnings | GSC > Sitemaps report status column | Fix reported errors; resubmit sitemap |
1.3 Indexing Status
| Check | How to Verify | Fix If Failing |
|---|---|---|
| No manual actions in GSC | GSC > Security & Manual Actions | Follow Google's reconsideration request process |
| Key pages not marked noindex | GSC URL Inspection tool; Screaming Frog meta robots column | Remove noindex from pages that should rank |
| GSC Coverage: low "Excluded" count vs. submitted pages | GSC > Pages report > filter by "Excluded" | Investigate each exclusion reason; prioritize "Crawled, not indexed" |
| Canonical tags point to preferred URL versions | Screaming Frog > Canonicals tab | Fix self-referencing canonicals; fix canonicals pointing to noindex pages |
| Crawl budget not wasted on low-value URLs | Log file analysis; GSC crawl stats report | Disallow or noindex tag archives, pagination variants, session IDs |
Phase 2: HTTPS & Technical Foundation Critical
These are prerequisites. Nothing ranks well without them.
| Check | How to Verify | Fix If Failing |
|---|---|---|
| SSL certificate valid (no browser warnings) | Check browser padlock; SSL Labs test | Renew certificate; verify auto-renewal is set |
| No mixed content (HTTP resources on HTTPS page) | Chrome DevTools > Console for mixed content errors | Update all internal resource URLs to HTTPS; use protocol-relative URLs |
| HTTP to HTTPS redirect active (301) | Test http://yoursite.com in browser | Add redirect in .htaccess or server config |
| WWW and non-WWW resolve to one canonical version | Test both versions; confirm 301 redirect to preferred | Set preferred domain in GSC; add 301 redirect |
Trailing slash consistent site-wide (/page/ vs /page) | Screaming Frog: look for duplicate URLs differing only by slash | Enforce one standard via 301 redirect; update internal links |
| 404 pages return HTTP 404 status (not 200 soft 404) | Curl test missing page: curl -I yoursite.com/not-real | Configure server to return proper 404 status for missing pages |
| Redirect chains are no longer than 1 hop | Screaming Frog > Response Codes > 3xx filter | Update redirects to point directly to final destination URL |
Phase 3: Core Web Vitals & Page Speed Critical
Core Web Vitals are a confirmed Google ranking signal. Fix by page template, not just the homepage.
2026 Passing Thresholds
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Under 2.5s | 2.5s – 4.0s | Over 4.0s |
| INP (Interaction to Next Paint) | Under 200ms | 200ms – 500ms | Over 500ms |
| CLS (Cumulative Layout Shift) | Under 0.1 | 0.1 – 0.25 | Over 0.25 |
Note: FID was replaced by INP as of March 2024. Update any old audit frameworks.
| Check | How to Verify | Fix If Failing |
|---|---|---|
| LCP under 2.5s on mobile | PageSpeed Insights; GSC CWV report | Preload LCP image; optimize server response time; use CDN |
| INP under 200ms | Chrome DevTools Performance panel; CrUX data in GSC | Reduce JavaScript execution time; defer non-critical scripts |
| CLS under 0.1 | PageSpeed Insights; Chrome Layout Instability API | Set explicit width/height on images; avoid inserting content above existing DOM |
| Images in WebP or AVIF format | DevTools > Network tab > filter images > check type | Convert with Squoosh or configure CDN to auto-convert |
| Lazy loading on below-fold images | View page source; look for loading="lazy" attribute | Add loading="lazy" to all images not in above-fold viewport |
| TTFB under 600ms | PageSpeed Insights > Server response time diagnostic | Enable server-side caching; upgrade hosting plan; use CDN |
| Render-blocking resources eliminated | PageSpeed Insights > Eliminate render-blocking resources | Defer or async non-critical JS; inline critical CSS |
Phase 4: Site Architecture & Internal Linking High Impact
Architecture determines how PageRank flows and how Googlebot understands topical relationships.
| Check | How to Verify | Fix If Failing |
|---|---|---|
| No orphan pages (every page reachable via internal link) | Screaming Frog > Bulk Export > Orphan Pages | Add contextual internal links from relevant content |
| Important pages within 3 clicks from homepage | Screaming Frog > Click Depth report | Add shortcuts in navigation or homepage links |
| Anchor text is descriptive and keyword-relevant | Screaming Frog > Inlinks tab for key pages | Replace generic "click here" anchors with descriptive phrases |
| Breadcrumb navigation present on all non-homepage pages | Visual check; confirm breadcrumb schema present | Enable breadcrumbs via theme settings or Yoast/RankMath |
| Pillar pages link to all cluster content | Review top-level content manually; check outbound links | Map content clusters; add bidirectional links between pillar and supporting pages |
| No broken internal links | Screaming Frog > Response Codes > 4xx filter > inlinks | Update or remove broken links; add 301 redirect if page was moved |
| Clean, keyword-containing URL slugs | Screaming Frog URL list; manual review of patterns | Fix new URLs; 301-redirect old ones; avoid changing established URLs |
Phase 5: Mobile Optimization Critical
Google uses the mobile version of your site for indexing. Mobile-first is not optional.
| Check | How to Verify | Fix If Failing |
|---|---|---|
| Responsive design at all breakpoints (320px – 1440px) | Chrome DevTools > Device toolbar; Google Mobile-Friendly Test | Fix CSS breakpoints; use fluid layouts |
| Touch targets at least 44x44px | PageSpeed Insights > Tap targets diagnostic | Increase button/link padding; ensure spacing between clickable elements |
| No intrusive interstitials on mobile | Test on real device; check for full-screen popups on landing | Replace full-screen popups with banners; delay timing; add easy dismiss |
| Font size minimum 16px for body text | Inspect CSS; PageSpeed font-size diagnostic | Set font-size: 16px on body; scale headings relative |
| Mobile and desktop content is identical (no hidden content) | GSC URL Inspection: render mobile vs. desktop; check for display:none on key content | Show content via CSS resize, not display:none; ensure mobile renders full content |
Phase 6: Structured Data & Schema Markup High Impact
Structured data improves search appearance and is a key signal for AI citation systems. See the full guide to technical SEO explained for schema implementation depth.
| Schema Type | Apply To | How to Verify | Fix If Failing |
|---|---|---|---|
| Organization / LocalBusiness | Homepage, About, Contact | Rich Results Test | Add via JSON-LD in theme header or plugin |
| Article / BlogPosting | All blog posts | Rich Results Test | Enable in RankMath or Yoast; set author, datePublished |
| BreadcrumbList | All non-homepage pages | Rich Results Test; GSC Enhancements report | Enable breadcrumbs in SEO plugin |
| FAQPage | Pages with Q&A sections | Rich Results Test | Add JSON-LD block manually or via schema plugin |
| Product + Review | Product pages | Rich Results Test; GSC Shopping tab | Add price, availability, review aggregateRating |
| HowTo | Step-by-step guides | Rich Results Test | Structure steps in JSON-LD with name and text |
| Person (Author) | Author bio pages | Rich Results Test; manual source check | Add Person schema with name, url, sameAs (LinkedIn, etc.) |
Phase 7: On-Page Technical Elements High Impact
| Check | How to Verify | Fix If Failing |
|---|---|---|
| Title tags unique, under 60 characters, keyword-first | Screaming Frog > Page Titles; GSC Performance title column | Rewrite duplicates; trim over-long titles; lead with primary keyword |
| Meta descriptions 120–160 chars, include CTA | Screaming Frog > Meta Description tab | Write unique descriptions; include keyword + action phrase |
| One H1 per page, matches page intent | Screaming Frog > H1 tab; check for missing or duplicate H1s | Add missing H1; split pages with double H1; align H1 with title tag |
| Heading hierarchy logical (H1 > H2 > H3) | HeadingsMap browser extension; Screaming Frog headings report | Fix skipped heading levels; restructure for logical outline |
| All images have descriptive alt text | Screaming Frog > Images > Missing Alt Text | Add descriptive alt; do not stuff keywords; decorative images get empty alt |
| No duplicate title tags or meta descriptions | Screaming Frog > Duplicate Content filter | Rewrite all duplicates; consolidate near-duplicate pages |
| Canonical tags on all paginated or parameter URLs | Screaming Frog > Canonicals; check ?page= and ?sort= URLs | Add self-canonical; canonicalize paginated pages to page 1 if needed |
Phase 8: JavaScript SEO & Rendering Growth
JavaScript-rendered content requires extra verification. GSC's URL inspection renders the page as Googlebot sees it.
| Check | How to Verify | Fix If Failing |
|---|---|---|
| Critical content not reliant on client-side JS to load | GSC URL Inspection > View Rendered Page; disable JS in browser | Move critical content to server-side rendering (SSR) or static HTML |
| Internal links not blocked by JS event handlers | Check page source for <a href> vs onclick navigation | Use standard <a href> links; avoid JS-only navigation |
| Rendered page matches crawled HTML in GSC | GSC URL Inspection > compare HTML vs Rendered | Implement SSR or prerendering for JS-heavy pages |
| No JS errors in DevTools Console on key pages | Chrome DevTools > Console tab (zero errors target) | Fix script errors; remove or replace broken third-party scripts |
Phase 9: E-E-A-T Technical Signals High Impact
E-E-A-T (Experience, Expertise, Authoritativeness, Trust) is evaluated by human quality raters, but technical signals support it. These matter most for YMYL topics and AI citation readiness.
| Check | How to Verify | Fix If Failing |
|---|---|---|
| Author schema with name, credentials, and sameAs links | Rich Results Test on author bio page | Add Person schema; link to author LinkedIn, social profiles |
| About page includes team info, history, credentials | Manual review of About page depth | Add founder bio, experience years, client examples, verifiable credentials |
| Contact page has real, verifiable information | Check for phone, address, email (not generic form only) | Add NAP data; ensure it matches GMB and schema |
| Privacy policy and Terms of Service pages present and updated | Check footer links; verify pages load and are not thin | Create or update legal pages; link from footer site-wide |
| datePublished and dateModified accurate in schema and visible | Rich Results Test; visible date on article pages | Display publish/update dates; update schema when content is refreshed |
Phase 10: Monitoring & Tools Setup Critical
| Check | Tool | Cost |
|---|---|---|
| Google Search Console verified and active | Google Search Console | Free |
| Google Analytics 4 with goal tracking | Google Analytics 4 | Free |
| Regular site crawl scheduled | Screaming Frog (free up to 500 URLs) | Free / $259/yr |
| Core Web Vitals alerts configured | GSC CWV Report; PageSpeed Insights | Free |
| Uptime monitoring active | UptimeRobot (free tier available) | Free / $7/mo |
| Backlink profile monitored | Ahrefs or SEMrush | $99–$399/mo |
| Bing Webmaster Tools verified | Bing Webmaster Tools | Free |
Maintenance Schedule
| Frequency | Tasks |
|---|---|
| Weekly | Check GSC for new manual actions, coverage errors, and CWV regressions |
| Monthly | Run Screaming Frog crawl; check for broken links; review sitemap accuracy; verify schema on new/updated pages |
| Quarterly | Full technical audit across all 10 phases; log file analysis; review crawl budget efficiency; update legal pages; check SSL expiration dates |
| After Site Changes | Immediately re-audit Phase 1 and Phase 2 after any CMS migration, theme change, hosting move, or major content restructuring |
Where Technical SEO Fits in Your Strategy
Technical SEO solves access and crawlability. Content SEO builds relevance and authority. Neither works without the other.
If rankings are flat despite good content, run Phase 1 through Phase 3 of this checklist first. Most recovery cases trace back to indexing blocks or CWV failures, not content quality. For a direct comparison, see technical SEO vs content SEO.
Frequently Asked Questions

5+ years of technical SEO experience. Based in Biratnagar, Nepal. Specializes in crawl and indexing recovery, Core Web Vitals optimization, and AI search readiness audits.
RankWithNaresh • Siddhartha Marg, Biratnagar-10, Nepal • [email protected]