SEO has a reputation for being mysterious. It isn't. Most of it is engineering work you'd want to do anyway.
Here's what matters.
Title and description: get these right first
Every page needs a unique, descriptive title and meta description. In Next.js App Router:
export const metadata: Metadata = {
title: 'Your Page Title',
description: 'A clear 155-character description of what this page is about.',
}
No tricks. Just accurate descriptions of what the page contains.
Open Graph for social sharing
When someone shares your URL, the platform reads Open Graph tags to generate the preview card.
openGraph: {
title: 'Your Page Title',
description: 'Description here',
type: 'article',
url: 'https://yoursite.com/page',
}
Structured data for articles
Blog posts benefit from Article schema. It helps Google understand your content and can enable rich results.
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: post.title,
datePublished: post.date,
author: { '@type': 'Person', name: post.author },
}
Sitemap and robots.txt
Next.js App Router handles both with simple TypeScript files. Static export makes them available at /sitemap.xml and /robots.txt.
Core Web Vitals: the engineering part
Google uses Core Web Vitals as a ranking signal. The three metrics:
- LCP (Largest Contentful Paint) — how fast the main content loads
- FID (First Input Delay) — how responsive the page is to interaction
- CLS (Cumulative Layout Shift) — how stable the layout is while loading
Static sites on a CDN like Cloudflare Pages pass these with minimal effort. Avoid large JavaScript bundles, always specify image dimensions, don't inject content above the fold after load.
The honest summary
Technical SEO is mostly: fast pages, correct metadata, good structure, and real content. Do those four things and you're ahead of most sites.