GEO for Next.js: how to get cited by ChatGPT and Perplexity
Search is shifting from ten blue links to a single cited answer. In Google's AI Overviews, roughly 83 percent of cited pages come from addresses that aren't even in the classic top 10. Being cited in ChatGPT, Perplexity and the rest wins visibility that no previous ranking captures. It's called GEO, generative engine optimization, and it is largely a technical topic. That is exactly where Next.js gives you leverage.
What GEO is, and why it isn't SEO 2.0
GEO is the practice of preparing content so answer engines adopt it into their generated answers and cite it as a source. The difference from classic SEO is fundamental: SEO fights for slots in a results list; GEO fights for the one statement the model builds into its answer.
A language model only adopts a claim if it can extract it unambiguously, attribute it to an entity and judge it trustworthy. Content that looks good to humans but is unstructured to machines simply gets passed over. Two pages with identical text can perform completely differently depending on how machine-readable they are delivered.
It's also telling where the citations come from: research shows a systematic preference in AI search for independent, earned sources over pure self-promotion. Third-party trust signals can raise the odds of being cited many times over. So GEO doesn't replace SEO, it extends it with unambiguity, structure and credibility.
The technical core: crawlers don't read JavaScript
The most important and most underestimated fact first: the major AI crawlers do not render JavaScript. OpenAI's GPTBot and OAI-SearchBot, ClaudeBot, PerplexityBot and others fetch the raw HTML and do not run client code.
How clear-cut this is shows in a Vercel analysis of more than 500 million GPTBot fetches: zero JavaScript execution. Even when the bot downloads JS files, it doesn't run them. Add tight time limits of often one to five seconds per page. The only notable exception is Google's Gemini, which reuses Googlebot's rendering infrastructure.
The consequence is blunt: anything that only comes to life in the browser via JavaScript is invisible to these systems, no matter how good it looks to a human visitor. A simple test: disable JavaScript in your browser and load your page. What is still there is roughly what an answer engine reads. If the core content is missing, it is missing for the citation too.
What makes content citable
Once the content is delivered cleanly, presentation decides. A widely cited study by Princeton and Georgia Tech measured what lifts visibility in generated answers most: adding expert quotations gave around 41 percent more, concrete statistics around 32 percent, citing solid sources around 30 percent, all with no redesign, only better structure.
That implies a clear answer economy: the actual answer belongs in the first 40 to 60 words, not behind three paragraphs of warm-up. High fact density, concrete numbers and evidence at short intervals, works better than pretty but vague prose. FAQ blocks with a clear question and a short answer map almost one to one onto the format answer engines think in.
On top of that comes structured data. With Schema.org as JSON-LD (Person, Organization, Service, FAQPage) you make machine-readable who you are, what you offer and how your claims connect. Entities linked by stable IDs help the model treat your site as one coherent source rather than loose snippets.
Where Next.js makes the difference
This is exactly where Next.js plays to its strength. Server Components and static rendering deliver the finished content in the HTML before a line of client code runs, in precisely the form AI crawlers can read. The choice between server- and client-rendered is a deliberate architectural decision, not a detail.
The rest comes almost for free: clean, stable URLs, correct per-route metadata, fast response times and a clean heading hierarchy. llms.txt and llms-full.txt, a compact briefing for AI models without navigation noise, can be served as a route just as cleanly as the schema markup.
The most common mistake in practice is pushing all of it into client components because it feels faster. The result is a page that works for humans and is empty for machines. The craft is deciding deliberately what belongs server-rendered, and on Next.js that is the default path, not the exception.
How we do it ourselves, and what's in it for you
We don't just sell GEO, we run it on our own site. flossels.ch ships full Schema.org, a maintained llms.txt and llms-full.txt, answer-first FAQ and consistently server-rendered pages. Ask ChatGPT or Perplexity about Next.js development in Switzerland and you see how structured signals work. This page is itself the proof.
Getting all of this technically right means understanding rendering strategy, data model and structure, not working through a content checklist. Florian wrote the comprehensive Next.js guide, from React fundamentals through the Vercel AI SDK and RAG to deployment. That is why we treat schema, rendering and llms.txt as one connected system.
A GEO audit shows you, with evidence, where you stand today, which answers you already appear in and which two or three levers help most. On a cleanly built Next.js site the path there is usually shorter than most people expect, because the groundwork is already right.
Let's plan your project.
Every successful project starts with clarity. Book a short call: no sales talk, just an honest read on your idea.