Wix-managed headless projects built with the Astro integration include a full set of SEO features. Wix generates SEO tags from the settings a Wix user edits in the dashboard, including:
How a page gets its SEO depends on what kind of page it is:
/product/[handle], a blog post at /blog/[slug], or a single category that lists the items in it. SEO support for item pages require code, since Wix can't resolve an item's tags until it knows which item the request is for.Note: A listing page is a main page too, even when it shows business-solution content. For example, an all-products page or a blog index is still one fixed URL.
Wix's Astro middleware resolves the SEO tags for each main page at request time, based on the dashboard settings, and injects them into the page <head>. There's nothing to install, register, or render. Each injected tag carries a wix-seo-tag="true" attribute, so you can recognize it in the rendered HTML.
A Wix user controls these tags in the dashboard, under SEO & GEO > SEO Settings:
robots.txt.Wix automatically generates structured data for some pages, based on the site information it recognizes. What you can do with it depends on the page:
LocalBusiness and WebSite JSON-LD based on the business name and address you enter on the site. If the site doesn't have a business name or address, Wix can't generate the LocalBusiness schema. In the home page's Advanced SEO settings, under Structured data markup, you can't edit either schema, but you can exclude either from the page, such as when you render your own version of it in code and don't want both to appear together.Product schema, and blog posts can get schemas such as Article, BlogPosting, HowTo, or FAQ. Unlike the homepage schemas, a Wix user can edit these in the dashboard's SEO settings for that page type.Structured data that your own code adds coexists with the dashboard-managed structured data without conflict.
Important: Wix keys main-page SEO records per route, not per locale. On a multilingual site, secondary-language versions of a main page don't get their own title or meta description. Instead, the title falls back to a machine-derived placeholder built from the URL path, and Wix omits the meta description entirely.
Wix serves robots.txt automatically. The robots option of the wix() integration defaults to true, so Wix serves robots.txt from the dashboard settings. Because the tags come from the dashboard, a Wix user can change a main page's SEO without a code change or a redeploy.
Note: If your project also defines a custom src/pages/robots.txt.ts route, Astro logs a router-collision warning at build and dev time and currently serves your project's route instead of Wix's, which is likely not what you want. To serve your own robots.txt, pass wix({ robots: false }) in astro.config.mjs instead of adding a competing route.
Wix also serves sitemap.xml automatically. /sitemap.xml is a sitemap index: it lists a pages-sitemap.xml built from your page registry, plus a separate sitemap for each installed business solution, such as Stores products or Blog posts. For how these pieces fit together, see About Sitemaps in the Astro Integration.
Important: If a Wix user turns off a site's overall indexability in the dashboard, /sitemap.xml returns a 404. This is standard across all Wix sites, not specific to headless.
To set this up and verify it on your live site, see Manage SEO for Main Pages.
Wix automatically generates and serves /llms.txt for eligible sites, based on the site's actual page content. This requires the site to have a custom domain and search engine indexing enabled. A Wix user can edit its contents, reset it to the auto-generated version, or turn it off, all from the dashboard's SEO & GEO settings.
Every Wix site also has its own built-in MCP server, at <your-domain>/_api/mcp, independent of llms.txt. See About the Wix Site MCP.
Tip: Keep each tag in one place. For main pages, let the dashboard own the title, meta description, canonical link, and social tags, and don't set those same tags in your layout.
Automatic injection covers main pages only. Anything that depends on which item a request is for, or on data your frontend fetches, you render yourself.
@wix/seo package. Registering a route also adds it to the page registry, which feeds the sitemap and the dashboard's SEO settings for that page type. As with main pages, a Wix user sets the actual tag values in the dashboard.For all three, including the per-vertical values, see Add SEO Support to Item Pages.
Everything in this article is specific to Wix's Astro integration. Whether this automation applies to your project depends on that integration, not on who hosts your project. None of it applies if you're building either of the following instead:
In both cases, Wix doesn't inject any tags into your <head>, and doesn't serve robots.txt or sitemap.xml for you. See About SEO for Self-Managed Headless Projects for what to build yourself. It applies the same way regardless of who hosts your project.
Last updated: 15 September 2026