SEO guides that give you the fix
Meta tags, Core Web Vitals, security headers, structured data — explained plainly, with the exact code to fix each one. No fluff.
We Measured 4,392 of the Web's Top Sites. One in Five Is Slow.
We recorded the server response time (TTFB) of 4,392 of the most-linked websites on the internet. The median looked fine — then we hit the tail.
Read guideHow to Fix Duplicate Content (Canonical, 301, noindex)
Duplicate content splits ranking signals and wastes crawl budget. Learn the three fixes — canonical tags, 301 redirects, and noindex — and when to use each.
What Is Crawl Budget and How to Optimize It
Crawl budget is how many pages Google will crawl on your site. Wasting it means new content gets indexed slowly. Learn what affects it and how to optimize.
How to Fix "Image Elements Do Not Have Explicit Width and Height"
This Lighthouse warning is a top cause of layout shift (CLS). Learn why explicit image dimensions matter and how to add them correctly in HTML, CSS, and Next.js.
What Is TTFB (Time to First Byte) and How to Improve It
TTFB measures how fast your server responds. A slow TTFB delays everything else and hurts Core Web Vitals. Learn what a good TTFB is and how to fix a slow one.
How to Fix Mixed Content Warnings on HTTPS
Mixed content breaks the padlock, blocks resources, and undermines trust signals. Learn what causes it and how to fix every HTTP resource on an HTTPS page.
noindex vs nofollow vs Disallow: What's the Difference?
These three directives are constantly confused — and mixing them up can accidentally hide pages from Google or leak private ones. Here is exactly what each does.
How to Write Title Tags for SEO (Format, Length & Examples)
The title tag is your most-read line of copy and strongest on-page signal. The formula, the real pixel-width length limit, good vs bad examples, and the five mistakes that make Google rewrite your title.
Redirect Chains: What They Are and How to Fix Them
A → B → C redirects add latency, waste crawl budget, and leak ranking signal. A visual guide to spotting chains and collapsing them to a single direct hop.
Which Schema Type Unlocks Which Rich Result
A visual map: Product unlocks price and stars, Review unlocks star snippets, BreadcrumbList unlocks the breadcrumb trail, and more — plus why eligible is not guaranteed.
Crawl, Render, Index: How Googlebot Actually Sees Your Page
A diagram of the three stages — and the three failure points. robots.txt blocks crawl, JS content appears at render, noindex drops at index. Which stage failed = which fix.
How rel=canonical Actually Works (and How It Backfires)
A visual guide to canonical consolidation: point duplicates at one preferred URL — and see how a wrong canonical quietly deindexes the wrong page.
How to Remove a Page From Google: 410 vs 301 vs noindex
A visual decision tree: 301 if the content moved, 410/404 if it is gone for good, noindex to keep it live but hidden — and why robots.txt is never the answer.
Fix "Text content does not match server-rendered HTML"
A React/Next hydration mismatch — usually harmless for SEO, unless the server renders an empty state. Causes, fixes, and what Google actually indexes.
Astro Sitemap Not Working? Here Is the Fix
If @astrojs/sitemap outputs an empty or missing file, the cause is almost always a missing site option in astro.config. The fix, plus why dev shows nothing.
How to Add Hreflang Tags in Nuxt (i18n Done Right)
@nuxtjs/i18n can emit hreflang and x-default for you — once baseUrl and each locale language are set. Config, the head helper, and the common gotchas.
How to Set a Canonical URL in Framer
Framer adds a self-canonical by default. When to override it (CMS duplicates, syndication), how to set a custom one, and the absolute-URL rule.
Fix "Either offers, review, or aggregateRating should be specified"
This Rich Results warning means your Product schema has no price, rating, or review. Add offers, aggregateRating, or review — with a copy-paste JSON-LD example.
Fix "Missing field image" in Structured Data
The Missing field warning means a required or recommended schema field is absent. Add image (and author, datePublished, price) with real values and re-test.
How to Fix "Indexed, though blocked by robots.txt"
robots.txt controls crawling, not indexing — so a blocked URL can still get indexed. Decide whether you want it indexed, then fix it the right (counterintuitive) way.
308 vs 301 Redirect: Which Should You Use for SEO?
For SEO they are equivalent — both permanent, both pass ranking signal. The difference is method preservation. When to use each, with a clear comparison table.
How to Fix Largest Contentful Paint (LCP)
LCP marks when the biggest element renders. Find the slow element, preload the hero image, fix TTFB and render-blocking resources to get under 2.5s.
How to Fix Cumulative Layout Shift (CLS)
CLS scores how much your page jumps while loading. Set image dimensions, reserve space for ads and fonts, and get under 0.1 at the 75th percentile.
What Is INP (Interaction to Next Paint) and How to Fix It
INP replaced FID in 2024 and is stricter. It measures full interaction latency across the visit. Break up long tasks and cut JavaScript to get under 200ms.
How to Fix "Duplicate Without User-Selected Canonical"
This GSC status means Google picked a canonical because you didn't. Add a self-referencing canonical, align sitemap and links, and reclaim the right URL.
How to Fix "Crawled — Currently Not Indexed" in Google Search Console
Crawled - currently not indexed means Google fetched your page but decided it was not worth indexing. Here's how to diagnose the cause and fix it.
"Discovered — Currently Not Indexed": Causes and How to Fix It
Discovered - currently not indexed means your URL is queued but not yet crawled. Here's why Google delays it and how to get it crawled and indexed.
How to Add a sitemap.xml in Next.js (App Router)
Next.js has no built-in sitemap. Add app/sitemap.ts with static and dynamic routes, correct lastModified, a robots.ts reference, and large-site splitting.
How to Set a Canonical URL in Next.js (App Router)
Set canonical URLs in the Next.js App Router the right way: metadataBase, self-referencing canonicals, and the inherited-layout gotcha that deindexes pages.
How to Fix "Missing Meta Description" — The #1 SEO Issue
Meta descriptions appear in Google search results. Missing them means Google picks random text from your page. Here's how to fix it in 2 minutes.
What Is a Good SEO Score? (And How to Improve Yours)
SEO scores range from 0-100. Learn what score ranges mean, which checks matter most, and the fastest ways to improve your score.
Structured Data (JSON-LD) Guide for Beginners
Structured data helps Google understand your content and show rich snippets. Copy-paste ready JSON-LD templates for every page type.
How to Improve Core Web Vitals: LCP, FID, CLS Explained
Core Web Vitals directly impact Google rankings. Learn what LCP, FID/INP, and CLS measure, what good scores look like, and how to fix each one.
Security Headers Every Website Needs (HSTS, CSP, X-Frame)
Security headers protect your site and improve trust signals. Learn which headers to add, how to configure them for Nginx, Apache, Next.js, and Vercel.
Open Graph Meta Tags: The Complete Guide for Social Sharing
Control how your pages look when shared on Facebook, Twitter, LinkedIn. Learn all OG tags, ideal image sizes, and common mistakes to avoid.
How to Fix Render-Blocking Resources (CSS & JavaScript)
Render-blocking resources slow down your page load. Learn to defer scripts, async-load CSS, and use resource hints for faster pages.
robots.txt Guide: Control How Search Engines Crawl Your Site
A properly configured robots.txt saves crawl budget and prevents indexing of private pages. Templates for WordPress, Next.js, and static sites.
Image SEO: Alt Text, Lazy Loading, WebP — The Complete Checklist
Images can hurt or help your SEO. Learn to write good alt text, implement lazy loading, serve WebP/AVIF, and set proper dimensions.
Canonical URLs Explained: Prevent Duplicate Content Issues
Duplicate content confuses search engines. Learn what canonical URLs are, when to use them, and common mistakes that hurt your rankings.
Web Accessibility & SEO: 15 Checks That Improve Both
Accessibility and SEO overlap more than you think. Alt text, heading hierarchy, form labels, ARIA landmarks — fixes that help everyone.
XML Sitemap Guide: How to Create and Submit to Google
Sitemaps tell search engines which pages to crawl. Learn to generate sitemaps, submit to Google Search Console, and common pitfalls.
H1-H6 Heading Hierarchy: Why It Matters for SEO
Proper heading structure helps Google understand your content. Learn the rules: one H1, logical nesting, keyword placement, and common mistakes.
Free SEO Audit Tool 2026: Compare the Top 10
We compared 10 free SEO audit tools — Lighthouse, Semrush, Ahrefs, and more. See which tool gives the most checks, fix code, and accurate results.
SEO Checklist for Developers: 50 Essential Points
The complete technical SEO checklist for developers. Meta tags, performance, security headers, accessibility — 50 points with code examples.
E-E-A-T in SEO: What It Is and How to Improve
Google's E-E-A-T (Experience, Expertise, Authority, Trust) framework explained. Learn what signals matter and how to check them automatically.
Nginx Security Headers: Complete Configuration Guide
Copy-paste nginx configuration for all 7 security headers: HSTS, CSP, X-Frame-Options, and more. Get an A+ security grade.
How to Get Lighthouse Score 100: Step by Step
We scored 100/96/100/100 on Lighthouse. Here's exactly what we did — performance, accessibility, best practices, and SEO.
Meta Description Length in 2026: Pixel Width Guide
The real limit is pixels, not characters. Learn the exact desktop (920px) and mobile (680px) limits and how to check them.
Website Security Check: How to Grade Your Headers
Get a security grade from A+ to F. Learn which 7 headers matter, how to add them on nginx/Apache/Next.js, and why they matter.
Technical SEO Audit: The Complete 2026 Guide
The 10-step technical SEO audit: crawlability, indexability, site architecture, page speed, mobile, HTTPS, structured data, internal links, redirects, and international SEO.
How to Add JSON-LD Structured Data (With Examples)
Copy-paste JSON-LD templates for WebPage, Article, FAQ, Product, and Organization. Enable rich results in Google search.
Hreflang Tags: Complete Guide for Multi-Language Sites
The 5 rules of hreflang: x-default, self-reference, reciprocal links, valid codes, absolute URLs. With implementation examples.
How to Fix Render-Blocking Resources in Next.js
Use Script component, dynamic imports, font optimization, and preconnect to eliminate render-blocking warnings in Next.js.
Open Graph Image Size and Best Practices 2026
1200x630px is the standard. Size requirements for Facebook, Twitter, LinkedIn, WhatsApp. Dynamic OG image generation with Next.js.
Free SEO Score Checker: Analyze Any Website
100+ checks across 7 categories. Copy-paste fix code for every issue. Security grade, E-E-A-T signals, tech stack detection. No signup.
Content Depth in SEO: Why Word Count Alone Isn't Enough
Content depth = topic breadth + structure + readability. Learn the 7 factors that matter more than word count for Google rankings.
Website Speed Optimization: 15 Proven Techniques
Server-side (compression, caching, CDN) + frontend (lazy load, WebP, defer JS) + content (fonts, DOM size, CLS) optimization techniques.
Keyword Cannibalization: How to Find and Fix It
When multiple pages target the same keyword, neither ranks well. Learn to detect with Google Search Console and fix with consolidation, canonical, or noindex.