Your platformNext.js

SEO for Next.js sites, from the changes we actually ship.

Next.js gives you good bones. These are the changes we ship most on Next.js marketing sites, and the one problem that hides a page from AI.

Sep to Nov 2026Every change we shipped to Next.js sites in that time, sorted by kind.

See a Next.js page the way AI reads it.

Switch readers. Googlebot runs JavaScript, but it doesn’t click. OpenAI, Anthropic and Perplexity don’t say their crawlers run it, and published tests find GPTBot, ClaudeBot and PerplexityBot read only the HTML the server sends. So anything that only loads in the browser can be missing for them.

example.com/pricing · an example page

ExampleCo pricing

Plans for teams of every size. Start free, and upgrade when you need more seats.

Plans

$0Free
$29Team
$79Business
Plan cardsFetched in the browser. GPTBot can miss the prices.

Questions

Is there a free plan? Yes, for up to 3 people.

Can I cancel any time? Yes, from Settings.

FAQ answersLoad on click. The answers AI would quote are missing.

The fix: render the plans and the FAQ answers on the server.See the fix

The changes we ship most

Share of the changes we shipped to Next.js sites

  1. 1

    Rewrite pages to answer what buyers ask

    Retitle and rewrite a page around the question people search and ask AI, so it can be quoted.

  2. 2

    New guides and use-case pages

    An in-depth page for a question the site had no answer to.

  3. 3

    Fix prices, facts and claims

    AI repeats what your pages say. A wrong price or an old claim gets quoted back to buyers.

  4. 4

    Internal links

    Links from pages Google already keeps to the pages that need the help.

  5. 5

    Technical fixes

    Schema, canonical tags, sitemaps with real dates, redirects and broken links.

  6. 6

    Comparison and alternatives pages

    “Alternatives” and “vs” pages for the moment a buyer picks between you and a rival.

  7. 7

    Free tools

    Calculators and generators people use, link to, and AI points to.

  8. 8

    Remove pages and copy that hurt

    Near copies, leftover notes and claims nobody can back up.

  9. 9

    Page speed and layout

    Lighter pages that don’t jump around while they load.

  10. 10

    Everything else

    One-off fixes that don’t fit a group.

From every change we shipped to Next.js sites, September to November 2026. Shares are rounded.

What the fix looks like

Fetch the plans and the answers in a server component, so they are in the HTML every reader gets. Put each answer in a details element: people click to open it, and crawlers read it either way.

This is the kind of change we ship to your site. We check it before it goes live.

app/pricing/page.tsx

// A server component: the plans and answers are in the HTML.
// Before, PlanCards fetched the plans in a useEffect,
// and each answer loaded when someone opened it.
import { getPlans, getFaq } from '@/lib/pricing'
import { PlanCards } from './plan-cards'

export default async function Pricing() {
  const [plans, faq] = await Promise.all([getPlans(), getFaq()])
  return (
    <>
      <PlanCards plans={plans} />
      {faq.map((q) => (
        <details key={q.id}>
          <summary>{q.question}</summary>
          <p>{q.answer}</p>
        </details>
      ))}
    </>
  )
}

On Next.js? We ship these for you.

Give us access to your site or CMS. Real changes ship every day, and we check each one before it goes live.

Get started