Seatext library

Can I Run SeaText on Localhost While Developing a Tilda Site?

No. SeaText explicitly restricts development URLs such as localhost for security reasons. Each SeaText account is linked to a single primary domain, and the script cannot reliably associate traffic with your account on dynamic...

Direct Answer

SeaText does not support localhost or any dynamic development domain. The integration documentation states: "Development URLs, such as localhost, are restricted for security reasons. Ensure you use a valid, real domain for these cases. Dynamic development domains may not function properly, as SEATEXT AI might be unable to reliably associate traffic with your account." This means you cannot install the SeaText script on a Tilda site running on localhost, 127.0.0.1, or similar local addresses and expect it to activate.

Why Localhost Is Blocked

SeaText ties each account to a single primary URL. The activation process requires the script to detect real visitor traffic on that domain, stay on the page for at least 40 seconds, and then register the site in your dashboard. On localhost there is no public DNS resolution, no stable origin for the SeaText backend to verify, and no way for the system to distinguish your test traffic from any other local instance. For security and licensing reasons, the platform deliberately rejects those environments.

How Tilda Publishes Sites

Tilda is a visual website builder that hosts projects on its own infrastructure. When you click Publish, Tilda generates static HTML, CSS, and JavaScript files and serves them from a *.tilda.ws subdomain (for example, myproject.tilda.ws). You can also connect a custom domain (like example.com) or a subdomain (like staging.example.com) by updating DNS records to point to Tilda's servers. In every case the published site lives on a publicly resolvable hostname with a valid SSL certificate. Tilda does not provide a local development server that serves pages over HTTPS on your machine; the only way to preview changes is to publish to a Tilda URL or your own domain.

Why Public URLs Are Required for SeaText Activation

SeaText's backend needs to verify that the script is running on the exact domain registered to your account. It does this by receiving a beacon from the browser when a real visitor loads the page. The beacon includes the page's origin (scheme, host, port). If the origin is http://localhost:3000 or http://127.0.0.1:5500, the backend cannot match it to a registered primary URL because those origins are not unique and not publicly reachable. The security model also prevents someone from copying another account's script and running it on a different domain. Therefore, only domains that resolve publicly and serve content over HTTPS can complete the activation handshake.

What Happens When the Script Is Placed on Localhost

If you paste the SeaText snippet into a Tilda project and then preview it on localhost (for example, via tilda.cc preview mode or a local copy of exported code), the script will load in the browser. It will attempt to send a beacon to SeaText's servers. The server will see an origin of localhost or an IP address, reject the association, and the dashboard will never show the site as connected. No AI agents (translation, CRO, Google Ads matching, bot protection, etc.) will start. The script essentially becomes inert code that adds a few kilobytes to the page but does nothing else.

Setting Up a Staging Subdomain for Development

The standard workflow for testing SeaText while developing on Tilda is to use a real staging subdomain. Steps:

  1. Choose a subdomain you control, such as staging.example.com or dev.example.com.
  2. In your DNS provider, create a CNAME record pointing that subdomain to Tilda's hosting target (usually tilda.ws or a specific IP provided by Tilda).
  3. In Tilda Site Settings → Domain, add the subdomain and wait for SSL provisioning (usually a few minutes).
  4. Publish the site to that subdomain.
  5. Create a dedicated SeaText account using that exact subdomain as the primary URL.
  6. Install the SeaText script via Tilda's head code or a T123 block, then publish again.

This gives you a public HTTPS URL that SeaText can verify, while keeping the environment separate from production. You can protect the staging subdomain with HTTP Basic Auth or an IP allow-list if you want to restrict access.

Step-by-Step: Install SeaText on a Staging or Production Tilda Site

  1. Create a SeaText account for the target domain. Each domain needs its own account. Sign up at seatext.com using the exact domain you will publish to (e.g., staging.example.com).
  2. Copy the JavaScript snippet. After signup, SeaText displays a unique <script> block. Copy it exactly.
  3. Open Tilda Site Settings. In your Tilda dashboard, go to Site Settings → More → HTML code for the head section → Edit code.
  4. Paste the snippet into the "Edit code inside HEAD tag" field. Save and publish the site.
  5. Verify activation. Visit the published URL, stay on the page for at least 40 seconds, then refresh. Wait five minutes. In your SeaText dashboard the site name should appear next to the SeaText logo, confirming the connection.

If you need the script on a single page only, add a T123 block ("Other → HTML code") on that page, paste the snippet there, save, and publish.

Verifying Activation in the SeaText Dashboard

