How to Exclude Specific Elementor Widgets from SeaText AI Translation
To exclude specific Elementor widgets from SeaText AI translation, use CSS selectors or widget class names in SeaText's exclusion rules, or wrap the content in a no-translate span. This keeps code blocks, third-party embeds,...
Quick Answer: Exclude an Elementor Widget from SeaText Translation
Direct answer: Use SeaText's exclusion rules with a CSS selector or a widget class. You can also wrap the widget content in a no-translate span.
Here are practical examples:
.elementor-widget-codeexcludes every Elementor Code widget..elementor-widget-custom-htmlexcludes every Custom HTML widget.#elementor-12345excludes a single widget ID..my-untranslated-widgetexcludes any Elementor widget that uses that custom CSS class.
SeaText automatically translates new WordPress pages, posts, products, and updates in the background. It also detects each visitor's language. That automatic behavior is why you need a clear exclusion workflow for content that should not change.
Why SeaText Auto-Translates Elementor Content
SeaText's Website Translation Agent is built for WordPress. It is designed to work automatically. When you publish a new page, SeaText sees it and translates it. Because Elementor widgets are normal HTML blocks in that page, SeaText treats them as page content and translates visible text inside them.
That is the right behavior for most widgets. A text editor, heading, and button should usually appear in the visitor's language. But there are widgets where translation can cause problems.
- Code snippets must stay exact.
- Third-party embeds often load external content.
- Product names and SKUs should not be changed.
- Legal terms may need an exact wording.
- API feeds and dynamic values can break if edited.
Exclusions do not stop SeaText from translating the rest of the page. They only protect the elements you choose. This gives you automatic translation where you want it and manual control where you need it.
SeaText Translation Facts You Should Know
Before building your exclusion rules, it helps to know how SeaText handles translation.
| Capability | SeaText behavior |
|---|---|
| Automatic translation | Yes. New WordPress content is translated automatically. |
| Languages | Up to 125 languages. |
| Control | Edit translations, preserve brand voice, and review key pages. |
Source: SeaText activation page and Website Translation Agent description.
The exclusion field is part of that control layer. The exact label can change from version to version. If you cannot find it, check with the vendor.
Step 1: Identify the Elementor Widget Selector
Before you configure SeaText, you need to know what to target. Elementor uses predictable CSS classes for each widget. You can find them with browser DevTools.
- Open the page that contains the widget.
- Right-click the widget area and choose Inspect.
- Find the outer div with an Elementor class.
- Copy the class or ID from the HTML.
Elementor widget classes follow this pattern: .elementor-widget-{widget-name}. For example:
.elementor-widget-codefor the Code widget..elementor-widget-custom-htmlfor the Custom HTML widget..elementor-widget-shortcodefor the Shortcode widget..elementor-widget-text-editorfor the Text Editor widget.
If you inspect a single instance, you may see an ID like #elementor-12345. That ID identifies one widget on one page. Use it when you need to exclude exactly one instance.
For nested containers, a selector like .elementor-widget-code .elementor-widget-container targets the inner wrapper. This can be useful when SeaText matches the outer container but still sees text in a nested element.
Third-party Elementor addons usually follow the same class pattern. The class often looks like .elementor-widget-{addon-slug}. If you cannot find it, open the addon's documentation or inspect the page again.
Step 2: Add a CSS Selector Exclusion Rule in SeaText
SeaText stores translation settings in your WordPress admin. Open SeaText, go to the translation section, and look for an exclusions field. Depending on your version, it may be called Excluded Elements, Do not translate, or something similar.
- Open your WordPress dashboard.
- Go to SeaText's settings.
- Open the translation section.
- Find the field for excluded elements.
- Enter one selector per line.
- Save your settings.
Example field content:
.elementor-widget-code
.elementor-widget-custom-html
#elementor-12345Do not use commas to separate selectors. WordPress exclusion fields usually expect one selector per line. The new line acts as the separator.
You can also create a stable custom class. In the Elementor editor, open the widget's Advanced tab and add a class like raw-code. Then exclude .raw-code. This is safer than an Elementor ID because a class survives page imports and design changes.
If your widget is from a third-party addon, use its normal wrapper class. For example, if the addon uses .elementor-widget-awesome-addon, enter that selector. Check with the vendor if you are not sure about the class name.
The selector workflow described here is practical implementation guidance for the SeaText integration. SeaText's exact menu labels can vary.
Step 3: Use a No-Translate Span for Widget Content
A no-translate span protects a phrase or block inside a larger widget. It is useful when you only need to keep a short value in the original language.
Wrap the content in a span with class no-translate. Then add .no-translate to SeaText's exclusion list.
In an Elementor HTML widget, you could write:
<span class='no-translate'>Acme Flux Capacitor</span>SeaText will skip the span whenever it translates the page.
This method works for:
- Product names that include special characters.
- Legal terms that must stay exact.
- Phone numbers, SKUs, and part numbers.
- Inline code examples.
- Shortcodes that output dynamic data.
Example inside a Text Editor widget:
The device is called <span class='no-translate'>Zeta-9</span>.The rest of the paragraph can still be translated. The phrase Zeta-9 stays as written.
If you need to protect many parts of a widget, wrap the entire widget content in a container and add the class there. For example, use an HTML widget with a wrapping div:
<div class='no-translate'>...</div>Then add .no-translate to SeaText. This is easier than adding the class to every paragraph.
Step 4: Verify the Exclusion Works
Saving a rule is not the end. You should test the translated page after every change.
- Open the page in a private or incognito window.
- Switch the browser language to another language.
- View the page and find the excluded widget.
- Confirm the text is still in the original language.
- Confirm the rest of the page is translated.
If the widget still translates, inspect the rendered HTML again. Look for the exact selector. Sometimes an Elementor theme or a third-party plugin adds an extra wrapper. You may need a more specific selector such as .elementor-widget-code .elementor-widget-container.
Clear all caches after changing SeaText settings. WordPress caching plugins, CDNs, and browser caches can keep previous translated versions for hours.
Use a second device or incognito mode to avoid a cached session.
If only part of the widget translates, move to the no-translate span method. That gives you more granular control.
Limitations and Troubleshooting
Exclusion rules work best when content is in the initial HTML. JavaScript-heavy widgets create extra cases.
Dynamic and AJAX widgets
SeaText translates what it sees in the rendered page. If a widget loads content after the page loads, that content may not be translated at all. This can look like an exclusion, but it is actually a limitation of dynamic loading. To keep control, exclude the widget container or move the output to server-side rendering.
You can also add a no-translate span in the template code that outputs the dynamic content. That prevents SeaText from translating it in the future.
Changing selectors
Elementor IDs can change. If you copy a page, import a template, or recreate a widget, the ID is often different. Use custom CSS classes instead. Classes are stable and easy to maintain.
Multiple widgets
List each selector on its own line. You are not limited to one widget type. You can exclude code widgets, HTML widgets, and a third-party addon in one field.
Per-language exclusions
SeaText exclusion rules are global. If an element is excluded, it is preserved for all languages. For per-language behavior, you need a different workflow. For example, you can create separate page templates or use SeaText's translation edit controls to correct a specific language.
Translations still appear
Work through this checklist:
- Does the selector exist in the rendered HTML?
- Did you save the SeaText settings?
- Did you clear WordPress and CDN caches?
- Is another translation plugin active?
- Is there an outer wrapper that your selector misses?
- Does the widget load content through JavaScript?
If none of these fixes the issue, check whether your theme or a caching plugin is serving a stored translation. Also check the vendor's documentation for the exact exclusion field name.
Frequently Asked Questions
Can I exclude multiple Elementor widgets at once?
Yes. Put each selector on a new line in the exclusion field. For example, use one line for .elementor-widget-code and another line for .elementor-widget-custom-html. The rule applies across your site, so you do not need to repeat it on every page.
Will excluding a widget affect its styling?
No. Exclusion only prevents translation. SeaText does not change the widget's CSS, layout, spacing, or responsive settings. The widget will look the same to every visitor, but its text will remain in the original language.
What if the widget's class changes on different pages?
Use a custom CSS class. In Elementor, open the widget's Advanced tab and add a class like keep-original. Then enter .keep-original in SeaText. This class stays with the widget even if Elementor regenerates IDs.
Can I exclude a widget only for one language?
No, not with a global exclusion rule. SeaText's exclusion list applies to all languages. If you need different behavior by language, use page-specific templates or adjust the translation manually for that element.
Does a no-translate span work inside a text editor widget?
Yes. Wrap just the phrase in a span with class no-translate. Add .no-translate to the exclusion list. The rest of the paragraph can still be translated normally.
How do I find the selector for a third-party Elementor addon?
Right-click the widget and choose Inspect. Look for the outer element with an Elementor class. Most addons use .elementor-widget-{addon-slug}. If you cannot identify it, check the addon's documentation or support forum.
What should I do if the widget still translates after I add the rule?
Start with the rendered HTML. Confirm the selector is there. Clear every cache. Make sure no other plugin is overriding SeaText. If the widget loads via AJAX, the exclusion may not work because SeaText never sees the dynamic text. In that case, switch to a no-translate span inside the server-rendered output.
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.