Seatext library

Can I Use SeaText AI on a Subdomain for Staging?

Yes, SeaText AI works on subdomains like staging.example.com, but each subdomain requires its own separate SeaText AI account. You cannot share a single account across production and staging. The subdomain must be a valid,...

Yes, SeaText AI supports subdomains for staging environments. Each subdomain — such as staging.example.com or dev.example.com — counts as a distinct domain and must have its own SeaText AI account. You cannot use one account for both production and staging. The subdomain must be a publicly resolvable, valid domain; localhost and dynamic preview URLs (like those from some CI/CD platforms) are blocked for security reasons.

What Counts as a Separate Domain

SeaText AI ties each account to a single primary URL. A primary URL includes the full hostname: scheme, subdomain, domain, and top-level domain. example.com and staging.example.com are two different primary URLs. www.example.com and example.com are also different. If you run SeaText AI on both, you need two accounts.

This design keeps data, variants, and AI training isolated. Changes you test on staging — new translations, headline variants, personalization rules — never leak into production reports or visitor experiences.

Account Requirements for Staging Subdomains

Create a new SeaText AI account for each staging subdomain. Use the same email or organization if you prefer, but the account itself is separate. Each account gets its own JavaScript snippet, its own dashboard, its own variant library, and its own activation status.

  • Separate billing: Each account consumes its own plan limits (API calls, translated words, active agents).
  • Separate configuration: Agents you activate on staging (e.g., Google Ads Agent, Translation Agent) must be activated again on the staging account.
  • Separate activation: The 40-second visit and five-minute wait apply to each subdomain independently.

Step-by-Step Setup for a Staging Subdomain

  1. Register the subdomain in DNS. Ensure staging.example.com resolves to a real IP and serves HTTPS. Self-signed certificates work if the browser trusts them, but a valid cert avoids mixed-content warnings.
  2. Create a new SeaText AI account. Go to the sign-up flow and enter https://staging.example.com as the primary URL.
  3. Copy the JavaScript snippet. From the new account's General Integration page, copy the provided code block.
  4. Install the snippet on staging. Paste it into the <head> of every page on the staging site, or use your CMS / tag manager to inject it site-wide. If you use WP Engine, install the WP Engine plugin for custom JavaScript first.
  5. Activate the account. Visit https://staging.example.com in a browser. Stay on the page for at least 40 seconds. Refresh a few times. This links the domain to the account.
  6. Wait for confirmation. After five minutes, check the SeaText AI dashboard. The staging subdomain name should appear next to the SeaText logo. If it does not appear after 10 minutes, contact support.
  7. Enable agents. In the Main AI Hub, activate the agents you want to test (Translation, Google Ads, CRO, etc.). Configure each agent's parameters under "Configuration."
  8. Test variants. Use the "Variants Edit" panel to review, create, or manually edit translations and copy variants for the staging environment.

Activation Requirements: The 40-Second Rule and Five-Minute Wait

SeaText AI remains inert until activated. The activation handshake works like this:

  • When the snippet loads on a page, it sends a beacon to SeaText servers with the current hostname.
  • If the hostname matches the primary URL on file, the server marks the domain as "seen."
  • You must keep the page open for at least 40 seconds so the beacon completes and the session is recorded.
  • After the first successful beacon, the backend provisions the account–domain link. This takes up to five minutes.
  • Only then does the domain name appear next to the SeaText logo in the dashboard, signaling readiness.

Skipping the 40-second stay or closing the tab early is the most common reason staging accounts stay in "pending" state. Do not automate this step with a headless browser unless that browser executes JavaScript and holds the page open for the full duration.

Limitations: What Will Not Work

ScenarioSupported?Reason
localhost, 127.0.0.1, *.localNoBlocked for security; SeaText cannot verify ownership of non-public hostnames.
Dynamic preview URLs (e.g., pr-123.github-preview.dev, *.vercel.app per-deploy)UnreliableSeaText may fail to associate traffic consistently because the hostname changes per deploy.
Password-protected staging behind Basic Auth or VPNYes, if domain is realSeaText only checks hostname; it does not crawl behind auth. You must visit the page yourself to activate.
Subdomain on a different TLD (e.g., staging.example.net for example.com)YesTreated as a separate domain; requires its own account.
Wildcard subdomains (e.g., *.staging.example.com)NoEach distinct hostname needs its own account; wildcard matching is not supported.

Decision Criteria: When to Create a Staging Account vs. Other Options

Use this framework to decide how to handle pre-production testing.

CriterionCreate Separate Staging AccountTest on Production Account (Not Recommended)Skip SeaText on Staging
Isolate test data from live metricsYes — complete separationNo — variants, A/B results, and translation edits mix with live dataYes — but you lose pre-launch validation
Validate AI-generated translations before launchYes — edit in Variants Edit on stagingRisky — live visitors see unvetted outputNo — translations go live untested
Test agent configurations (Google Ads, CRO, Bot Refund)Yes — activate agents per environmentNo — agents fire on live trafficNo — config errors reach production
CostExtra plan seat / usageNo extra costNo extra cost
Setup effort~10 minutes + DNSZeroZero
Best forTeams that ship weekly, run paid ads, or localizeNever recommendedStatic sites, no AI features needed pre-launch

Rule of thumb: If you change copy, run paid campaigns, or serve multiple languages, create the staging account. The cost of a bad translation or a misconfigured Google Ads rewrite on production far exceeds the price of a second account.

Key Facts

