Give every first-time visitor your language, not their browser’s.
Pin a fixed default language for new website visitors, protect it with bot exclusion and geolocation fallback, and prove the fix works with a built-in language-mismatch dashboard — without breaking /xx/ URLs or search indexing.
The problem
Odoo serves first-time visitors whatever language their browser reports, fragmenting multilingual sites and diluting local SEO. A Vietnamese business’s English-configured visitors land on a half-finished English page, search engines index every language variant with equal weight, and owners have no way to see how often it happens or prove a fix would help.
The solution
Pin one fixed default language per website for new visitors, while explicit /xx/ URLs and returning-visitor cookies stay untouched. Search-engine bots are excluded automatically so every language version keeps indexing, an optional country map picks a sensible fallback, and a live mismatch dashboard shows exactly how much fragmentation the fix removes.
Everything you need to pin the right language
Every capability below is implemented in the module.
Fixed default language switch
Turn on Force default language per website and pick the language new visitors should see, no matter what their browser reports.
First-time visitors only
The override applies only to new visitors. Anyone who already chose a language, or arrived on an explicit /xx/ URL, keeps seeing exactly what they expect.
Search-engine bot exclusion
Crawlers are detected and skipped automatically, so every localized page keeps its normal per-language route and stays fully indexable — the override never gets in the way of search engines.
Geolocation fallback map
Map countries to languages in a simple list — scoped per website or applied globally — so visitors get a sensible language even when the fixed default doesn’t fit their region.
Explicit choices always win
A visitor who picks a different language keeps that choice through their whole session; the fixed default never overrides an action a visitor already took.
Language-mismatch dashboard
A stacked bar chart shows served language against browser language for every recorded visit, so you can see — and prove — how much fragmentation the fix removes.
Mismatch statistics with one-click reset
Browse every tracked visit by website, browser language, served language and country, then clear the sample with a single Reset Statistics button.
Per-website multisite configuration
Every setting — the fixed language, bot exclusion, geo fallback and tracking — is scoped per website, so agencies running several client domains from one database configure each independently.
How it works
Enable the switch
Open Website Settings, turn on Force default language, and pick the language new visitors should land on.
Add safeguards
Keep bot exclusion on so crawlers keep indexing every language, and optionally add country rows for a geolocation fallback.
Let visitors browse
New visitors land on your chosen language automatically; explicit /xx/ URLs and language choices are always respected.
Watch the dashboard
Check the Language Mismatch report to see served-versus-browser language mismatch drop as the fix takes effect.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
No. Any request whose path already starts with a known language code is left alone — the fixed default only applies when no language is specified in the URL.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Website Fixed Default Language
Pin a fixed default language for first-time visitors, with search-engine bot exclusion and a geolocation fallback map — and a mismatch dashboard that shows how often it matters.
Buy on Odoo App Store