DEV Community

Cover image for Technical SEO for Developers: The Complete Checklist (2026)
Jeansy Sese
Jeansy Sese

Posted on

Technical SEO for Developers: The Complete Checklist (2026)

Technical SEO for Developers: The Complete Checklist (2026)

Most SEO guides are written for marketers. This one is for developers — the
people who actually implement the fixes.

Here's a structured technical SEO checklist you can use to audit and improve

any website.


  1. Crawlability & Indexing

Google needs to find and read your pages before ranking them.

robots.txt — Block what you don't want indexed, never accidentally block

CSS/JS:

User-agent: Googlebot

Disallow: /wp-admin/
Disallow: /?s=
Allow: /wp-admin/admin-ajax.php

Canonical tags — Prevent duplicate content issues:

Meta robots — Fine-grained control per page:

<!-- Index and follow links -->

<!-- Exclude from index (e.g. search results, thank-you pages) -->

XML Sitemap — Submit to Google Search Console. Keep it clean: only include

pages you want indexed, no 404s, no redirects.


  1. Core Web Vitals

Google's page experience signals directly affect ranking. Target these
thresholds:

┌─────────────────────────────────┬─────────┬───────────────────┬─────────┐

│ Metric │ Good │ Needs Improvement │ Poor │
├─────────────────────────────────┼─────────┼───────────────────┼─────────┤

│ LCP (Largest Contentful Paint) │ ≤ 2.5s │ 2.5s–4s │ > 4s │
├─────────────────────────────────┼─────────┼───────────────────┼─────────┤

│ INP (Interaction to Next Paint) │ ≤ 200ms │ 200–500ms │ > 500ms │
├─────────────────────────────────┼─────────┼───────────────────┼─────────┤

│ CLS (Cumulative Layout Shift) │ ≤ 0.1 │ 0.1–0.25 │ > 0.25 │
└─────────────────────────────────┴─────────┴───────────────────┴─────────┘

LCP quick wins:

<!-- Preload hero image -->

<!-- Use modern formats -->







Hero

CLS prevention:

/* Always define aspect ratio for media */
img, video, iframe {

aspect-ratio: 16/9;
width: 100%;

height: auto;

}


  1. Schema Markup (JSON-LD)

Structured data helps Google understand your content and enables rich results.
Implement it in

or inline:

Organization schema:

<br><br> {<br><br> &quot;@context&quot;: &quot;<a href="https://schema.org">https://schema.org</a>&quot;,<br> &quot;@type&quot;: &quot;Organization&quot;,<br> &quot;name&quot;: &quot;Your Company&quot;,<br> &quot;url&quot;: &quot;<a href="https://example.com">https://example.com</a>&quot;,<br><br> &quot;logo&quot;: &quot;<a href="https://example.com/logo.png">https://example.com/logo.png</a>&quot;,<br> &quot;contactPoint&quot;: {<br><br> &quot;@type&quot;: &quot;ContactPoint&quot;,<br><br> &quot;telephone&quot;: &quot;+39-000-0000000&quot;,<br><br> &quot;contactType&quot;: &quot;customer service&quot;<br> }<br><br> }<br><br>

Article schema:

<br><br> {<br> &quot;@context&quot;: &quot;<a href="https://schema.org">https://schema.org</a>&quot;,<br> &quot;@type&quot;: &quot;Article&quot;,<br> &quot;headline&quot;: &quot;Your Article Title&quot;,<br> &quot;author&quot;: {<br> &quot;@type&quot;: &quot;Person&quot;,<br><br> &quot;name&quot;: &quot;Author Name&quot;<br> },<br><br> &quot;datePublished&quot;: &quot;2026-01-15&quot;,<br><br> &quot;dateModified&quot;: &quot;2026-03-20&quot;<br> }<br><br>

FAQ schema — Great for getting expanded SERP snippets:

<br><br> {<br><br> &quot;@context&quot;: &quot;<a href="https://schema.org">https://schema.org</a>&quot;,<br> &quot;@type&quot;: &quot;FAQPage&quot;,<br> &quot;mainEntity&quot;: [<br> {<br> &quot;@type&quot;: &quot;Question&quot;,<br> &quot;name&quot;: &quot;What is technical SEO?&quot;,<br> &quot;acceptedAnswer&quot;: {<br><br> &quot;@type&quot;: &quot;Answer&quot;,<br> &quot;text&quot;: &quot;Technical SEO covers all optimizations that help search<br><br> engines crawl, index, and rank your website efficiently.&quot;<br><br> }<br> }<br><br> ]<br><br> }<br>


  1. URL Structure & Internal Linking

Clean URLs matter for both crawlability and UX:

✅ /blog/technical-seo-checklist/

❌ /index.php?p=123&cat=4

❌ /blog/technical-seo-checklist-2026-updated-version-final/

Internal linking rules for developers:

  • Every important page should be reachable within 3 clicks from the homepage
  • Use descriptive anchor text — avoid "click here"
  • Fix orphan pages (pages with zero internal links)

# Quick orphan page check with Python
import requests

from bs4 import BeautifulSoup

from urllib.parse import urljoin

def get_internal_links(url, base):
r = requests.get(url)

soup = BeautifulSoup(r.text, 'html.parser')

links = set()

for a in soup.find_all('a', href=True):
href = urljoin(base, a['href'])

if href.startswith(base):

links.add(href.split('?')[0].rstrip('/'))

return links


  1. hreflang for Multilingual Sites

If your site serves multiple languages or regions:

Common mistakes:

  • Missing x-default
  • Hreflang pointing to non-canonical URLs
  • Inconsistent implementation (HTML vs sitemap vs HTTP headers)

  1. Rendering & JavaScript SEO

Googlebot can execute JavaScript, but it's resource-intensive and may be
delayed. Rules of thumb:

  • Critical content → server-side render or static HTML
  • Dynamic UI → client-side is fine
  • Internal links in JS → ensure they're crawlable (real tags)

Test how Google sees your page:

# Fetch as Googlebot via GSC, or use curl:

curl -A "Mozilla/5.0 (compatible; Googlebot/2.1;

+http://www.google.com/bot.html)" https://example.com/your-page/


Tools Referenced


If you found this useful, drop a ❤️ . Happy to answer questions in the
comments.

Top comments (0)