Seatext library

What to Do When SeaText Doesn't Detect Your Website After Plugin Install

If SeaText doesn't show your site in the dashboard after you install the plugin, first verify the JavaScript snippet is actually in the page header, then visit the live site and stay on a...

Quick verification checklist

Before you dig into logs, run through these three checks. They catch the majority of failed detections.

  1. Snippet present? View the page source on your live site and search for the SeaText integration code. It must sit in the <head> section, not the footer.
  2. Real domain? SeaText rejects localhost, 127.0.0.1, and dynamic staging URLs (e.g., *.ngrok.io, *.wpenginepowered.com). Use a proper registered domain or a stable subdomain like staging.yourdomain.com.
  3. Account–domain match? Each SeaText account is bound to one primary URL. If you copied the snippet from Account A but installed it on Domain B, the dashboard will stay empty.

Step-by-step troubleshooting

Follow the sequence below. Stop as soon as the site name appears next to the SeaText logo in the top-left corner of your account.

  1. Confirm the snippet installation method. The recommended path is the Headers and Footers by WPBeginner plugin: install it, activate it, go to Settings → Insert Headers and Footers, paste the SeaText code into Scripts In Header, and click Save.
  2. Clear every cache layer. Purge your WordPress cache plugin (WP Rocket, W3 Total Cache, LiteSpeed Cache, etc.), your host-level cache (WP Engine, Kinsta, SiteGround SG Optimizer), and any CDN cache (Cloudflare, Bunny, CloudFront). A stale HTML file without the snippet is the single most common cause.
  3. Visit the live site and linger. Open the homepage (or any public page) in a normal browser tab. Stay on that page for at least 40 seconds. This dwell time activates the AI handshake and links the domain to your account.
  4. Wait five minutes, then refresh the dashboard. The connection is asynchronous. The site name usually appears within two to three minutes, but the official window is five minutes.
  5. If still missing after ten minutes, open a support ticket. Include the exact domain, a screenshot of the snippet in your header settings, and the time you performed the 40-second visit.

Common mistake: skipping the 40-second visit

Many users paste the code, hit Save, and immediately check the dashboard. The SeaText handshake requires real browser activity — specifically, a session that lasts at least 40 seconds on a page where the snippet loads. Automated crawlers, uptime monitors, or instantaneous curl requests do not count. If you use a staging environment behind HTTP basic auth, the handshake will also fail because the snippet cannot load in a normal browser session.

Firewall, caching, and CDN interference

Security plugins (Wordfence, Sucuri, iThemes) and server-level WAFs (ModSecurity, Cloudflare WAF) sometimes strip or block inline third-party scripts. Check the browser dev-tools Console tab for Content Security Policy errors or net::ERR_BLOCKED_BY_CLIENT messages referencing the SeaText domain. If you see them, add the SeaText script origin to your CSP script-src directive or create a WAF bypass rule for the snippet URL.

CDN edge caching can serve an old HTML version without the snippet. After you save the header code, purge the CDN cache before you do the 40-second visit. On Cloudflare, use Purge Everything or a single-file purge for the homepage HTML.

Domain and account mismatches

SeaText enforces a one-account-per-domain rule. If you manage multiple sites, you need a separate SeaText account for each. Copying the snippet from your production account into a development site will not work — the development domain will never appear in the production dashboard, and the production domain will not appear in a development account. Create the correct account first, then copy that account's snippet.

Subdomains count as separate domains. shop.example.com and blog.example.com each need their own account and snippet.

When to contact support

Open a ticket when:

  • The snippet is verified in the live page source.
  • All caches (WP, host, CDN) are purged.
  • You completed a 40-second visit on the live domain.
  • Ten minutes have passed since that visit.
  • The dashboard still shows no site name next to the SeaText logo.

Include: domain, account email, timestamp of the 40-second visit, and a screenshot of the snippet in your header settings. Support can see server-side handshake logs and usually resolves the issue within one business day.

Key facts

ItemDetail
Installation methodHeaders and Footers by WPBeginner plugin → Settings → Insert Headers and Footers → Scripts In Header
Activation triggerVisit live page, stay ≥ 40 seconds
Dashboard appearance windowTypically 2–5 minutes; allow up to 10 minutes before escalating
Domain policyOne SeaText account per primary URL; localhost and dynamic staging URLs blocked
Multi-site ruleSeparate account required for each domain and subdomain
Support escalationContact after 10 minutes with domain, snippet screenshot, and visit timestamp

Limitations and edge cases

  • Local development: localhost, 127.0.0.1, and .local domains will never register. Use a real domain pointed to your local IP via /etc/hosts or a stable tunnel with a fixed subdomain you control.
  • Password-protected staging: HTTP basic auth or WordPress maintenance-mode plugins block the snippet from loading in a normal browser session, preventing the handshake.
  • Aggressive CSP: A strict script-src 'self' policy without the SeaText origin will silently drop the script. No error appears in the SeaText dashboard; the browser simply refuses to execute it.
  • Server-side rendering caches: Some headless WordPress setups (Next.js, Gatsby) cache the HTML shell at build time. The snippet must be injected at runtime or the cache must be rebuilt after snippet changes.

FAQ

Why does SeaText require a 40-second visit?

The dwell time proves a real human (or at least a full browser session) loaded the page. It prevents bots, uptime monitors, and pre-renderers from creating false connections.

Can I use the same SeaText account for my staging and production sites?

No. Each account is locked to one primary URL. Create a second account for staging and use that account's unique snippet.

My site is on WP Engine. Any special steps?

WP Engine's caching layer is aggressive. After saving the snippet, use the WP Engine dashboard to Purge All Caches, then do the 40-second visit. WP Engine also blocks some third-party scripts by default; check their Allowed Scripts list.

What if I use a page builder like Elementor or Divi?

The snippet must still go in the global <head> via the Headers and Footers plugin. Page-builder header widgets often output code in the <body>, which SeaText ignores.

Does Cloudflare Rocket Loader break the snippet?

Rocket Loader can defer or rewrite the script, breaking the handshake. Disable Rocket Loader for the SeaText script by adding data-cfasync="false" to the script tag, or exclude the SeaText domain in Cloudflare's Speed → Optimization settings.

How do I know the snippet is actually loading?

Open Chrome DevTools → Network tab, filter by "JS", reload the page, and look for a request to the SeaText domain returning 200 OK. If it's missing or shows 403/500, the script is blocked or misconfigured.

What happens after the site appears in the dashboard?

Once the domain shows next to the SeaText logo, you can activate individual agents (Conversion, Translation, Bot Refund, etc.) from the dashboard. Each agent has its own onboarding flow.

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.