On a self-managed headless project, none of a site's SEO is automatic. Wix doesn't inject any tags into your <head>, and doesn't serve robots.txt or sitemap.xml for you. Full SEO setup is your responsibility.
Note: This article also applies to a Wix-managed headless project built with a framework other than Astro. SEO automation is specific to Wix's Astro integration, so everything here works the same way regardless of who hosts your project.
For Wix-managed headless projects built with the Astro integration, see About SEO Support.
Build and serve the following in your own frontend and server code:
robots.txt: The rules that control which crawlers can access which parts of a site.sitemap.xml: The list of URLs you want search engines to index. You already know your own static and main-page URLs, since you built the frontend. For dynamic, repeater-generated URLs, such as Stores products or Blog posts, fetch them with List Sitemap Pages instead of deriving them yourself.List Sitemap Pages returns the dynamic item URLs Wix knows about for a specified itemType, such as STORES_PRODUCT, BLOG_POST, or BOOKINGS_SERVICE. It doesn't return static or main-page URLs. Filter on each entry's shouldBeIncludedInSitemap field before you write it into your sitemap, and paginate through results with the method's cursor paging. The method returns NOT_FOUND if the site isn't indexable or isn't published.
If a Wix user has already configured titles, descriptions, and other tags in the dashboard, under SEO & GEO > SEO Settings, you can still use those values instead of hard-coding your own. Fetch them with the SEO Tags API, the same API the Astro integration calls under the hood, and render the result into your own <head>. The dashboard configuration still applies. You're just doing the rendering that the integration would otherwise do for you.
Last updated: 15 September 2026