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
- Register the subdomain in DNS. Ensure
staging.example.comresolves to a real IP and serves HTTPS. Self-signed certificates work if the browser trusts them, but a valid cert avoids mixed-content warnings. - Create a new SeaText AI account. Go to the sign-up flow and enter
https://staging.example.comas the primary URL. - Copy the JavaScript snippet. From the new account's General Integration page, copy the provided code block.
- 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. - Activate the account. Visit
https://staging.example.comin a browser. Stay on the page for at least 40 seconds. Refresh a few times. This links the domain to the account. - 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.
- 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."
- 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
| Scenario | Supported? | Reason |
|---|---|---|
localhost, 127.0.0.1, *.local | No | Blocked for security; SeaText cannot verify ownership of non-public hostnames. |
Dynamic preview URLs (e.g., pr-123.github-preview.dev, *.vercel.app per-deploy) | Unreliable | SeaText may fail to associate traffic consistently because the hostname changes per deploy. |
| Password-protected staging behind Basic Auth or VPN | Yes, if domain is real | SeaText 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) | Yes | Treated as a separate domain; requires its own account. |
Wildcard subdomains (e.g., *.staging.example.com) | No | Each 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.
| Criterion | Create Separate Staging Account | Test on Production Account (Not Recommended) | Skip SeaText on Staging |
|---|---|---|---|
| Isolate test data from live metrics | Yes — complete separation | No — variants, A/B results, and translation edits mix with live data | Yes — but you lose pre-launch validation |
| Validate AI-generated translations before launch | Yes — edit in Variants Edit on staging | Risky — live visitors see unvetted output | No — translations go live untested |
| Test agent configurations (Google Ads, CRO, Bot Refund) | Yes — activate agents per environment | No — agents fire on live traffic | No — config errors reach production |
| Cost | Extra plan seat / usage | No extra cost | No extra cost |
| Setup effort | ~10 minutes + DNS | Zero | Zero |
| Best for | Teams that ship weekly, run paid ads, or localize | Never recommended | Static 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
| Fact | Detail | Source |
|---|---|---|
| Account–domain binding | Each SeaText AI account links to one primary URL | S1 |
| Subdomain treatment | Subdomains (e.g., staging.example.com) are separate primary URLs | S1 |
| Localhost restriction | Development URLs such as localhost are restricted for security | S1 |
| Dynamic domain reliability | Dynamic development domains may not function properly | S1 |
| Activation visit | Visit or refresh the site and stay at least 40 seconds to activate | S1 |
| Confirmation delay | Wait at least five minutes for domain name to appear next to SeaText logo | S1 |
| Support escalation | Contact support if domain not shown after 10 minutes | S1 |
| Multi-site usage | To use SeaText AI on several websites, create one account per website | S1 |
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
localhostor127.0.0.1. SeaText blocks these hostnames. Use a real subdomain likestaging.example.comeven for local development — edit/etc/hostsor use a tool likelvh.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
localhostonly — 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.