Most Next.js sites that don't rank aren't missing a secret trick. They're missing basics the framework already gives you: a unique title per page, one canonical URL, a sitemap with honest dates, and content that's actually in the HTML. This is the checklist I run on every App Router site, including this one. Each item comes with code you can copy. Short version: set metadataBase , give every page its own title and description, pick one canonical host, generate sitemap.ts and robots...