Seatext library

Why SeaText AI Stays Inactive After You Paste the Code — And How to Fix It

SeaText AI remains inert until a real browser session meets two conditions: the page loads with the script present and the visitor stays for at least 40 seconds. Common causes of a silent install...

How SeaText AI Activation Actually Works

SeaText AI does not turn on the moment the JavaScript snippet hits your page. The snippet is deliberately inert — it only begins communicating with the SeaText platform after a real browser session meets two conditions: the page loads with the script present, and the visitor stays on that page for at least 40 seconds. That dwell time is the handshake that ties the domain to your SeaText account.

When the 40‑second threshold is reached, the script sends a signal containing the domain name and your account identifier to SeaText edge nodes. The edge network then propagates the domain‑account link across its global points of presence. This propagation typically takes a few minutes. Until it finishes, the dashboard will continue to show no connected website.

If you pasted the code, saved, and then checked the dashboard without ever browsing the live site yourself, the AI has no way to know the domain belongs to you. The dashboard will continue to show no connected website.

The Required 40‑Second Visit: Why It Exists and What It Does

The 40‑second threshold is not arbitrary. It filters out bots, prefetchers, and accidental clicks that would otherwise create noisy account links. When a genuine visitor (you, during setup) remains on the page that long, the script sends a signal containing the domain and your account identifier. SeaText then registers the site and displays its name next to the logo in your dashboard.

One visit is rarely enough. The documentation advises visiting or refreshing the site several times, each stay lasting 40 seconds or more. This redundancy guards against network hiccups or a single session that the edge network fails to record. Each qualifying visit reinforces the domain‑account association and reduces the chance of a false negative.

Domain Restrictions: Why Localhost and Staging URLs Fail

SeaText blocks development domains such as localhost, 127.0.0.1, and many dynamic staging URLs (for example, *.ngrok.io or *.vercel.app preview links). The restriction exists because those addresses are shared, ephemeral, or non‑routable, making it impossible for SeaText to reliably associate traffic with a single account.

If you are testing on a local machine or a temporary preview domain, the script will load but the activation handshake will never complete. You must use a valid, publicly resolvable domain — even a throwaway subdomain like staging.yourdomain.com — that points to a real server. This rule also enforces the single‑URL policy: each SeaText account is bound to one primary URL. If you need the AI on a development domain and a production domain, you must create two separate accounts.

Caching Layers That Hide the Script

WordPress caching plugins (WP Rocket, W3 Total Cache, LiteSpeed Cache), server‑level caches (Varnish, Nginx fastcgi_cache), and CDN edges (Cloudflare, CloudFront) can serve a cached HTML version that does not yet contain the SeaText snippet. You may have saved the code in the Headers and Footers plugin, but visitors — including you — still receive the old cached page.

Clear every cache layer after pasting the snippet: the WordPress plugin cache, any server cache, and the CDN purge. Then open the page in an incognito window and verify the script appears in the page source before starting your 40‑second visits.

Verifying the Script Is Actually Loading

  1. Open the live page in a private/incognito browser window.
  2. View page source (Ctrl+U / Cmd+Option+U) and search for seatext or your account‑specific snippet ID.
  3. Open DevTools → Network tab, reload, and confirm the SeaText JavaScript file returns HTTP 200.
  4. Check the Console for any Content Security Policy (CSP) errors blocking the script.

If the script is absent or blocked, the 40‑second visits will do nothing because the handshake code never runs.

Account Linking: What Happens After Activation

Once the 40‑second visits succeed, SeaText needs a few minutes to propagate the domain–account link across its edge network. The documentation states: wait at least five minutes until you see your website name displayed next to the SeaText logo at the top of the page. If the name does not appear after 10 minutes, contact support.

Each SeaText account is bound to a single primary URL. If you need the AI on a development domain and a production domain, you must create two separate accounts — one per domain. This single‑URL rule is a hard technical limit; there is no multi‑domain support within one account.

