// the find
garmeeh/next-seo
Next SEO is a plug in that makes managing your SEO easier in Next.js projects.
next-seo generates JSON-LD structured data (schema.org) as React components for Next.js. It covers 25+ schema types — Article, Product, Recipe, FAQ, LocalBusiness, and more — with full TypeScript types. As of v7 it no longer manages meta tags at all; that's been delegated to Next.js's built-in generateMetadata.
TypeScript types for schema.org props mean you get compile-time feedback when you mis-type a date format or pass an object where a string is expected — catching bad structured data before Google does. The coverage is genuinely wide: VacationRental, MerchantReturnPolicy, DiscussionForum, Quiz — obscure types most competing libraries skip. Both App Router and Pages Router are supported, with separate entry points, and the library clearly tracks Next.js's own evolution rather than fighting it. Playwright e2e tests verify actual rendered script tag output, not just snapshots — reasonable confidence the JSON-LD is structurally correct.
The name is now misleading: this is a JSON-LD library, not an SEO library. If you install it expecting it to handle canonical URLs, og:image, or robots meta, you'll hit a wall at v7. The README buries a sponsor ad ('Outrank') at the very top before any description of the library — that's a trust signal problem for a library people put in production. No runtime validation: you can pass a ratingValue as a string, omit a required field Google actually enforces, and it will happily render invalid structured data with zero warnings. The App Router and Pages Router import split (next-seo vs next-seo/pages) is awkward and easy to get wrong silently — wrong import, no error, just subtly different behavior.