Next.js sites

Connect a site built with Next.js, so approved titles, descriptions, llms.txt and markup show without a deploy.

What it does

For a site built with Next.js (App Router, version 15 or newer), the @gralus/next package reads what you approve in Gralus when pages render: titles and descriptions for each page, llms.txt, AI crawler access in robots.txt, and LocalBusiness markup. A change shows within a minute (Gralus asks the site to refresh), with no new deploy of the site, and Undo works the same way. If Gralus can't be reached, the site keeps its own titles and files.

Set it up

Settings → Next.js site → Make the site key. No server access is needed, only the site's code and its environment settings. Whoever builds the site runs two commands in the project's folder: the npm install line shown on that page, then npx gralus-next init, which adds the Gralus route, llms.txt, robots.txt and the business details markup, and reads every page's title and description through Gralus (run it with --dry-run to see the changes first; running it again changes nothing). They add GRALUS_SITE_ID and GRALUS_SITE_KEY to the site's environment (Vercel or Netlify settings, or .env) and deploy once. Then click Test connection.

Send the steps to your developer emails these instructions with the site id filled in. The key is never emailed: give it to them yourself.

With WordPress too

Some sites run WordPress for a blog next to a Next.js app. Connect both: articles, landing pages and fixes to WordPress pages go to WordPress; titles and descriptions of the other pages, llms.txt, AI crawler access and LocalBusiness markup go to the Next.js app.

What it can't change

Text written into the site's code (a heading, a paragraph) stays a task for whoever builds the site. Articles and landing pages still need WordPress for now.

Still stuck? Write to support.