Technical SEO determines whether search engines can crawl, index, and rank your pages. With Google's 2026 algorithm updates, Core Web Vitals signals carry more weight than ever. This checklist covers the items that move rankings in practice.
Crawlability and indexing
- robots.txt: Verify it's not blocking important pages or assets (CSS, JS). Test at
yourdomain.com/robots.txt. - XML sitemap: Submit to Google Search Console. Include only canonical, indexable URLs. Exclude paginated pages unless they're truly unique content.
- Canonical tags: Every page needs
<link rel='canonical'>. Pagination: use?page=Nwith canonical pointing to itself, not page 1. - noindex audit: Check for accidental
noindexon production pages via Search Console Coverage report.
Core Web Vitals
Google uses field data (Chrome User Experience Report) for ranking. Lab data from Lighthouse doesn't directly affect ranking but correlates strongly. Target:
- LCP (Largest Contentful Paint): under 2.5s
- INP (Interaction to Next Paint): under 200ms
- CLS (Cumulative Layout Shift): under 0.1
See our Core Web Vitals 2026 guide for fixes for each metric.
Structured data (JSON-LD)
Structured data enables rich results (sitelinks, FAQs, breadcrumbs, ratings). Use JSON-LD in a <script type='application/ld+json'> tag, not microdata.
- Article: For blog posts —
datePublished,dateModified,author - BreadcrumbList: For navigation hierarchy
- WebSite: Enables sitelinks search box
- Product: For e-commerce — price, availability, reviews
Validate with Google's Rich Results Test before deploying.
hreflang for multilingual sites
For sites with multiple language versions, hreflang tags prevent duplicate content penalties and route users to the correct locale:
<link rel="alternate" hreflang="ko" href="https://example.com/ko/page" />
- Include an
x-defaultfallback pointing to your default language - Reciprocal: if page A links to page B, page B must link back to page A
- Use canonical + hreflang together correctly — common mistake to mix them up
URL structure
- Use hyphens, not underscores:
/web-performancenot/web_performance - Keep URLs short and descriptive. Avoid query strings in URLs for content pages.
- Consistent trailing slash: pick one and 301-redirect the other
- HTTPS everywhere — HTTP is a ranking penalty
Meta tags
- Title tag: 50–60 characters. Primary keyword near the front. Unique per page.
- Meta description: 120–155 characters. Not a ranking factor but affects click-through rate.
- Open Graph:
og:title,og:description,og:image(1200×630px minimum). Required for social sharing.
Page speed
- Enable GZIP/Brotli compression on your server
- Set long cache headers for static assets (
Cache-Control: max-age=31536000, immutable) - Use a CDN for static assets — reduces latency for global users
- Preload LCP image:
<link rel="preload" as="image" href="hero.webp" />
Mobile-first indexing
Google indexes the mobile version of your site. Verify in Search Console that mobile usability has no errors. Ensure:
- Responsive design (not separate m. subdomain)
- Tap targets are at least 48×48px with 8px spacing
- Font size is legible without zooming (16px base)
Internal linking
- Link to important pages from your homepage and hub pages
- Use descriptive anchor text — avoid "click here" or "read more"
- Fix broken internal links (404s) — use a crawler like Screaming Frog
- Orphaned pages (no internal links) rank poorly — connect them
Image SEO
- Descriptive filenames:
product-red-sneaker-size-10.webpnotIMG_4821.jpg alttext: describes the image for screen readers and search. Don't stuff keywords.- Use srcset for responsive images so search engines understand you have size variants
Monitoring and measurement
- Google Search Console: coverage, performance, Core Web Vitals field data
- Google Analytics 4: organic traffic trends, landing page performance
- Monthly: run Lighthouse on key pages, check for regressions
- Set up alerts for 404 spikes and crawl errors