Guides
Itsy Guides

Search engines and SEO

Give search engines your production URLs and keep selected pages out of search results.

Set your production address

Add seo to itsy.config.json, alongside your existing settings:

{
  "seo": {
    "url": "https://example.com"
  }
}

Use the production HTTPS origin, even while developing locally. Itsy generates /sitemap.xml, advertises it in /robots.txt, and adds missing canonical tags.

Your custom sitemap, robots file, or canonical markup takes precedence. Set ordinary page titles and descriptions in leading page settings comments; Blog posts use their title and excerpt.

Exclude a page

Add exact paths to seo.exclude:

{
  "seo": {
    "url": "https://example.com",
    "exclude": ["/campaign/receipt"]
  }
}

These pages stay public but receive noindex and leave the generated sitemap. Use authentication for private content. Keep excluded pages crawlable so search engines can read the instruction.

Check and publish

Run itsy status, then preview the site. Open /sitemap.xml to check the production URLs. Commit the configuration, deploy, and repeat the check on your domain.

In Google Search Console, verify your domain and submit https://example.com/sitemap.xml. The sitemap updates as your public pages change.

Keep staging out of search

Set a server policy for the staging hostname:

itsy server indexing root@your-server staging.example.com noindex

Replace the server login and hostname with yours. The policy applies to that exact host and survives deployments. Use allow instead of noindex to remove the server's restriction.

This command briefly restarts Itsy Server. It controls indexing, not access.