Seatext library

Does SeaText Work with Tilda's Preview Mode on Localhost?

SeaText does not work directly on localhost or Tilda's local preview mode because development URLs are restricted for security reasons. Each SeaText account is bound to a single public domain, and the script cannot...

Direct Answer: SeaText and Tilda Preview on Localhost

No, SeaText does not load or function in Tilda's preview mode on localhost or any 127.0.0.1 address. The platform explicitly restricts development URLs for security reasons. Each SeaText account is linked to one primary domain, and the JavaScript snippet cannot authenticate your account when the page is served from a local address.

If you open a Tilda page in preview mode on localhost, the SeaText script will either fail to initialize or remain inert. Analytics, A/B testing, personalization, translation, and all other agents stay inactive until the script runs on a whitelisted, publicly reachable domain.

Why Localhost Is Restricted

SeaText ties every account to a single primary URL. This design prevents unauthorized use of a single license across multiple environments and ensures that traffic data, test results, and personalization profiles are correctly attributed. Localhost is non‑unique — every developer uses it — so SeaText cannot reliably associate sessions with your account.

The restriction also protects against script injection on uncontrolled local servers and avoids polluting production analytics with development traffic. As the integration guide states: "Development URLs, such as localhost, are restricted for security reasons. Ensure you use a valid, real domain for these cases."

How SeaText Domain Validation Works

When the SeaText snippet loads, it sends the current page's origin to the SeaText backend. The backend checks whether that origin matches the primary domain registered to your account (or an allowed subdomain). If the origin is http://localhost:3000, https://preview.tilda.cc, or any unregistered domain, the request is rejected and the AI agents do not activate.

This validation happens on every page load. There is no "offline mode" or local cache that bypasses the check. The script remains dormant until it sees a whitelisted domain.

Workarounds for Local Development

You have three practical ways to test SeaText while developing on Tilda:

1. Use a Real Development Domain (Recommended)

Register a domain (or subdomain) such as dev.yourproject.com and point its A record to your local machine's IP (or 127.0.0.1 via a local DNS tool). Add that domain to the Allowed Domains field in your SeaText dashboard. Because the domain is public and whitelisted, SeaText will activate even though the server runs locally.

2. Use a Tunneling Service (ngrok, Cloudflare Tunnel, etc.)

Run ngrok http 3000 (or your Tilda preview port) to get a public HTTPS URL like https://abc123.ngrok.io. Add that URL to Allowed Domains. The tunnel forwards traffic to your localhost, and SeaText sees a valid public origin. This is the fastest way to test without DNS changes.

3. Local DNS Mapping (/etc/hosts or dnsmasq)

Add an entry like 127.0.0.1 local-test.yourdomain.com to your hosts file (or configure dnsmasq). Then whitelist local-test.yourdomain.com in SeaText. Your browser resolves the domain to localhost, but SeaText sees a real domain name. This works only on the machine where the hosts file is edited.

Setting Up SeaText with Tilda for Local Testing

