The most common Next.js SEO regression is a client-only page that ships with an empty <head> because a developer moved logic out of generateMetadata() into a client component. Lighthouse still passes; Googlebot sees a blank page.
What's different about Next.js
The most common Next.js SEO regression is a client-only page that ships with an empty <head> because a developer moved logic out of generateMetadata() into a client component. Lighthouse still passes; Googlebot sees a blank page.
Signals to watch on Next.js
Missing <title> or description on pages that previously had them
Canonical URL pointing to localhost after a bad env-var deploy
robots meta flipping to noindex on the App Router root layout
How Lemwatch surfaces it
We fetch each monitored URL with a real bot user-agent, diff the rendered <head>, and alert the moment a title, description, canonical, or robots directive changes.
What we check for seo monitoring
Title & meta description drift alerts (catches accidental deploys that strip them)
Sitemap health — 404s inside sitemap.xml, stale lastmod, oversized files
Robots.txt & noindex drift (the #1 way a launch tanks its own SEO)
Structured-data validation — schema.org type coverage tracked over time
Other ways Next.js sites break
Uptime, Core Web Vitals, and build-output monitoring for Next.js sites.
Common failure modes
ISR revalidation stuck on stale content
Edge runtime cold-start spikes after deploy
404s from missing dynamic route params
Image Optimization API throttling under traffic bursts