SEO Best Practices in 2026: What Works, What's Dead
The SEO playbook has changed dramatically in the last 5 years. Old "tricks" don't work anymore — and worse, some of them now actively hurt your rankings. This guide covers what's current, what's been deprecated, and the technologies that matter today, with links to the canonical specifications and Google's own documentation.
The 2026 reality
There are now two kinds of SEO: traditional search engines (Google, Bing, DuckDuckGo) and answer engines (ChatGPT, Perplexity, Claude, Google's AI Overviews, Gemini). Most things that help one help the other, but the priorities are different. Both reward the same fundamentals: fast, well-structured, semantic, accessible, and trustworthy pages with real authors and real citations. They both penalize the same things: thin content, keyword stuffing, manipulative link schemes, and slow loading.
Current best practices
HTTPS everywhere with modern TLS
HTTPS has been a confirmed Google ranking signal since 2014 and is non-negotiable in 2026. Modern best practice:
- TLS 1.3 with HTTP/2 or HTTP/3 — see RFC 8446
- Free certs from Let's Encrypt
- Strict-Transport-Security header (HSTS) with a long
max-age - Eligible for the HSTS preload list for the strongest enforcement
HTTP/2 and HTTP/3
The protocols you serve over matter. HTTP/3 (RFC 9114) runs over QUIC instead of TCP, eliminating head-of-line blocking and reducing TTFB on real networks. HTTP/2 (RFC 9113) is the minimum acceptable in 2026. Cloudflare, Fastly, Vercel, Netlify, and most modern hosts give you both for free.
Core Web Vitals (LCP, INP, CLS)
Core Web Vitals are part of Google's page experience signal. The current three metrics:
- LCP (Largest Contentful Paint) — < 2.5s. Speed of largest visible element.
- INP (Interaction to Next Paint) — < 200ms. Replaced FID in March 2024.
- CLS (Cumulative Layout Shift) — < 0.1. How much the page jumps as it loads.
Use our PageSpeed tool to test all three.
Modern image formats: WebP and AVIF
Serve WebP (2010, universal browser support since 2020) or AVIF (2019, supported in all modern browsers as of 2023). Both are dramatically smaller than JPEG/PNG:
- WebP: 25-50% smaller than JPEG/PNG at equivalent quality
- AVIF: 40-70% smaller than JPEG/PNG
- Use the
<picture>tag with multiple<source>formats and a JPEG fallback
Test images with our Image Inspector.
Native lazy loading
The HTML loading="lazy" attribute
on <img> and <iframe> tags is supported in every modern
browser since 2020. Always include explicit width and height alongside
to prevent CLS.
JSON-LD structured data
JSON-LD is the only structured data format Google recommends in 2026. Microdata and RDFa are deprecated. Mark up your pages with the appropriate schema.org types: Article, FAQPage, HowTo, Product, Event, Organization. Test with our Schema Validator or Google's Rich Results Test.
Semantic HTML5
Use <main>, <header>, <footer>,
<nav>, <article>, <section> instead
of generic <div> wrappers. Search engines, AI engines, and screen readers
all use these to understand page structure.
MDN HTML element reference.
AI engine optimization (AEO)
The newest discipline. Three high-leverage moves:
- Publish an llms.txt — the new llmstxt.org standard, adopted by Anthropic, Mistral, FastAPI, and others
- Allow AI crawlers in robots.txt — GPTBot, PerplexityBot, ClaudeBot, Google-Extended
- Question-shaped headings + answer-shaped paragraphs — match how users query AI engines
Compression: Brotli, then Gzip
Brotli (RFC 7932)
compresses text content ~15-20% better than gzip. Cloudflare, Fastly, and most modern CDNs
enable it automatically. For your origin, configure both with br as the preferred encoding.
Cache-Control headers + edge caching
Set proper Cache-Control headers (MDN reference)
so CDNs can cache static assets at the edge. public, max-age=31536000, immutable
for hashed assets; shorter TTLs for HTML.
Mobile-first indexing
Google has been
mobile-first since 2020
— your mobile site is what gets indexed. Always include <meta name="viewport">
and serve the same content on mobile as desktop.
IndexNow for fast indexing
IndexNow is an open protocol (Bing + Yandex; ChatGPT-Bing uses Bing's index) that lets you ping search engines instantly when content changes. Drops indexing time from days to hours for participating engines.
Techniques that no longer work (or actively hurt)
❌ Meta keywords tag
<meta name="keywords"> has been ignored by Google since
2009
and was already abused into uselessness by 2002. It does nothing. Remove it.
❌ Microdata and RDFa for SEO
Both still exist as W3C standards, but Google recommends only JSON-LD now for structured data. If you have legacy Microdata, migrate to JSON-LD.
❌ AMP (Accelerated Mobile Pages) as a ranking advantage
Google removed AMP as a requirement for the Top Stories carousel in 2021 and the AMP project was effectively wound down by 2023. Modern Core Web Vitals achieve the same goal without the AMP HTML restrictions. Don't build new sites in AMP.
❌ Keyword stuffing
Repeating a target keyword 30 times in your content was a 2003 tactic. Google's algorithms have penalized this for a decade. Today, semantic search and embeddings mean Google understands the topic without exact keyword repetition. Write naturally for humans.
❌ Reciprocal links, link wheels, paid link schemes
"I link to you, you link to me" reciprocal schemes, link wheels, and paid links are explicitly violations of Google's spam policies and lead to manual actions. Article directories (which sold links) lost SEO value around 2012 when Google's Panda and Penguin updates rolled out.
❌ Doorway pages and content spinning
Generating dozens of near-duplicate pages targeting variants of the same keyword ("plumber chicago", "chicago plumber", "plumbers in chicago") is a Google spam policy violation. "Article spinning" — running content through a synonym-replacement tool — is the same problem and now trivially detected by AI-content classifiers.
❌ Frames, framesets, and noframes
<frame> and <frameset> were removed from HTML5 (2014).
They were already SEO-hostile because search engines couldn't crawl content inside them
properly. <iframe> is still valid for embedding specific external content
(videos, maps), but never structure your entire page in iframes.
❌ <font>, <center>, <marquee>, <blink>
All deprecated in HTML5. Browsers still render most of them but they signal old/auto-generated
HTML. <blink> doesn't render at all anymore.
Full MDN list of obsolete elements.
❌ Flash
Adobe ended Flash Player support December 31, 2020. No browser supports it. If you still have a Flash file, replace it with HTML5 video or canvas.
❌ Meta refresh redirects
<meta http-equiv="refresh"> still works but is bad for accessibility
(it interrupts screen readers) and worse for SEO (search engines treat it as a soft redirect
that may not pass authority). Use server-side 301 redirects instead.
❌ "Submit your site to search engines"
There's no longer a meaningful "submit URL" to Google. Modern indexing is automatic via discovery. Use Google Search Console for control and monitoring; use IndexNow to ping Bing and Yandex when something changes.
❌ noscript content for SEO
Google has executed JavaScript since 2014 — putting "this page requires JavaScript" content
in <noscript> tags hoping Googlebot reads it instead of the JS-rendered
content is a non-strategy. Either render server-side (SSR) or use static generation (SSG).
❌ Cloaking
Serving different content to Googlebot than to users (based on user-agent or IP) is explicit cloaking and triggers manual actions. (Note: serving optimized images to bots vs. users based on feature support is fine — that's content negotiation, not cloaking.)
❌ Hidden text and hidden links
Text colored the same as the background, display: none for keyword stuffing,
or 1-pixel-tall content. All
violate Google's policies.
❌ Exact-match domains for SEO
"BestPizzaInChicago.com" used to rank instantly for "best pizza in Chicago". Google's Exact Match Domain update (2012) removed that advantage. Brand authority and content quality determine ranking now, not the domain string.
❌ One-keyword-per-page targeting
Optimizing each page for a single exact-match keyword has been outdated since BERT (2019) and is fully obsolete with modern semantic search. Cover topics comprehensively; Google understands related concepts.
❌ Single-page apps with no server-rendering
Pure client-side React/Vue/Angular apps with no SSR or pre-rendering are SEO-hostile. Google can sometimes index them but unreliably. Use Next.js, Nuxt, Astro, Remix, or similar — frameworks that do SSR or static generation by default.
All the technologies and standards we reference
If you've heard a term but don't know what it does, here's the canonical reference:
Protocols and transport
- HTTP/3 (RFC 9114)
- HTTP/2 (RFC 9113)
- QUIC (RFC 9000) — the transport for HTTP/3
- TLS 1.3 (RFC 8446)
- Robots Exclusion Protocol (RFC 9309) — the spec for robots.txt
- sitemaps.org — XML sitemap protocol
- Brotli compression (RFC 7932)
- IndexNow protocol
Image and content formats
- WebP image format
- AVIF image format
- SVG (W3C)
- JSON-LD
- Schema.org vocabulary
- Open Graph Protocol (ogp.me)
- llms.txt standard
Google's official guidance
- Google SEO Starter Guide
- Google Spam Policies — what gets you penalized
- Structured data introduction
- Search Quality Rater Guidelines (PDF) — defines E-E-A-T
- Rich Results Test
- PageSpeed Insights
Performance
- Core Web Vitals — web.dev
- Largest Contentful Paint (LCP)
- Interaction to Next Paint (INP)
- Cumulative Layout Shift (CLS)
- Chrome UX Report (CrUX) — real-user data
AI engines and their bots
- OpenAI bots (GPTBot, ChatGPT-User, OAI-SearchBot)
- Anthropic crawlers (ClaudeBot, anthropic-ai)
- Perplexity bots (PerplexityBot, Perplexity-User)
- Google-Extended
- CCBot (Common Crawl)
- Applebot-Extended
Web standards and accessibility
What to actually do
Tomorrow morning, in priority order:
- Run our Scanner on your most-trafficked page. Fix every FAIL.
- Validate your structured data with our Schema Validator. Add JSON-LD if missing.
- Run PageSpeed. Get LCP under 2.5s and CLS under 0.1.
- Verify AI crawlers can reach your site with our Robots.txt Tester.
- Generate and publish an llms.txt.
- Audit anchor text with our Link Text Scanner — replace "click here" with descriptive text.
For deeper background on any of these, see our SEO & AEO Basics guide.