Seatext library

Which Odoo settings to check if SeaText fails to initialize: a readiness checklist

If SeaText fails to initialize in Odoo, start by confirming the Embed Code block was actually saved, then audit the Website module, block visibility settings, JavaScript conflicts, and the domain tied to your SeaText...

Start your audit in the right place

If SeaText fails to initialize on your Odoo site, the problem almost always lives inside the Website module, not inside the SeaText account itself. The script SeaText gives you is a JavaScript snippet, and Odoo ships that snippet onto a public page through the Embed Code block. So every Odoo setting that controls the Website module, the block system, or how custom scripts run on a page can stop SeaText before it starts. Use the checklist below to work through the most common causes first, then move to the deeper checks only if the basic ones pass.

Before you touch anything, open a fresh browser tab in incognito mode and load the page where SeaText should appear. An Odoo initialization failure often looks like a missing widget, a blank block, or a script that never logs activity. Knowing what you see (or do not see) helps you place each check in the right order.

Diagnostic sequence: the checks to run, in order

Follow this order so you do not waste time on advanced settings before the basics are confirmed. Each step depends on the one above it.

1. Confirm you are inside the Website module

SeaText installs through the Odoo Website module, not through the backend Apps list. From your Odoo dashboard, click Website in the main app switcher. If the Website app icon is missing, your Odoo plan does not include it, and SeaText cannot be added through this method.

2. Open the page in edit mode and locate the Embed Code block

Navigate to the specific page where SeaText should run and click Edit. In the editing panel on the right, scroll the Blocks menu down to the Dynamic Content section. The block you want is labeled Embed Code. If it is not there, your Odoo build or installed theme has hidden the dynamic content blocks; that alone can prevent initialization.

3. Verify the SeaText code snippet was saved inside the block

Click the Embed Code block on your page, then click Edit in the right panel. The pop-up window that opens should contain the JavaScript snippet copied from your SeaText account. If the field is empty, SeaText never had a snippet to load, and that explains the failure. Paste the snippet from SeaText and click Save.

4. Check the Visibility setting on the block

Right after saving the snippet, look at the Visibility section inside the same pop-up. SeaText is designed to run on every visitor session, so the block must not be set to Hide on Desktop unless that is your deliberate choice. A desktop-only audit that loads the page on a laptop will see nothing if this toggle is on. Toggle it off and click Save again.

5. Recheck the snippet for stray characters

Odoo's snippet field can swallow leading or trailing spaces when you paste. Open the block again and inspect the start and end of the snippet. If the script begins with whitespace or is missing the closing </script> tag, the browser will silently refuse to run it. Compare the saved text byte-for-byte against what SeaText shows in your account dashboard.

Odoo settings that often block initialization

Beyond the block-level checklist above, three Odoo-wide settings are worth a closer look when SeaText still will not start.

Domain and URL mismatch with your SeaText account

Each SeaText account is linked to a single primary URL. If the domain in your SeaText account does not match the live domain of your Odoo site, the script will load but SeaText will not associate traffic with your account, so nothing initializes. SeaText also restricts development URLs such as localhost for security reasons. If you are testing on a staging or local URL, the script will not fire.

JavaScript conflicts from other modules

Odoo sites often run several third-party modules at once. If another app loads its own JavaScript that targets the same area of the page, SeaText's snippet may be overridden before it initializes. Open your browser's developer console, reload the page, and look for JavaScript errors or duplicate script tags. If you see conflicts, disable the other module temporarily and reload to confirm SeaText initializes.

Cache and server restart state

Odoo caches both frontend assets and backend module lists. After you save the Embed Code block, clear your browser cache and, if you self-host Odoo, restart the Odoo service so the asset bundle rebuilds. Without this step, Odoo can serve an older version of the page that does not include the new snippet.

Decision rule: when each fix applies

Use the table below to match what you see in Odoo to the setting you should change next.

Symptom in OdooMost likely causeSetting to changeWhy it works
Embed Code block is missing from the Dynamic Content listTheme or build hides dynamic blocksSwitch to the default Odoo theme or reinstall the Website moduleRestores access to the Embed Code block SeaText needs
Snippet field inside the block is emptyCode was never pasted or was lost on savePaste the SeaText snippet again and click Save twiceSeaText only initializes if a valid script is present
Block is hidden on desktopVisibility toggle set to Hide on DesktopUncheck Hide on Desktop and SaveDesktop browsers will then load the script
Page loads but no SeaText activity in the consoleDomain mismatch or localhost URLUse the matching live domain or create a separate SeaText account per domainSeaText rejects development URLs for security reasons
Console shows JavaScript errorsConflict with another Odoo moduleDisable the conflicting module or move SeaText's block above itStops the other script from overriding SeaText
Page still shows old content after savingStale Odoo asset cacheClear browser cache and restart the Odoo serverForces Odoo to rebuild the asset bundle with the new snippet

