Technical SEO is the foundation. You can write the best content in your niche, build the best backlinks, and still fail to rank if your site has fundamental technical issues. This checklist covers every technical SEO factor that genuinely matters in 2025 — organised so you can run through it on any client site or your own.
Most "technical SEO audits" I see from competitors are 200-page Screaming Frog exports handed over to a confused client. That's not an audit. That's a data dump. A real technical SEO checklist is short, prioritised, and actionable — every item is genuinely worth fixing, and every fix has a measurable impact.
This is the checklist I run through on every client site. Use it as a baseline; deviate where the site's specific situation requires.
Crawlability fundamentals
Before anything ranks, Google has to be able to crawl it.
1. Robots.txt is correct
Located at yoursite.com/robots.txt. Should:
- Allow Googlebot access to your CSS and JS files (blocking these is a common mistake)
- Disallow obvious admin paths (
/admin/,/wp-admin/, etc.) - Reference your XML sitemap
Use the robots.txt generator on this site to build a clean version, or audit what you have.
2. XML sitemap exists and is submitted
Submit to Google Search Console and Bing Webmaster Tools. The sitemap should:
- Include only canonical URLs (not duplicates)
- Include only indexable URLs (not noindex pages)
- Update automatically as new content publishes
- Stay under 50,000 URLs and 50 MB per sitemap (split if larger)
The XML sitemap generator on this site handles small sites. For WordPress, plugins like Rank Math and Yoast generate sitemaps automatically.
3. No accidental noindex tags
Check critical pages aren't accidentally noindexed. The meta tags analyzer shows the robots meta tag for any URL.
Common cause: WordPress "Discourage search engines" checkbox left on. Goes unnoticed for months while traffic stays flat.
4. Internal linking is healthy
Every important page should be reachable in 3 clicks from the homepage. Run Screaming Frog (free up to 500 URLs). Look for:
- Pages with zero internal links pointing to them (orphan pages)
- Crawl depth over 4 (pages requiring 5+ clicks to reach)
- Broken internal links
Fix orphans by adding contextual links from related pages. Reduce crawl depth via better navigation.
5. Server response codes are correct
200 for live pages. 301 (permanent) for moved pages. 404 for genuinely deleted pages. 410 for permanently gone content.
Avoid 302 (temporary) for permanent moves; equity passes incompletely. Avoid soft 404s (200 status with "page not found" content). Confuses Google. The redirect checker traces redirect chains.
Indexability checklist
6. Canonical tags on every page
Every page should have a self-referencing canonical tag in the head:
<link rel="canonical" href="https://yoursite.com/page-url/">
For pages with parameter variations (sort orders, filters, tracking), the canonical should point to the clean URL. The meta tag generator includes canonical in its output.
7. No duplicate content
Common duplicate issues:
- HTTP and HTTPS versions both indexable (force HTTPS via 301 redirects)
- www and non-www versions both indexable (pick one as canonical)
- URL parameters creating duplicates (use canonical or
Disallowin robots.txt) - Trailing slash inconsistency (
/pageand/page/) - Capitalisation differences (
/Pageand/page)
Pick one canonical version of each URL, redirect the others.
8. Pagination handled correctly
For blog archives, product listings, etc., use:
- Self-referencing canonicals on each paginated page (page 2 canonicals to itself, not page 1)
- View-all page if practical
- Avoid
rel=prev/next(Google deprecated support)
9. International / hreflang setup (if applicable)
For multi-language or multi-region sites:
<link rel="alternate" hreflang="...">tags on every language versionx-defaulthreflang for the default language- Each version self-references plus references all alternatives
Mistakes here cause major indexation issues. Use Aleyda's hreflang checker to validate.
Site architecture
10. URL structure is clean
Good URLs:
- Lowercase
- Hyphenated (not underscored)
- Descriptive but short
- No unnecessary parameters
- Follow logical hierarchy (
/category/subcategory/page-name)
Bad URLs:
/index.php?id=12345&category=8&sort=asc/Page_With_Spaces.html/very-long-keyword-stuffed-url-trying-to-rank-for-everything
11. Breadcrumbs implemented
Visible breadcrumbs on every interior page. Marked up with BreadcrumbList schema. Helps users navigate and helps Google understand site structure.
12. HTML sitemap (optional but useful)
A user-facing sitemap page listing major content. Easier for visitors than the XML sitemap. Improves internal linking.
Core Web Vitals
Google's confirmed page-experience ranking factors. Three metrics:
13. Largest Contentful Paint (LCP) < 2.5 seconds on mobile
The time to render the largest visible element. Common fixes:
- Compress hero images (WebP format, properly sized)
- Preload critical fonts and images
- Use a CDN (Cloudflare free tier works well)
- Optimise server response time (TTFB < 200ms)
Check with PageSpeed Insights and the page speed test on this site.
14. Interaction to Next Paint (INP) < 200ms
Measures responsiveness to user input. Common fixes:
- Reduce JavaScript execution time
- Defer non-critical scripts
- Optimise main-thread work
- Avoid synchronous third-party scripts
INP replaced FID in March 2024 as a Core Web Vital. Tighter threshold.
15. Cumulative Layout Shift (CLS) < 0.1
Measures visual stability. Common fixes:
- Specify width/height attributes on images
- Reserve space for ads, embeds, dynamic content
- Avoid inserting content above existing content
- Preload web fonts to prevent FOUT/FOIT
Mobile and responsive design
16. Viewport meta tag set correctly
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Without this, mobile browsers render at desktop width and your site looks broken on phones.
17. Tap targets at least 48px
Buttons and links need to be tappable without accidentally hitting neighbours. Lighthouse audits this.
18. Readable font sizes
Body text at least 16px. Headings appropriately scaled.
19. No horizontal scroll on mobile
Test by visiting on a phone. Common cause: fixed-width elements (tables, images) wider than viewport.
Security and HTTPS
20. HTTPS everywhere
SSL certificate installed and renewed. All HTTP URLs redirect to HTTPS. Mixed content (HTTPS page loading HTTP resources) eliminated.
Free SSL via Let's Encrypt; supported by virtually all hosts. No reason to lack HTTPS in 2025.
21. HSTS header set
Strict-Transport-Security: max-age=31536000; includeSubDomains
Tells browsers to always use HTTPS even if a user types http://. Configured at the server level.
22. No mixed content warnings
Test by opening DevTools console on key pages. Mixed content errors break HTTPS protection and create indexation issues.
Structured data
23. Article / BlogPosting schema on blog posts
Includes headline, datePublished, author, image, publisher.
24. Product schema on product pages
Includes name, image, description, sku, brand, offers (price, availability).
25. LocalBusiness schema on local-business sites
Covered in detail in the local SEO guide on this blog.
26. FAQPage schema on FAQ content
Eligible for FAQ rich results in some queries.
27. BreadcrumbList schema everywhere
Improves how breadcrumbs render in search results.
Use Google's Rich Results Test and the Schema Markup Validator to verify.
Image SEO
28. Descriptive filenames
hero-image.jpg is fine. IMG_4385.jpg is wasted SEO opportunity. Rename to describe the image: delhi-freelance-web-developer.jpg.
29. Alt text on every image
Two purposes: accessibility (screen readers) and SEO (Google reads alt text). Describe what the image shows. Don't keyword stuff.
30. Properly sized images
Don't serve a 4000px wide image scaled to 800px in CSS. Generate proper sizes and use srcset for responsive delivery.
31. Modern formats (WebP, AVIF)
WebP is supported by all modern browsers. Typically 30% smaller than equivalent JPGs. AVIF is even smaller but support is still improving.
JavaScript SEO
32. Critical content rendered server-side
If your site is React/Vue/Angular, ensure SSR or pre-rendering. Pure client-side rendering means Google sees an empty shell on first crawl.
The page snooper on this site shows you the raw HTML Google receives. If your important content isn't there, you have a JS rendering issue.
33. URL Inspection in Search Console
For every important page type, run URL Inspection in Google Search Console. The "View tested page" feature shows you exactly what Google sees after JavaScript renders.
Performance fundamentals
34. CDN configured
Cloudflare free tier covers most small-to-medium sites. Caches static assets globally. Reduces latency for users far from your origin server.
35. Browser caching enabled
Cache-Control headers on static assets (CSS, JS, images, fonts) set to long TTL (1 year for hashed files, shorter for HTML).
36. Compression enabled
Gzip or Brotli compression on text-based assets. Reduces transfer size 60-80%. Configured at the server level.
37. HTTP/2 or HTTP/3 enabled
Modern protocols improve performance, especially on mobile. Most modern hosting and CDNs support these by default.
Monitoring and ongoing health
38. Search Console set up properly
Domain property (not URL prefix). Sitemap submitted. Coverage report monitored weekly. Manual Actions check.
39. Core Web Vitals monitoring
Either via Search Console or third-party (Calibre, SpeedCurve). Alerts when scores degrade.
40. Uptime monitoring
Free options like UptimeRobot ping your site every 5 minutes. Alerts when down. Critical because Google deindexes sites that are down for extended periods.
The is it down? tool on this site is for one-off checks, not continuous monitoring.
A 30-minute audit framework
For a quick technical SEO health check on any site:
- 5 minutes — Search Console: Coverage, Manual Actions, Core Web Vitals
- 5 minutes — homepage in PageSpeed Insights: Mobile and desktop scores
- 5 minutes. Robots.txt and sitemap: Verify both exist and are accessible
- 5 minutes — top 5 pages in URL Inspection: Verify each is indexed
- 5 minutes — HTTPS audit: Force HTTPS check, mixed content check
- 5 minutes — structured data check: Run Rich Results Test on homepage and 1 article
Most major issues surface in this 30-minute pass. Deeper audits then drill into the biggest issues.
Technical SEO compounds. Every issue you fix removes friction from Google's crawler and improves ranking signals across the entire site. Most sites have 5-10 technical issues that, if fixed, would lift rankings 15-30% within a quarter. Run this checklist quarterly and you'll catch issues before they cost real traffic.
Final thoughts
Technical SEO is rarely sexy work. Nobody hires you specifically to fix robots.txt, set up canonical tags, or refactor URL structure. But these foundational fixes are what makes everything else work. Get them right once and your content efforts pay back compounding over time. Skip them and you're trying to grow a tree on concrete.
Need help applying this to your own site? I'm Shani Maurya — a freelance web developer and digital marketer based in Delhi. If you'd like a hands-on audit or full implementation, get in touch — I usually reply within a few hours.