generateMetadata & metadataBase
Confirms each route exports metadata or generateMetadata, and that metadataBase is set so Open Graph URLs resolve absolutely.
App Router 13+ · Pages Router 12+
Orino reads your Next.js source the way a crawler can't — resolving metadata exports, route handlers, and static-params before it ever touches the network. Both the App Router and the Pages Router are first-class.
$npx @bynaree/orino audit --framework nextjs-app-routerHow Orino detects it
Auto-detected from app/layout.tsx (App Router) or pages/_app and pages/index (Pages Router). When both exist, the App Router takes priority.
Confirms each route exports metadata or generateMetadata, and that metadataBase is set so Open Graph URLs resolve absolutely.
Checks for app/robots.ts and app/sitemap.ts route handlers, and validates the URLs they emit.
Flags dynamic segments that ship without generateStaticParams, which leaves pages uncrawlable at build time.
Verifies pages render a <Head> with title and description rather than relying on a bare _document.
Detects getStaticPaths, getStaticProps, and getServerSideProps to map which routes pre-render versus render on the client.
Catches pages gated behind 'use client' or client-side rendering that return empty HTML to crawlers and AI engines.
Full check reference and fixes in the framework documentation.
No account. No AI guesswork. Just the SEO and GEO issues that decide whether you rank — and whether AI engines quote you.
$npx @bynaree/orino audit