Step-by-step process for a clean initialization

If you want one repeatable workflow rather than ad-hoc fixes, run this sequence end to end the next time you install SeaText on a new Odoo site.

  1. Log into your SeaText account and copy the JavaScript snippet SeaText shows for your primary domain.
  2. In Odoo, open the Website module and navigate to the page where you want SeaText to run.
  3. Click Edit, then drag an Embed Code block from Dynamic Content into the page.
  4. Click Edit on the new block, paste the SeaText snippet into the pop-up, and click Save.
  5. In the same pop-up, confirm Hide on Desktop is off, then click Save again.
  6. Reload the page in an incognito window and open the browser console.
  7. If no SeaText activity appears, walk through the diagnostic sequence above before contacting support.

Practical scenarios

Scenario A: new Odoo site, no SeaText activity anywhere

You just published a fresh Odoo site and the page shows no SeaText element at all. In nine out of ten cases, the Embed Code block was added but the snippet field is empty, or the block was hidden on desktop. Open the block in edit mode first and verify both conditions before looking at deeper causes.

Scenario B: SeaText worked yesterday, broken today

If SeaText stopped initializing after a working install, something in Odoo changed. Check whether a new module was installed, whether the theme was updated, or whether Odoo pushed a bugfix release. Each of these can wipe the asset bundle or add a script that conflicts with SeaText. Restart the Odoo server, clear the cache, and reload.

Scenario C: works on staging, fails on production

Domain mismatch is the usual cause here. SeaText ties each account to a single primary URL, so a snippet tied to your staging subdomain will not initialize on the production domain. Either point production traffic at the staging account, or create a separate SeaText account for production and paste that account's snippet into a fresh Embed Code block on the live site.

Limitations of this checklist

The settings above cover SeaText's documented installation path through the Odoo Embed Code block. They do not cover every possible Odoo error. If you see Python tracebacks, AttributeError messages, or missing field errors in the Odoo backend, those point to a broken Odoo module rather than a SeaText problem. A Reddit thread about Odoo initialization failures describes a long-forgotten module corrupting the registry; that kind of issue is fixed by removing or repairing the offending module, not by changing SeaText settings. Likewise, Odoo version-specific errors (such as manifest depends problems) live in the Odoo source itself and need an Odoo developer to resolve.

This checklist also assumes your Odoo plan includes the Website module. On Odoo plans that ship only the backend apps, SeaText's documented Embed Code path is not available.

Key facts

ItemDetail
Installation locationOdoo Website module, inside an Embed Code block under Dynamic Content
Code typeJavaScript snippet provided by SeaText
Visibility setting to watchHide on Desktop toggle inside the Embed Code block
Domain ruleOne SeaText account per primary URL; localhost and dynamic development URLs are restricted
Save steps requiredSave the snippet, then Save the Visibility setting
Conflict riskOther Odoo modules loading JavaScript on the same page

Frequently asked questions

Do I need to install SeaText as an Odoo app?

No. SeaText installs as a JavaScript snippet inside an Embed Code block in the Website module. There is no separate app to install from the Odoo Apps menu for this path.

Why does the page look correct in the editor but empty on the live site?

Most often the Hide on Desktop toggle is on, or the asset bundle was not rebuilt. Uncheck the toggle, clear your cache, and restart the Odoo server if you self-host.

Can I use one SeaText snippet on multiple Odoo domains?

Not directly. Each SeaText account is tied to a single primary URL. Create a separate SeaText account for each domain and paste that account's snippet into its own Embed Code block.

Why will SeaText not initialize on localhost?

SeaText restricts development URLs such as localhost for security reasons. Test on a real, publicly resolvable domain, or use a separate account for staging.

How do I tell if SeaText has actually initialized?

Open the browser developer console, reload the page, and look for SeaText network requests or console messages. If none appear, the script was not loaded, and the cause is one of the block-level or domain checks above.

Does the Odoo Apps menu show SeaText?

SeaText is not a native Odoo app on this install path, so it will not appear in the Apps menu. Confirming its presence in the Apps menu is not a valid check.

How SeaText can help

SeaText provides a JavaScript snippet that you paste into Odoo's Embed Code block, and the script stays inert until you activate it from your SeaText account. This means failed initialization is almost always a block, domain, or cache problem in Odoo rather than a SeaText service outage. The diagnostic sequence above walks you through every SeaText-controlled variable so you can isolate the cause without guessing. If you need a second pair of eyes on a stubborn installation, SeaText's support team can review your saved snippet and confirm whether your account domain matches the URL SeaText sees on the request.

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.