All frameworks

Next.js

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-router

How 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.

Next.js-specific checks

App Router

generateMetadata & metadataBase

Confirms each route exports metadata or generateMetadata, and that metadataBase is set so Open Graph URLs resolve absolutely.

App Router

robots.ts & sitemap.ts

Checks for app/robots.ts and app/sitemap.ts route handlers, and validates the URLs they emit.

App Router

generateStaticParams

Flags dynamic segments that ship without generateStaticParams, which leaves pages uncrawlable at build time.

Pages Router

next/head usage

Verifies pages render a <Head> with title and description rather than relying on a bare _document.

Pages Router

Data-fetching methods

Detects getStaticPaths, getStaticProps, and getServerSideProps to map which routes pre-render versus render on the client.

Both

Client-only page detection

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.

Audit your site in one command.

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