Skip to content
SEO

Technical SEO 2026: Complete Checklist with 47 Verification Points

Master the technical fundamentals that separate ranking sites from invisible ones. Core Web Vitals, indexing, and crawlability covered.

Technical SEO 2026: Complete Checklist with 47 Verification Points
January 15, 202618 min readTiago Silva Dal Bosco

Technical SEO remains the invisible foundation that supports everything else. Without it, your excellent content, powerful backlinks and perfect keyword strategy simply don't work — Google can't even read your site properly.

In 2026, with Google Search Generative Experience (SGE) and AI Overviews dominating the SERPs, technical SEO has gained a new layer of complexity: structuring data so LLMs can understand and cite your content.


📋 Quick Index

  1. Crawlability and Indexing
  2. Core Web Vitals and Performance
  3. Site Architecture and URLs
  4. Schema Markup and Structured Data
  5. Mobile-First and User Experience
  6. Security and HTTPS
  7. Internationalization and hreflang
  8. Monitoring and Alerts

1. Crawlability and Indexing

1.1 Optimized Robots.txt

User-agent: *
Allow: /

# Block admin areas
Disallow: /admin/
Disallow: /api/
Disallow: /_next/
Disallow: /*.json$

# Sitemap
Sitemap: https://www.yoursite.com/sitemap.xml

Checklist:

Does not accidentally block important pages
Points to the correct sitemap.xml
Allows CSS/JS required for rendering
Test in Google Search Console > Robots.txt Tester

1.2 Dynamic and Complete Sitemap.xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.yoursite.com/</loc>
    <lastmod>2026-01-15</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.yoursite.com/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.yoursite.com/en/"/>
  </url>
</urlset>

Checklist:

Includes all canonical URLs (no duplicates)
Accurate <lastmod> in ISO 8601 format
<xhtml:link hreflang> for each language
<image:image> for posts with featured images
Submitted in GSC and Bing Webmaster Tools
Automatically updated on publish/edit

1.3 Meta Robots and Canonical

<!-- On EVERY page -->
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1">
<link rel="canonical" href="https://www.yoursite.com/canonical-page/">

<!-- For pages that should NOT be indexed -->
<meta name="robots" content="noindex, follow">

Checklist:

Self-referencing canonical on every page
Canonical points to correct HTTPS/www version
UTM parameters and session IDs don't create different canonical URLs
Paginated pages use rel="next/prev" + own canonical

1.4 HTTP Status and Redirects

200 OK for all active pages
301 for permanent migrations (HTTP→HTTPS, www→non-www, URL change)
404/410 for truly removed pages (soft 404 = problem)
No redirect chains (A→B→C = bad; A→C = good)
No redirect loops

1.5 Crawl Budget

Block in robots.txt: /search/, /filter/, /?sort=, /?page= (facet parameters)
Consolidate thin/duplicate content
Fix internal 404s (broken links waste budget)
Prioritize high-conversion pages in sitemap (priority 1.0)

2. Core Web Vitals and Performance

2.1 LCP (Largest Contentful Paint) < 2.5s

<!-- Preload LCP image -->
<link rel="preload" as="image" href="/hero-image.webp" type="image/webp">
<!-- OR for font -->
<link rel="preload" as="font" href="/fonts/inter-var.woff2" type="font/woff2" crossorigin>

Optimizations:

LCP image in WebP/AVIF with defined width/height
Preload LCP resource (image or font)
Server-side rendering or static generation (Next.js generateStaticParams)
CDN with edge caching (Vercel, Cloudflare, Netlify)
Eliminate render-blocking resources (critical CSS inline, JS defer/async)

2.2 INP (Interaction to Next Paint) < 200ms

// Next.js: useTransition for non-urgent updates
import { useTransition } from 'react';

function SearchResults() {
  const [isPending, startTransition] = useTransition();
  const [query, setQuery] = useState('');

  function handleChange(e) {
    const value = e.target.value;
    setQuery(value); // Urgent: input response
    startTransition(() => {
 setFilteredResults(search(value)); // Non-urgent: filter
    });
  }
}

Optimizations:

Code splitting by route (Next.js automatic)
Lazy load heavy components (dynamic() with ssr: false)
Web Workers for heavy computation
Debounce/throttle on search inputs
useTransition for non-critical UI updates

2.3 CLS (Cumulative Layout Shift) < 0.1

/* Always reserve space for images/iframes */
img, iframe, video {
  aspect-ratio: 16 / 9; /* or explicit width/height */
}

/* Fonts: avoid FOIT/FOUT */
@font-face {
  font-family: 'Inter';
  font-display: swap;
  src: url('/fonts/inter-var.woff2') format('woff2');
}

Optimizations:

width/height or aspect-ratio on ALL media
font-display: swap + preload of main font
Reserve space for dynamic ads/embeds
Avoid inserting content above existing content via JS

