web/docs/advanced/seo.md
import { CardLink } from "@site/src/components/CardLink"
Search engine optimization (SEO) and generative engine optimization (GEO) are about making your app visible and attractive to search engines, social media platforms, and AI assistants. This page is a quick overview of what Wasp already handles for you, and the features you'll use to optimize your app.
When you run wasp build, your app is automatically optimized for production. You don't need to configure anything for:
robots.txt, sitemap.xml, or llms.txt. Put them in the public directory and Wasp serves them as-is from the root path.Titles and meta tags. Search engines and social platforms read <meta> tags to build search results and link previews. Set app-wide tags with the title and head fields of your app declaration, and per-page tags by rendering <meta> elements directly in your page components.
Prerendering. Wasp apps are single-page applications, and many crawlers and AI assistants don't run JavaScript, so they'd see an empty page. Mark a route with prerender: true and Wasp generates its HTML at build time, making your content readable without JavaScript.
Crawlable navigation. Crawlers discover your pages by following <a> tags. Wasp's Link component renders real, type-checked <a> tags, unlike programmatic navigation, which crawlers can't see.
Lazy loading. Split heavy or below-the-fold components out of the initial bundle with React.lazy, so your pages stay small and fast.
For the full picture, including how to measure your app, where to apply each technique, and recommended tools, read our dedicated guide:
<CardLink kind="guide" to="/docs/guides/optimization/seo" title="SEO & GEO" description="Measure and optimize your app for search engines and AI assistants." />