Trade‑offs: SeaText AI vs Manual A/B Testing vs Static Landing Pages

SeaText AI automates copy testing and personalization by deploying autonomous agents that rewrite headlines, offers, and CTAs in real time based on visitor behavior and traffic source. Manual A/B testing requires you to create variants, set up experiments, and wait for statistical significance — often months on low‑traffic sites. Static landing pages show the same content to every visitor, wasting ad spend when the message does not match the keyword or intent.

SeaText’s edge‑based rewriting adds near‑zero latency and works on a single canonical URL, avoiding duplicate‑content SEO issues. However, it requires the 40‑second activation handshake, a valid public domain, and a separate account per domain. Manual testing gives you full control over variant design but lacks speed and scale. Static pages are simple to maintain but cannot adapt to individual visitors. Choose SeaText when you need continuous, automated optimization across many keywords and languages; choose manual testing when you have high traffic and want granular control; choose static pages only for very simple, low‑traffic scenarios.

Technical Limitations: Single‑URL Rule and Development Environment Restrictions

The single‑URL rule means one SeaText account cannot serve two different domains. You cannot point both example.com and staging.example.com to the same account. Each domain needs its own account, its own snippet, and its own activation visits. This also applies to subdomains that you intend to treat as separate sites.

Development environments such as localhost, 127.0.0.1, and many dynamic preview URLs (ngrok, Vercel preview, Netlify preview) are explicitly blocked. The script will load but the activation handshake will never fire. Workarounds include using a real subdomain on a public DNS (e.g., dev.example.com) or a dedicated staging domain that resolves to a public IP. Password‑protected staging sites are allowed as long as the domain is publicly resolvable and not on the restricted list.

Common Mistakes and How to Avoid Them

  • Mistake: Pasting the code, then checking the dashboard immediately.
    Fix: Do the 40‑second visits first, then wait 5–10 minutes.
  • Mistake: Testing on localhost or a disposable preview URL.
    Fix: Use a real domain or a stable subdomain you control.
  • Mistake: Forgetting to purge caches after saving the snippet.
    Fix: Clear WordPress, server, and CDN caches; verify in incognito.
  • Mistake: Using the same SeaText account for two domains.
    Fix: Create a second account for the second domain.
  • Mistake: CSP header blocking the external script.
    Fix: Add SeaText's domain to your script-src directive.

When to Contact Support

If you have:

  • Confirmed the script loads on a valid, non‑localhost domain
  • Completed multiple 40‑second visits in incognito mode
  • Cleared all caches
  • Waited more than 10 minutes

…and the website name still does not appear in your SeaText dashboard, open a support ticket. Provide the domain, the account email, and a screenshot of the script in your page source.

FAQ

Why does SeaText require a 40‑second stay instead of activating on page load?

The dwell filter prevents bots, crawlers, and prefetch requests from creating false account links. A genuine human stay proves the domain is live and under your control.

Can I activate SeaText on a password‑protected staging site?

Yes, as long as the domain is publicly resolvable and not on the restricted list. The script must load in a browser that can reach the page; basic auth is fine.

Does the 40‑second visit have to be from the account owner's IP?

No. Any browser session that meets the time threshold on the script‑enabled page will trigger the link. You can ask a colleague to do it.

What if I use a tag manager (GTM) instead of the Headers and Footers plugin?

GTM works, but the tag must fire on Page View – DOM Ready or earlier. If it fires on Window Loaded, the script may miss the early dwell signal. Verify in Preview mode.

Will SeaText work on a subdirectory install like example.com/blog?

The account links to the primary domain (example.com). The script must be present on every page where you want AI activity, including subdirectory pages.

How do I know the script is the correct version for my account?

The snippet you copy from the SeaText dashboard contains your account identifier. Do not copy a snippet from another project or a colleague's account.

Further reading and comparison sources

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

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.