The Technical SEO Checklist Every Developer Should Run
Most developers treat SEO as a marketing problem. It isn't. The majority of ranking issues start in the codebase: broken redirects, bloated JavaScript bundles, missing meta tags, or render-blocking scripts that delay Googlebot from ever seeing your content. If you build sites for clients or run your own product, this checklist covers the technical side that actually moves rankings, not the content fluff.
1. Crawlability and Indexing
Before worrying about keywords, confirm search engines can actually reach and parse your pages.
Check your robots.txt
- Make sure you're not accidentally blocking
/css/,/js/, or entire sections with a strayDisallow: / - Test it directly in Google Search Console's robots.txt tester, not just by reading the file
- Staging environments should block all crawlers, production should not
Audit your XML sitemap
- Only include canonical, indexable URLs (no redirects, no noindex pages, no 404s)
- Keep it under 50,000 URLs per file, split into multiple sitemaps for larger sites
- Submit it through Search Console and reference it in robots.txt
Fix orphan pages and broken internal links
Run a crawl with Screaming Frog or Sitebulb and look for pages with zero internal links pointing to them. If Google can't find a path to a page through your site structure, it's relying entirely on the sitemap, which is a weak signal on its own.
2. URL Structure and Canonicalization
- Use lowercase, hyphen-separated URLs:
/web-design-servicesnot/WebDesignServicesor/web_design_services - Pick one version of your domain (https, non-www or www) and 301 redirect everything else to it
- Add self-referencing canonical tags on every page:
<link rel="canonical" href="https://example.com/page"> - Watch for duplicate content from URL parameters (
?sort=price,?utm_source=) by canonicalizing to the clean URL - Audit trailing slash consistency,
/aboutand/about/should not both resolve as separate indexable pages
3. Core Web Vitals and Performance
Page experience is a ranking factor, and it's one developers have the most direct control over.
Largest Contentful Paint (LCP)
- Target under 2.5 seconds
- Preload hero images and critical fonts with
<link rel="preload"> - Serve images in WebP or AVIF and size them correctly, don't ship a 2000px image into a 400px container
- Use a CDN for static assets instead of serving everything from origin
Interaction to Next Paint (INP)
- Break up long JavaScript tasks (anything over 50ms blocking the main thread)
- Defer non-critical third-party scripts (chat widgets, analytics, ad pixels) with
asyncordefer - Avoid heavy event listeners on scroll and resize, debounce or throttle them
Cumulative Layout Shift (CLS)
- Always set explicit
widthandheightattributes on images and video embeds - Reserve space for ads and embeds before they load
- Avoid injecting content above existing content after page load (banners, cookie notices that push layout down)
Run PageSpeed Insights and Lighthouse on real URLs, not just the homepage. Product pages, blog posts, and category pages often perform very differently once real content and third-party scripts are involved.
4. Structured Data That Actually Gets Used
Schema markup doesn't directly boost rankings, but it unlocks rich results that improve click-through rate, which does affect performance over time.
- Organization schema on the homepage with logo, name, and social profiles
- BreadcrumbList on all interior pages to show breadcrumb trails in search results
- Article schema on blog posts with
datePublishedandauthor - Product schema with price, availability, and review data for ecommerce
- LocalBusiness schema for any business with a physical location or service area
Validate everything with Google's Rich Results Test before deploying. Invalid schema is worse than no schema, since it can trigger manual review flags.
5. Mobile and Rendering Checks
- Test with Chrome DevTools' mobile emulation and an actual device, not just one or the other
- Check that tap targets are at least 48x48px and spaced enough to avoid misclicks
- Confirm your viewport meta tag is set correctly:
<meta name="viewport" content="width=device-width, initial-scale=1"> - If you're using client-side rendering (React, Vue, Angular SPAs), use "Inspect URL" in Search Console to confirm Googlebot sees the fully rendered HTML, not a blank shell
- Consider server-side rendering or static generation (Next.js, Nuxt, Astro) if your current setup relies entirely on client-side JS for critical content
6. Common Technical SEO Mistakes We See in Client Audits
- Noindex tags left on from staging. A site migration goes live with
<meta name="robots" content="noindex">still in the header template. Traffic disappears within two weeks. - Redirect chains. URL A redirects to B, which redirects to C. Each hop adds latency and dilutes link equity. Always redirect straight to the final destination.
- Missing or duplicate title tags across templated pages. Common on ecommerce sites where every product page inherits the same title from a broken template variable.
- Slow TTFB from unoptimized server response. No amount of frontend optimization fixes a server taking 1.5 seconds just to respond. Check hosting and database query performance first.
- HTTP and HTTPS mixed content. Images or scripts still loading over HTTP on an HTTPS page, triggering browser warnings and wasted crawl budget.
7. A Quick Monitoring Setup
- Connect Google Search Console and check the Coverage and Core Web Vitals reports monthly
- Set up automated Lighthouse CI checks in your deployment pipeline so performance regressions get caught before they ship
- Use a log file analyzer periodically to see how Googlebot is actually crawling your site, not just how you assume it is
At Axoxweb, we bake most of this checklist directly into the build process rather than treating it as a post-launch audit. It's far cheaper to get canonical tags, sitemaps, and Core Web Vitals right during development than to retrofit them on a site that's already losing rankings.
If your current site is failing on crawlability, speed, or structured data and you'd rather have it handled properly, get in touch with Axoxweb for a site built right from the first commit.