Follow these steps once you have a whitelisted development domain or tunnel URL:

  1. In your SeaText dashboard, go to Settings → Allowed Domains and add your development domain or tunnel URL.
  2. Copy the SeaText JavaScript snippet from the dashboard.
  3. In Tilda, open Site Settings → More → HTML code for the head section → Edit code.
  4. Paste the snippet into the "Edit code inside HEAD tag" field and save.
  5. Publish the site (or the specific page) so the snippet is live on your development domain.
  6. Visit the published URL (e.g., https://dev.yourproject.com or https://abc123.ngrok.io) and stay on the page for at least 40 seconds. This activates the AI and links the site to your account.
  7. Wait five minutes, then check the SeaText dashboard — your site name should appear next to the SeaText logo, confirming the connection.

If you only need the snippet on a single Tilda page, use the T123 block (Other → HTML code) instead of the global head injection.

What Features Are Available in Preview Mode

Once you are on a whitelisted development domain, SeaText behaves almost identically to production:

  • Translation Agent — translates page content into 125 languages.
  • Conversion Agent — rewrites headlines, offers, and CTAs in real time.
  • Google Ads Agent — matches landing page copy to the keyword that triggered the ad.
  • Bot Protection Agent — detects invalid clicks and builds refund reports.
  • A/B Testing Agent — generates and serves copy variants.
  • Personalization Agent — adapts copy to visitor source, location, or behavior.
  • Analytics & Reporting — tracks conversions by page, keyword, and variant.

The only difference: traffic volume is low, so statistical significance for A/B tests takes longer. All agents run, learn, and report normally.

Key Facts at a Glance

AspectDetail
Localhost supportBlocked — development URLs restricted for security
Account bindingOne primary domain per SeaText account
Multiple domainsRequire separate accounts (e.g., dev + prod)
Tilda integration methodPaste JS snippet in Site Settings → Head code or T123 block
Activation requirementVisit published page, stay 40+ seconds, wait 5 minutes
Local testing optionsReal dev domain, ngrok/Cloudflare tunnel, local DNS mapping
Features on dev domainAll agents active (translation, CRO, ads, bot protection, A/B, personalization, analytics)

Limitations and When This Advice Doesn't Apply

  • Tilda's built-in preview iframe (the preview.tilda.cc URL you see when clicking "Preview" in the editor) cannot be whitelisted because you don't control that domain. You must publish to your own domain or tunnel.
  • Dynamic preview URLs generated by Tilda for unpublished pages change on every edit. They cannot be reliably whitelisted.
  • Team collaboration — each developer needs their own tunnel or local DNS entry; the whitelisted domain must match what each person uses.
  • HTTPS requirement — SeaText requires HTTPS. ngrok and Cloudflare Tunnel provide it automatically; a raw local domain needs a valid TLS certificate (use mkcert for local trust).
  • Production vs. development accounts — if you want completely isolated analytics, create a second SeaText account for your development domain. The source pack notes: "If you need to use SEATEXT AI on multiple domains (e.g., a development domain and a production domain), you must create separate accounts for each domain."

Frequently Asked Questions

Can I whitelist localhost or 127.0.0.1 in the Allowed Domains field?

No. The dashboard rejects non‑public TLDs. Even if it accepted them, the backend validation would fail because localhost is not uniquely yours.

Does the Tilda preview button (eye icon) work with SeaText if I use a tunnel?

The preview button opens preview.tilda.cc/..., which you cannot whitelist. Instead, publish the page to your development domain or tunnel URL and open that published link.

Will SeaText slow down my local Tilda preview?

On a whitelisted dev domain, the script loads asynchronously (≈30 KB gzipped) and runs in the browser. It has no measurable impact on Tilda's editor or preview performance.

Do I need a separate SeaText license for a development domain?

Yes, if you want isolated analytics and separate agent configurations. The source pack states each domain requires its own account. Many teams use one account for dev + staging (same domain, different subdomains) and a second for production.

Can I test the Translation Agent on localhost without a domain?

No. Translation, like all agents, requires the script to initialize, which only happens on a whitelisted domain.

What if my staging domain is behind a VPN or IP allowlist?

SeaText's backend must be able to reach the domain for validation. If the domain is not publicly resolvable, use a tunnel (ngrok/Cloudflare) that exposes a public HTTPS endpoint.

How do I know SeaText is active on my dev domain?

Open the browser dev tools → Network tab, filter for "seatext". You should see the script load and subsequent API calls to api.seatext.com. In the SeaText dashboard, your site name appears next to the logo after ~5 minutes.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

How SeaText Helps You Test Locally

SeaText's domain‑binding model keeps your analytics clean and your license secure. For local Tilda work, pick one of the three workarounds above — real dev domain, ngrok tunnel, or local DNS mapping — add it to Allowed Domains, paste the snippet in Tilda's head code, and publish. Within minutes you'll see live translations, keyword‑matched headlines, bot‑filtered traffic reports, and A/B variants running on your machine, exactly as they will in production.

If you need completely separate data for staging versus production, create a second SeaText account for the staging domain. The setup takes under a minute per account, and each account gets its own dashboard, agent settings, and conversion reports.