FactDetailSource
Account–domain bindingEach SeaText AI account links to one primary URLS1
Subdomain treatmentSubdomains (e.g., staging.example.com) are separate primary URLsS1
Localhost restrictionDevelopment URLs such as localhost are restricted for securityS1
Dynamic domain reliabilityDynamic development domains may not function properlyS1
Activation visitVisit or refresh the site and stay at least 40 seconds to activateS1
Confirmation delayWait at least five minutes for domain name to appear next to SeaText logoS1
Support escalationContact support if domain not shown after 10 minutesS1
Multi-site usageTo use SeaText AI on several websites, create one account per websiteS1

Common Mistakes to Avoid

  • Reusing the production API key on staging. The snippet contains the account identifier. Copying the production snippet onto staging sends staging traffic to the production account, polluting your data.
  • Using localhost or 127.0.0.1. SeaText blocks these hostnames. Use a real subdomain like staging.example.com even for local development — edit /etc/hosts or use a tool like lvh.me (which resolves to 127.0.0.1 but is a valid domain).
  • Skipping the 40-second activation visit. Automated CI/CD deployments often skip this. Assign a human to visit the staging URL after each deploy, or script a real browser session that holds the page open.
  • Not waiting five minutes before configuring agents. The dashboard will show "pending" until the backend links the domain. Configuring agents early has no effect.
  • Assuming dynamic preview URLs work. Platforms that generate a new hostname per pull request (Netlify Deploy Previews, Vercel Preview Deployments, GitHub Codespaces) will likely fail the domain-association check. Use a fixed staging subdomain instead.

Practical Scenarios

Scenario A: Weekly Releases with Paid Ads

Your team deploys to staging.example.com every Tuesday. You run Google Ads campaigns that use the Google Ads Agent to rewrite headlines per keyword. Create a staging account. Activate the Google Ads Agent on staging. Test that the keyword–headline mapping works before Tuesday's deploy. Promote the same agent config to production after validation.

Scenario B: Localization Rollout

You plan to launch Spanish and German translations next month. The Translation Agent will generate variants on staging first. Create a staging account. Enable Translation Agent for es and de. Review variants in "Variants Edit." Approve. Then enable the same languages on the production account.

Scenario C: Static Marketing Site, No AI Features

Your staging site is a static HTML export. You do not use any SeaText agents. You can skip SeaText on staging entirely. Add the production snippet only when you deploy to production.

Terminology

  • Primary URL: The exact hostname (including subdomain) registered to a SeaText AI account. Example: https://staging.example.com.
  • JavaScript snippet: The <script> block copied from the General Integration page. Contains the account ID and loader logic.
  • Activation: The process of visiting the domain with the snippet installed, staying 40+ seconds, and waiting for backend confirmation.
  • Agent: A specialized AI module (Translation Agent, Google Ads Agent, Bot Refund Agent, etc.) activated per account.
  • Variants Edit: Dashboard panel where you review, create, or manually edit AI-generated translations and copy variants.
  • Dynamic development domain: A hostname that changes per deployment (e.g., pr-42.myapp.vercel.app). Not reliably supported.

FAQ

Can I use the same SeaText AI account for www.example.com and staging.example.com?

No. Each distinct hostname requires its own account. www.example.com and staging.example.com are different primary URLs.

Does a staging subdomain count toward my plan limits?

Yes. Each account consumes its own plan quota (API calls, translated words, active agents). Check your plan details for multi-account pricing.

Can I automate the 40-second activation in CI/CD?

Only if your CI/CD runs a real browser (Playwright, Puppeteer, Cypress) that executes JavaScript and holds the page open for 40+ seconds. A simple curl or headless request without JS execution will not activate the account.

What if my staging domain is behind a VPN or Basic Auth?

SeaText only verifies the hostname. It does not crawl behind authentication. You must visit the URL yourself (or via a browser script that handles auth) to complete activation.

How long until I can start testing agents on staging?

After the domain name appears next to the SeaText logo in the dashboard (typically 5–10 minutes post-activation), you can activate agents and edit variants immediately.

Can I copy variant edits from staging to production automatically?

SeaText does not currently sync variants across accounts. Export approved translations from staging's Variants Edit, then import or recreate them in the production account.

What happens if I accidentally install the production snippet on staging?

Staging traffic will be attributed to the production account. Your production reports will include staging sessions, variant tests will mix, and translation edits may affect live visitors. Remove the snippet from staging immediately and install the correct staging snippet.

When This Advice Does Not Apply

  • If you use a single-domain plan that explicitly forbids additional accounts — check your contract.
  • If your staging environment is a local Docker container exposed via localhost only — you must expose it via a real domain (ngrok, Cloudflare Tunnel, or a dedicated staging subdomain).
  • If you rely on a platform that only offers dynamic per-deploy URLs and you cannot provision a fixed subdomain — SeaText may not reliably associate traffic. Consider a fixed staging subdomain as a prerequisite.

Further reading and comparison sources

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

How SeaText AI Helps with Staging

SeaText AI lets you run a full, isolated copy of your AI stack — translation, Google Ads rewrites, CRO testing, bot detection — on a staging subdomain. Each staging account gets its own dashboard, variant library, and agent configuration. You can validate every AI-generated headline, translation, and personalization rule before it touches a live visitor.

The requirement is simple: provision a real subdomain (not localhost), create a second account, paste the snippet, and complete the 40-second activation visit. After five minutes the domain appears in the dashboard and you can activate agents. The only limitation is that dynamic preview URLs (per-deploy hostnames) may not associate reliably; use a fixed staging subdomain instead.