2.4 Complementary Metrics

TTFB < 800ms (Time to First Byte)
FCP < 1.8s (First Contentful Paint)
TBT < 200ms (Total Blocking Time)
Speed Index < 3.4s

3. Site Architecture and URLs

3.1 Clean URL Structure

✅ https://www.yoursite.com/blog/seo-technical-2026
✅ https://www.yoursite.com/services/technical-seo
✅ https://www.yoursite.com/category/seo/page/2

❌ https://www.yoursite.com/blog/post?id=123&cat=seo&utm_source=...
❌ https://www.yoursite.com/SEO-TECHNICAL-2026 (case sensitive)

Rules:

Lowercase only
Hyphens as separators (not underscores)
No unnecessary parameters in canonical URLs
Consistent trailing slash (pick one: with or without, redirect the other)
Max depth 3 levels (domain.com/level1/level2/level3)

3.2 Navigation and Internal Linking

Main menu links to pillar pages (home, services, blog, contact)
Breadcrumbs with BreadcrumbList schema on all deep pages
Contextual links in body copy (not just menu/footer)
Orphan pages = 0 (all reachable within ≤3 clicks from home)
Descriptive anchor text (avoid "click here")

3.3 Pagination and Facets

<!-- Pagination -->
<link rel="prev" href="https://site.com/blog/page/1">
<link rel="next" href="https://site.com/blog/page/3">
<nav aria-label="Pagination">
  <a href="/blog/page/1">1</a>
  <span aria-current="page">2</span>
  <a href="/blog/page/3">3</a>
</nav>

4. Schema Markup and Structured Data

4.1 Required Schemas by Page Type

PageRequired Schemas
HomeWebSite, Organization, SearchAction
Blog PostArticle/BlogPosting, BreadcrumbList, FAQPage (if any), Author
Service PageService, LocalBusiness (if local), FAQPage
Category/Tag PageCollectionPage, BreadcrumbList
Author PagePerson, ProfilePage
FAQFAQPage
ProductProduct, Offer, AggregateRating
EventEvent
4.2 Ready-to-Use Examples
Organization + WebSite (Home)
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://www.tsdigitais.com/#organization",
      "name": "TS Digitais",
      "url": "https://www.tsdigitais.com",
      "logo": "https://www.tsdigitais.com/logo.png",
      "sameAs": [
        "https://linkedin.com/company/tsdigitais",
        "https://instagram.com/tsdigitais"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://www.tsdigitais.com/#website",
      "url": "https://www.tsdigitais.com",
      "name": "TS Digitais",
      "publisher": { "@id": "https://www.tsdigitais.com/#organization" },
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://www.tsdigitais.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
  ]
}

BlogPosting + BreadcrumbList + FAQPage

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BlogPosting",
      "@id": "https://www.tsdigitais.com/blog/seo-technical-2026#blogposting",
      "headline": "Technical SEO 2026: Complete Checklist with 47 Points",
      "description": "Definitive technical SEO checklist for 2026...",
      "image": "https://www.tsdigitais.com/images/blog/seo-tecnico-cover.jpg",
      "datePublished": "2026-01-15T09:00:00-03:00",
      "dateModified": "2026-01-15T14:30:00-03:00",
      "author": {
        "@type": "Person",
        "name": "Tiago Silva Dal Bosco",
        "url": "https://www.tsdigitais.com",
        "jobTitle": "SEO Specialist"
      },
      "publisher": { "@id": "https://www.tsdigitais.com/#organization" },
      "mainEntityOfPage": { "@id": "https://www.tsdigitais.com/blog/seo-technical-2026#webpage" }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://www.tsdigitais.com/blog/seo-technical-2026#breadcrumb",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.tsdigitais.com/" },
        { "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://www.tsdigitais.com/blog" },
        { "@type": "ListItem", "position": 3, "name": "Technical SEO 2026", "item": "https://www.tsdigitais.com/blog/seo-technical-2026" }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://www.tsdigitais.com/blog/seo-technical-2026#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What is the difference between technical SEO and on-page SEO?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Technical SEO focuses on infrastructure (crawling, indexing, performance), while on-page focuses on content (keywords, headings, internal links)."
          }
        }
      ]
    }
  ]
}

4.3 Validation and Testing

Rich Results Test (Google) - test all schemas
Schema Markup Validator (schema.org) - syntactic validation
GSC > Enhancements - monitor schema errors in production
Don't use duplicate or conflicting schemas on the same page

5. Mobile-First and User Experience

5.1 Viewport and Meta Tags

<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="theme-color" content="#0f172a">

5.2 Touch Targets and Usability

Minimum 48x48px for touch buttons/links
Minimum 8px spacing between clickable elements
No hover-only critical functionality (mobile has no hover)
Forms with correct inputmode, autocomplete, type

