Works with your stack
Cookie consent for translation plugins
the banner speaks every language
Translation plugins rarely set cookies on their own with default settings. What matters is where the text goes to be translated, and which language the banner shows. Some translate on your server, some in the visitor’s browser.

Translation plugins, one by one
What each translation plugin puts on your pages
- Weglot
- Translates on your server with Weglot. No cookie and no Weglot script by default. Redirection, previews and page view statistics are options that add cookies or data.
- TranslatePress
- No cookie and nothing in the browser’s storage. It sets the WordPress language from the page address. Automatic translation sends text from your server.
- MultilingualPress
- One site per language in a network. Cookie Rocks keeps one choice and one set of settings per site, so the banner shows again after a language switch.
- GTranslate
- Translates in the visitor’s browser with Google in the free version. Its library loads on request. Cookie Rocks classes it as necessary and never holds it.
What matters for consent with Translation plugins
Little to hold by default
With default settings, Weglot and TranslatePress set no cookie, keep nothing in the browser’s storage and load no outside tracker.
Server or browser
Weglot and TranslatePress’s automatic translation send text from your server. GTranslate sends it from the visitor’s browser. Neither can wait for a banner: mention the provider in your privacy policy.
The banner’s language
A banner that follows the WordPress language shows in the page’s language with TranslatePress and MultilingualPress. Weglot leaves the WordPress language unchanged.
Translating the banner itself
TranslatePress and GTranslate can translate text added after load, banner included. Each has its own way to keep an element out.
What our tests found on Translation plugins
Good to know · WeglotWhat Weglot stores in visitors' browsers
Weglot: 3 cookie(s) or browser key(s) for visitors, recognised by Cookie Rocks from 2.9.8.
Name Kept in Category What it is for WG_CHOOSE_ORIGINALcookie Preferences Remembers that the visitor chose the original language weglot_wp_rocket_cachecookie Necessary Serves the right translated page from the cache wp-resetpass-*cookie Necessary Keeps a password reset going Read in its code, 2 November 2026, Weglot.
Full detail
Weglot can store these in a visitor's browser: WG_CHOOSE_ORIGINAL (cookie, preferences: Remembers that the visitor chose the original language); weglot_wp_rocket_cache (cookie, necessary: Serves the right translated page from the cache); wp-resetpass-* (cookie, necessary: Keeps a password reset going). Cookie Rocks recognises them from 2.9.8, with this category and purpose, and lists them in the cookie policy when it sees them.
Good to know · TranslatePressWhat TranslatePress stores in visitors' browsers
TranslatePress: 1 cookie(s) or browser key(s) for visitors, recognised by Cookie Rocks from 2.9.8.
Name Kept in Category What it is for trp_languagecookie Necessary Remembers the language chosen by the visitor Seen in our tests, 2 November 2026, TranslatePress.
Full detail
TranslatePress can store these in a visitor's browser: trp_language (cookie, necessary: Remembers the language chosen by the visitor). Cookie Rocks recognises them from 2.9.8, with this category and purpose, and lists them in the cookie policy when it sees them.
Good to know · TranslatePress, Weglot, Instagram Feed, WP Go Maps, MailPoet, MatomoTranslatePress, Weglot, MailPoet and others set nothing by default
by default: Default settings
With default settings and nothing set up, TranslatePress, Weglot, Instagram Feed, WP Go Maps, MailPoet and Matomo for WordPress set no cookie, use no storage and load no known third-party tool.
Seen in our tests, 17 October 2026, TranslatePress, Weglot, Instagram Feed, WP Go Maps, MailPoet, Matomo 3.3.8, 6.4.3, 6.14.0, 10.1.10, 5.42.0, 5.13.1. Source
Full detail
On a fresh WordPress home page with default settings (no account, key or content set up), TranslatePress, Weglot, Smash Balloon Instagram Feed, WP Go Maps, MailPoet and Matomo for WordPress set no cookie, keep nothing in the browser's storage and load no known third-party tool, after Accept all.
Set before the choice · WeglotWeglot loads no script by default; page view statistics send data to Weglot
setting “page_views_enabled” · by default: false
Flag images and custom switchers load from cdn.weglot.com. With page view statistics on (off by default), a script in the page sends each address and its languages to api.weglot.com.
Read in its code, 16 October 2026, Weglot 6.4.3.
Full detail
By default Weglot's plugin loads no Weglot script on visitor pages; weglot.min.js from cdn.weglot.com is added only through the weglot_translate_dynamics or weglot_autoredirect_js filters. Flag images of its new flag style load from cdn.weglot.com/flags, and custom switchers made in the Weglot dashboard load a script from cdn.weglot.com/switchers. If page view statistics are on in the Weglot project (page_views_enabled, off by default), an inline footer script POSTs the page address, its language and the browser language to api.weglot.com/pageviews on every page; being inline, it has no script address to match.
Depends on a setting · WeglotWeglot sets cookies only with some settings
setting “Auto redirect (auto_switch)” · by default: false
- With redirection on, choosing the original language sets WG_CHOOSE_ORIGINAL (2 days).
- With WP Rocket and redirection: weglot_wp_rocket_cache (session) on the first request.
- weglot_allow_private (2 days) is for previewing private languages.
- It never sets wglang. Cookie Rocks 2.5.1 lists these cookies with these durations.
Read in its code, 16 October 2026, Weglot 6.4.3.
Full detail
Weglot's WordPress plugin sets cookies in PHP only with some settings. Automatic redirection (off by default) sends a 302 to the browser's language from original-language pages with Vary: Accept-Language; choosing the original language sets WG_CHOOSE_ORIGINAL for 2 days. With WP Rocket and redirection, it sets the session cookie weglot_wp_rocket_cache on the first request and declares it mandatory, so a visitor's first page is not served from cache. weglot_allow_private (2 days) is for previewing private languages. It never sets a wglang cookie, and its local scripts use no cookie or browser storage. Cookie Rocks 2.5.1 lists these cookies with these durations.
Sent from your server · WeglotWeglot translates on the server and sends page text to api.weglot.com
It does not change the WordPress language, so anything that follows the WordPress locale stays in the original language unless it reads Weglot's current language.
Read in its code, 16 October 2026, Weglot 6.4.3.
Full detail
Weglot translates pages on the site's server: the HTML of each page in a translated language (and Ajax JSON answers) is parsed and its text sent to api.weglot.com, then the page is rewritten in the output buffer. It does not change the WordPress language: on a translated page, determine_locale() still returns the original language, so anything that follows the WordPress locale stays in the original language unless it reads Weglot's current language.
See the 7 other findings
Good to know · TranslatePressTranslatePress sends a banner's text to the site to look for a translation
On secondary-language pages, text added after load is sent to the site by Ajax. The data-no-translation attribute or the Exclude from dynamic translation setting skips an element.
Read in its code, 16 October 2026, TranslatePress 3.3.8.
Full detail
On pages in a secondary language, TranslatePress's trp-translate-dom-changes.js watches the page with a MutationObserver and sends text added after load, such as a consent banner, to the site by Ajax (trp_get_translations_domchanges) to look for a translation. Elements are skipped with the data-no-translation attribute or the Exclude from dynamic translation setting. Its code classes its own inline data script as functional for another consent plugin, so that it is not held.
Good to know · TranslatePressTranslatePress sets no cookie, and the banner follows the page language
It sets the WordPress language from the page address. With automatic translation on, untranslated text is sent from the server to TranslatePress AI or Google Translate, and a visit can trigger it.
Read in its code, 16 October 2026, TranslatePress 3.3.8.
Full detail
The free TranslatePress 3.3.8 sets no cookie and writes no browser storage of its own on visitor pages, and has no WP Consent API support. It sets the WordPress locale (locale and determine_locale filters) and the html lang attribute from the page address, so a banner that follows the WordPress language shows in the page's language. With automatic translation on, untranslated page text is sent from the server to TranslatePress AI (mtapi.translatepress.com) or Google Translate, and a visit can trigger it.
Good to know · MultilingualPressWith MultilingualPress, the banner shows again in each language
Each language is its own network site, with its own consent cookie and Cookie Rocks settings. A visitor who switches language sees the banner again, even on subfolders of one domain.
Read in its code, 16 October 2026, MultilingualPress 5.3.0.
Full detail
MultilingualPress gives each language its own site in a WordPress network. Cookie Rocks keeps one consent cookie per network site (cr_consent on the main site, cr_consent_<id> on the others) and one set of settings per site, so a visitor who switches language sees the banner again, even when the language sites are subfolders of one domain. The banner language follows each site's WordPress locale.
Good to know · GTranslateCookie Rocks treats GTranslate as necessary and never holds it
It lists the cookie gt_auto_switch (30 days, paid versions) and the host translate-pa.googleapis.com, and no longer lists googtrans.
Read in its code, 16 October 2026, GTranslate 5.0.1.
Full detail
Cookie Rocks recognises GTranslate by plugins/gtranslate/js/, gtranslateSettings and cdn.gtranslate.net/widgets/, classes it as necessary and never holds it. It lists the cookie gt_auto_switch (30 days, paid versions) and the host translate-pa.googleapis.com, and no longer lists googtrans.
Set before the choice · GTranslateGTranslate loads its library when the visitor points at the switcher
setting “enable_cdn” · by default: off
It also loads on click, or on page load if a language is kept or detected. It no longer sets googtrans and keeps the language in localStorage.
Read in its code, 16 October 2026, GTranslate 5.0.1.
Full detail
GTranslate 5.0.1 serves its widget scripts from the site by default (CDN option off) and inserts its translation library (cdn.gtranslate.net/widgets/latest/lib.min.js) with JavaScript when the visitor points at or focuses the switcher, clicks it, or on load if a language is kept or browser language detection applies. Every response also carries a Link: <https://cdn.gtranslate.net/>; rel=dns-prefetch header. It no longer sets googtrans; it keeps the language in localStorage __GT_TRANSLATE_LANGS (and gt_autoswitch).
Sent from your server · GTranslateGTranslate paid versions relay visitors' requests and cookies to its servers
With language folders, each translated page request is sent with the visitor's headers, cookies, form data, files and IP address. With browser detection, it sets gt_auto_switch for 30 days.
Read in its code, 16 October 2026, GTranslate 5.0.1.
Full detail
In GTranslate's paid versions with language folders, the site relays each translated page request to <server>.tdn.gtranslate.net with all the visitor's HTTP headers (cookies included, so the consent cookie too), form bodies, uploaded files and IP address. With browser detection, PHP sets gt_auto_switch for 30 days on the home page and redirects by Accept-Language (Vary: Accept-Language).
Good to know · GTranslateGTranslate free sends the page text to Google once a language is chosen
This also happens when the language is detected from the browser. Text added later is translated too, so the banner's text is sent. Elements marked notranslate are skipped.
Read in its code, 16 October 2026, GTranslate 5.0.1.
Full detail
In GTranslate's free version, once a language is chosen (or detected from the browser, without a click), the page text is posted from the visitor's browser to translate-pa.googleapis.com, and a MutationObserver translates text added later, so a banner's text is sent too. Elements with the class notranslate or translate="no" are skipped.
Multilingual sites
Other plugins of the same kind.
Questions
Does the visitor have to choose again in each language?
Only when each language is a separate site in a network, as with MultilingualPress. With the other plugins, one choice covers every language.
What happens after the 30-day trial?
The banner, your visitors’ choices and your proofs of consent keep working. Without a key, most settings lock, updates and support stop. Take a key at any time and everything opens again.
For multilingual sites
One banner in every language.
your translations stay
Every feature of the complete plugin for 30 days, no card. Your translation plugin keeps working as it does today.
- During the trial: everything, including the full settings and the scans
- After 30 days without a key: the banner, your visitors’ choices and your proofs of consent keep working
- What waits for a key: most settings, updates and support

Get your trial key
Your e-mail and your site. Your key arrives as soon as you confirm your e-mail.