About SEO Support

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:

  • Titles
  • Meta descriptions
  • Canonical links
  • Social tags
  • Robots directives
  • Structured data

Page types

How a page gets its SEO depends on what kind of page it is:

  • Main pages live at a single, fixed URL, such as your home, about, or contact page. Main pages get their SEO automatically, with no code.
  • Item pages render one business-solution item from a parameterized route, such as a product at /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.

What works out of the box

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:

  • Settings for main pages: The title tag, meta description, focus keyword, and indexability of each main page. Each page's advanced settings also cover canonical links, custom meta tags, and structured data.
  • Social share: The social tags used when a page is shared, such as Open Graph and Twitter.
  • Robots.txt editor: The contents of robots.txt.

Default structured data

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:

  • Homepage: Wix generates 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.
  • Business-solution page types: For example, store product pages get a 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.

Robots.txt and sitemap.xml

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.

AI and LLM discovery

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.

What you build in code

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.

  • Item pages: The item pages of business solutions, such as Wix Stores products, Wix Bookings services, Wix Events, and Wix Blog posts, plus their category pages. You register each route and render its tags in code using the @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.
  • Custom structured data: schema.org JSON-LD you build from an item's data. Wix already auto-generates structured data for some business-solution page types, as described in Default structured data above. Render your own for page types the dashboard doesn't cover, or when you need it generated from item data your page fetched.
  • Client-side tag updates: Re-resolving and swapping tags during in-app navigation without a full page reload.

For all three, including the per-vertical values, see Add SEO Support to Item Pages.

SEO outside the Astro integration

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.

See also

Last updated: 15 September 2026

Did this help?