5.3 Interstitials and Pop-ups

No intrusive interstitial on mobile (penalized by Google)
Cookie banner doesn't cover main content
Age gate / login modals only if legally required

6. Security and HTTPS

6.1 Certificates and Headers

Valid TLS 1.2/1.3 (Let's Encrypt or paid)
HSTS with max-age=31536000; includeSubDomains; preload
Restrictive CSP (Content Security Policy)
X-Frame-Options: DENY or SAMEORIGIN
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Restrictive Permissions-Policy (camera, microphone, geolocation)

6.2 Mixed Content

Zero HTTP resources on HTTPS pages (images, scripts, fonts, CSS)
Upgrade-Insecure-Requests in CSP

7. Internationalization and hreflang

7.1 Correct Implementation

<!-- On EVERY page (including home) -->
<link rel="alternate" hreflang="pt-BR" href="https://www.yoursite.com/">
<link rel="alternate" hreflang="en" href="https://www.yoursite.com/en/">
<link rel="alternate" hreflang="x-default" href="https://www.yoursite.com/">

<!-- In sitemap.xml -->
<url>
  <loc>https://www.yoursite.com/</loc>
  <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.yoursite.com/"/>
  <xhtml:link rel="alternate" hreflang="en" href="https://www.yoursite.com/en/"/>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://www.yoursite.com/"/>
</url>

7.2 hreflang Checklist

Self-referencing (each page lists itself)
Bidirectional (pt-BR links to en, en links to pt-BR)
x-default points to preferred/generic version
Correct ISO codes (pt-BR, en-US, es-ES, not pt, en, es)
Absolute URLs with HTTPS protocol

8. Monitoring and Alerts

8.1 Essential Tools

ToolFrequencyWhat to Monitor
Google Search ConsoleDailyCrawl errors, indexing, Core Web Vitals, manual actions
Bing Webmaster ToolsWeeklyBing indexing, crawl errors
PageSpeed Insights APIWeeklyCore Web Vitals (lab + field)
Ahrefs/SEMrush Site AuditMonthly100+ technical checks
Screaming FrogMonthly/BiweeklyFull crawl: redirects, meta, hreflang, schema
UptimeRobot / Better StackContinuousUptime, SSL expiry, DNS changes
8.2 Critical Alerts (Set Up Webhook/Email)
Drop > 20% impressions/clicks in GSC (7 days)
Core Web Vitals "Poor" on > 10% URLs
5xx errors > 1% of requests
SSL certificate expires in < 30 days
Manual action in GSC
Ranking drop for target keywords (top 10 → outside top 20)
Sitemap not processed in GSC
Robots.txt unreachable or changed
📥 Download the PDF Checklist
Want this checklist as an interactive PDF and a Notion tracking template?
Message TS Digitais on WhatsApp to get it for free.
FAQ
What is the difference between technical SEO and on-page SEO?
Technical SEO focuses on site infrastructure: crawling, indexing, performance, architecture, and security. On-page SEO focuses on visible content: keywords, headings, internal links, meta tags, and schema. Both are necessary: technical SEO is the foundation, and on-page SEO is the house.
How often should I conduct a full technical audit?
Monthly for active sites (blogs, e-commerce). Quarterly for static institutional sites. Immediately after migrations, redesigns, or CMS changes.
My site uses React/Next.js client-side rendering. Does it hurt SEO?
No, if configured properly. Use Next.js App Router with Server Components (standard in 2026). Generate HTML on the server (generateStaticParams, fetch with cache: 'force-cache'). Avoid unnecessary use client. Test using "View Page Source" — the content should be in the HTML.
How do I know if my schema markup is working?
Test using Rich Results Test (Google) and Schema Validator (schema.org). In GSC, go to Enhancements, where errors and warnings are displayed by schema type (Article, Product, FAQ, etc.).
Is it worth investing in AMP in 2026?
No. Google has discontinued the AMP badge in SERPs and no longer prioritizes it. Focus on Core Web Vitals and lightweight semantic HTML: better results with less complexity.
Next Steps
Run Screaming Frog on your site today (Spider mode + List Mode with sitemap)
Fix all 4xx/5xx errors and redirect chains
Implement Article + FAQ + Breadcrumb schema on the blog
Set up alerts in GSC + UptimeRobot
Schedule monthly audit on the calendar
Article written by Tiago Silva Dal Bosco, founder of TS Digitais. Specialist in technical SEO, web performance, and Next.js architecture.
#Technical SEO#Core Web Vitals#Schema Markup#Indexing#Checklist
Share
TS

Tiago Silva Dal Bosco

Founder & SEO Specialist

Read more

View all
Technical SEO 2026: Complete Checklist with 47 Points | TS Digitais