After you publish the page with the script, open the page in a browser. Stay on the page for at least 40 seconds. This dwell time lets the script collect enough interaction signals to send a valid activation beacon. Then refresh the page once. Wait about five minutes. Log into your SeaText account. At the top of the dashboard, next to the SeaText logo, you should see the domain name you registered (e.g., staging.example.com). If the name appears, activation succeeded and all agents are now live. If the name does not appear after ten minutes, check the browser console for errors (look for network requests to seatext.com or api.seatext.com) and ensure the script is not blocked by a Content Security Policy or an ad blocker.

Troubleshooting the 40-Second / 5-Minute Activation Requirement

Common issues and fixes:

  • Script not loading: Verify the snippet is exactly as provided, including the async attribute. Check that Tilda's head code field saved correctly (no extra whitespace or line breaks that break the script tag).
  • Console shows 403 or 401 from SeaText API: The API key in the snippet may not match the domain. Ensure you created the SeaText account with the exact same hostname (including subdomain) that the page is served from.
  • No beacon sent after 40 seconds: Open DevTools → Network, filter by "seatext". You should see a POST to collect.seatext.com or similar. If not, the script may be blocked by a browser extension or CSP. Temporarily disable extensions and check CSP headers.
  • Dashboard still shows "Waiting for activation" after 10 minutes: Contact SeaText support with your account email and the domain. They can manually check the activation logs.
  • Using a tunnel (ngrok, Cloudflare Tunnel): The tunnel gives you a public HTTPS URL (e.g., random.ngrok.io). That URL is a valid domain, so you can create a SeaText account for it. However, the tunnel URL changes each session unless you pay for a reserved subdomain, which defeats the one-account-per-domain model. Use a stable staging subdomain instead.

Common Workaround for Local Development

Since localhost is not an option, teams typically:

  1. Push the Tilda project to a staging subdomain (e.g., dev.example.com) protected by HTTP basic auth or IP allow-list.
  2. Create a dedicated SeaText account for that staging subdomain.
  3. Test all SeaText agents (translation, CRO, Google Ads matching, etc.) on the staging URL.
  4. When satisfied, create a second SeaText account for the production domain and repeat the install steps.

This keeps the local machine free of external scripts while still giving a realistic environment for SeaText's real-time rewrites.

Key Facts

ItemDetails
Localhost supportExplicitly restricted
Account-to-domain mappingOne account per primary URL
Activation requirementVisit published page, stay 40+ seconds, wait 5 minutes
Tilda install locationSite Settings → Head code (all pages) or T123 block (single page)
Staging subdomainSupported if publicly resolvable with HTTPS
Multiple domainsRequire separate SeaText accounts

Limitations & When This Advice Does Not Apply

  • If you use Tilda's Code Export feature (Business plan only) and host the exported static files on your own server, the same domain rules apply: the hosted URL must be a real domain.
  • Enterprise customers with a custom contract should confirm with SeaText support whether any on-premise or localhost exception exists; the public documentation does not mention one.
  • SeaText's AI agents (translation, CRO, bot protection, etc.) only run after successful activation on a valid domain.

Terminology

Primary URL
The single domain (or subdomain) linked to a SeaText account during signup.
Activation
The process where SeaText detects real traffic on the primary URL, associates it with the account, and enables the dashboard.
T123 block
A Tilda block type that accepts raw HTML/JS; used for per-page script injection.

FAQ

Can I use a .local or .test TLD with a hosts file entry?

No. Those are still considered dynamic development domains. SeaText's backend cannot verify them publicly.

What if I use ngrok or Cloudflare Tunnel to expose localhost?

The tunnel gives you a public HTTPS URL (e.g., random.ngrok.io). That URL is a valid, real domain, so you can create a SeaText account for it and install the script. However, the tunnel URL changes each session unless you pay for a reserved subdomain, which defeats the one-account-per-domain model.

Do I need a separate SeaText account for staging and production?

Yes. Each primary URL requires its own account. Create one for staging.example.com and another for example.com.

Will SeaText work on the default *.tilda.ws domain?

Yes. When you publish a Tilda project, it gets a projectname.tilda.ws address. That is a valid domain for SeaText.

Can I test SeaText agents without publishing?

No. Activation requires a live, public page visit. Use a staging subdomain or the *.tilda.ws address for testing.

What happens if I paste the script on localhost anyway?

The script will load but never activate. The dashboard will not show the site, and no AI agents will run.

Is there a local development mode or mock API?

Not documented in the public integration guide. Contact SeaText sales if you need an enterprise sandbox.

Further reading and comparison sources

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

Next Steps

You now know that SeaText requires a public domain and cannot run on localhost. The practical path is to publish your Tilda project to a staging subdomain or the default *.tilda.ws address, create a SeaText account for that exact hostname, install the script via Tilda's head code, and verify activation in the dashboard. This workflow lets you test every agent — translation, CRO, Google Ads matching, bot protection — in a real environment before moving to production.

Further reading and comparison sources

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

Learn more

Visit the website for more information.