The hidden cost of getting bilingual wrong
Most bilingual websites don't fail because the French is bad. They fail because nobody decided how the two markets were supposed to relate to each other in the first place.
That decision is a business decision. The site is just the place it becomes visible. When the decision gets skipped, the site reveals it — usually as one of four predictable failure patterns. We've seen each of them dozens of times. Once you can name them, you can stop walking into them.
Failure mode 1 — The Two-Site Tax
You decided to run two sites. company.com for the US,
fr.company.com for France. It felt clean. Two markets, two
sites, two teams.
A year in, you're paying for everything twice. Two CMS instances. Two content calendars. Two design refreshes that never quite match. Your SEO authority is split between two domains that should be reinforcing each other. Nobody on the team is sure which version is canonical anymore. The French site falls a release behind, then two, then nobody opens it.
You solved translation. You broke operations.
Failure mode 2 — The Toggle Trap
A plugin promised the opposite. One site, one CMS, a flag in the corner that swaps the language on the same URL. Click EN, click FR. Done.
Then someone looks under the hood. The "French version" isn't a real page — it's the English page with text swapped on the fly. Hreflang tags are missing or wrong. Google is indexing the same URL twice. Local search in Québec returns your English page because the French one technically doesn't exist as its own address. The French copy reads like English wearing French — because that's exactly what it is. Your French customers feel it in the first paragraph and never come back.
The toggle felt like simplicity. It was actually a debt you took on without reading the contract.
A note on what the Trap is not: a language switcher in your header is fine, and we recommend one — it's how visitors who land on the wrong language find their way to the right one. The Trap is when the switcher is the only language layer, with no real per-language URLs underneath it. If your French page has its own URL, its own hreflang, its own canonical, and was authored natively in French, you don't have a Toggle Trap. You have a real bilingual site with a useful switcher on top — which is what good looks like.
Failure mode 3 — The Cultural Mismatch
Same homepage. Same testimonials. Same pricing layout. Same urgent red CTA button at the bottom. Translated, of course — properly translated, by a real human, not a plugin.
It still doesn't convert in French.
Because French B2B buyers don't respond to American conversion tactics. The countdown timer feels pushy. The five-star reviews from people with first names only feel like astroturf. The "Get Started" button feels presumptuous. The pricing-without-tax feels evasive. None of these are translation problems. They're cultural-default problems, and translating around them just makes them louder.
Failure mode 4 — The Orphaned Market
You launched bilingual. You meant it. There was a content calendar for both languages. There was even a pizza party.
Six months later, the English blog has fifteen new posts and the French side has two — one of them an outdated event recap. The English testimonials are fresh, the French ones are from the launch. Customer support quietly stopped responding to French tickets in French. The French version of the site is still up, technically. It has just become a museum.
Nobody decided to abandon the secondary market. It happened because nobody owned it.
Which one sounds like your site?
Pick the card that hits closest. Read that section of the Playbook first.
The Two-Site Tax
You're running two domains, two CMS instances, two of everything — and the French side keeps falling behind.
Jump to: Strategy →The Toggle Trap
One site with a language switcher. SEO is messy, the French copy doesn't quite land, and you're not sure your hreflang is doing anything.
Jump to: Architecture & SEO →The Cultural Mismatch
The translation is fine. The conversion isn't. French visitors land, scroll, leave.
Jump to: Content & Voice →The Orphaned Market
You launched bilingual. The second language hasn't been touched in six months.
Jump to: Operations →The Bilingual Maturity Ladder
We've worked with enough bilingual businesses to see them sit on a clear progression. Five stages, from accidentally bilingual to strategically bilingual. Find the one that sounds like you — that's your starting point, and the next rung is your next move.
- Stage 1
Accidentally Bilingual
You happen to serve both audiences because of who walks in the door. Your website is in one language. The other audience navigates around it. There's no strategy here, just demand leaking through.
- Stage 2
Translated
Someone added a second language. Maybe a plugin, maybe a rushed translation pass. The information is technically present. Nothing has been localized — it's the same site, same offers, same testimonials, same trust signals, just in a different language. This is where most bilingual sites stall.
- Stage 3
Localized
You've stopped translating and started rewriting. The French copy is native. The testimonials are from French speakers. The pricing convention matches French expectations. The CTA tone is different on each side. The site no longer reads as a translation in either direction.
- Stage 4
Operationalized
The site is the output of a process, not a project. Someone owns French content. Someone owns English content. There's a calendar that doesn't let either side rot. Customer support handles mixed-language tickets without fumbling. Reviews are solicited in the language the customer used. The site stays current in both languages because the operation stays current.
- Stage 5
Strategic
You're using bilingual as a competitive advantage, not a fulfillment requirement. Each market has its own positioning, its own metrics, its own growth plan. You decide where to invest based on where the business is going — not on which language got more attention this quarter. Bilingual is no longer something you do. It's something you are.
Where are you on the ladder? Most businesses we audit are at Stage 2 and think they're at Stage 3. The gap between the two is where almost all the value is.
The Six-Part Playbook
Six sections, in the order we'd actually walk a client through them. None of this is theoretical — every page of it is something we've had to figure out for a real business with real customers in two languages.
Section 1 — Strategy
Before you touch architecture, voice, or code, you need to answer four questions. We ask every bilingual client these in the first conversation.
Primary market
Which market is primary? Not which one you like more — which one currently funds the business, and which one you're betting on. They're often not the same. Naming a primary market gives you a default for every later trade-off: when the two versions disagree, which one wins?
One business or two?
Are the two markets the same business or two related businesses? Same product, same offer, same pricing in both languages? Then you're running one business in two voices. Different positioning, different price points, different audiences? Then you're running two businesses that share infrastructure. Both are valid. Confusing them is what creates the Two-Site Tax.
Proof per market
What does each market need to believe about you to buy? Not the same thing. American buyers tend to want proof of speed, scale, and outcomes. French buyers tend to want proof of seriousness, longevity, and discernment. Your site has to do different proof work in each language.
Ownership a year out
Who owns each side twelve months from now? If the answer is "the founder, in their spare time, when they remember," your site will end up at the Orphaned Market. The decision you're really making is whether you can resource both markets — and if you can't, say so and pick one as primary now, before the architecture locks the choice in for you.
The decision tree — one site, two sites, or hybrid
For almost every business under $50M, the answer is one site, structured properly, with native content per language. Two sites is rarely the right answer; it's the answer that feels right because separation feels organized. It usually isn't.
Section 2 — Architecture & SEO
The technical layer where most bilingual sites quietly bleed traffic.
URL structure — subdomain vs subdirectory
Three credible options: a subdirectory (company.com/fr/), a subdomain (fr.company.com), or a
country-code domain (company.fr). For most
businesses, subdirectory wins. It keeps your site's
search reputation in one place instead of splitting it in two, it's the
simplest to operate, and it survives migrations. Subdomains split
authority. Country-code domains only make sense if you're running a
fundamentally separate operation in another country.
Hreflang done right
Hreflang is the small piece of code that tells Google "this page exists in these other languages, here are the URLs." It's the single most-broken piece of bilingual SEO. The five common ways it breaks:
- Self-referencing tags missing (every language version must reference itself, not just the others)
- Tags in
<head>on some pages and in the sitemap on others, inconsistently - Region codes wrong (
fr-FRvsfr-CAvs plainfr— pick one strategy and apply it everywhere) - Hreflang pointing at canonicalized URLs that redirect somewhere else
- Each language declaring a different canonical, fragmenting authority
Get hreflang right and Google stops indexing your duplicates. Get it wrong and you'll never know exactly which page Google is showing in which market.
Canonical tags across languages
Each language version is canonical to itself. The English page does not point at the French page as the "real" version, or vice versa. They are alternates, not duplicates.
The duplicate content myth
Translated content is not duplicate content in Google's eyes. This myth has paralyzed bilingual SEO for years. What is a problem: two near-identical English pages competing for the same query. That's a duplicate. EN and FR versions of the same article are not.
Local SEO in two markets at once
This is where the subdirectory approach pays off. You can have a Google Business Profile in each market, structured data in each language, local citations in each language's directory ecosystem (Pages Jaunes for FR, Yelp/BBB for US/EN-Canada), and they all reinforce one domain.
A note on stack choice. None of the above is locked to a particular CMS. We've taken a French-speaking community platform from a plugin-heavy WordPress install to a static Astro build and watched its Core Web Vitals stop being a liability overnight. We've also kept bilingual brands on WordPress when that was the right call for the team running it. The Playbook is about decisions, not platforms — but the decisions get cheaper to execute on a stack that treats both languages as first-class.
Section 3 — Content & Voice
This is the section that decides whether your site reads as bilingual or as a translation pretending to be bilingual.
Translation vs localization
Translation moves words across languages. Localization rewrites the argument to make sense in the target market's frame. A localized French homepage doesn't have the same five sections as the English one in the same order. It has the sections that work for a French reader, in the order a French reader expects, citing the proof points a French buyer trusts.
One brand, two voices
Your brand voice is constant — the values, the perspective, the things you'd never say. The voice that expresses that brand is different in each language. American B2B copy can be punchier and more direct without sounding rude. French B2B copy can be more relational and slightly more formal without sounding stiff. If your French page sounds like the English one in disguise, you have a voice problem, not a translation problem.
Testimonials in the original language
Keep them in the language the customer gave them in. A French testimonial in French is a trust signal. A French testimonial translated into English on the English page is fine — but the reverse (English testimonial translated into French on the French page) often reads as theater. If you must translate a testimonial, label it as translated and include the original.
Case studies matched to audience
Lead each language version with the case study that resonates with that audience. Your French site should lead with a recognizable French-speaking client. Your English site should lead with a recognizable English-speaking one. Each can reference the other in a "selected work" grid further down — but the lead has to feel familiar.
Imagery and cultural cues
Storefronts, signage, currency, architecture, dress, weather. The image system can be shared, but the photo selection should not. A French reader notices instantly when every photo on the FR page features American buildings.
Section 4 — Operations
This is the section nobody writes about. It's also the one that decides whether your site is still alive in eighteen months.
Named owners per language
Every piece of content needs three named owners per language — who writes, who reviews, who ships. Not "the team." Not "we." A name. If you can't fill those nine slots (write/review/ship × EN/FR/shared) on a whiteboard right now, your site will end up at Failure Mode 4.
Bilingual content calendar
Two columns, not one. Same row for the same topic if you're publishing in both languages, but staggered so neither language is waiting on the other. The cardinal rule: neither language blocks the other. If the French version of an article isn't ready, ship the English one and add the French when it's ready. Don't hold launches hostage to perfect parallelism.
Mixed-language customer support
Customer emails will arrive in whichever language the customer prefers. Decide who replies, in which language, and how fast. Document it. The day this gets ambiguous is the day the secondary-market customer experience starts decaying.
Review solicitation per language
Ask for reviews in the language the transaction happened in. Not in your primary language, not in the language easiest for the team. The result: a review profile that looks bilingual to bilingual buyers and credible in each language individually.
CMS parity (internal tooling)
Whatever CMS you use, the editing surface should treat both languages as first-class. If editing the French version is harder than editing the English version, the French version will rot.
Section 5 — Conversion
The same CTA fails in both languages. That's the headline.
CTAs rewritten, not translated
"Book a strategy call" is a transactional command. "Réservez un appel stratégique" is the literal translation, and it lands as cold and slightly presumptuous. "Parlons de votre stratégie bilingue" — let's talk about your bilingual strategy — does the same job in French B2B register. Not a translation. A redesign of the CTA for the language's expectations.
Form length per market
French B2B buyers expect more context before a form. American buyers expect less. The same form, dropped into both pages unchanged, will under-convert in one and feel slow in the other.
Pricing convention — match the regime you actually bill in
The real question isn't "EN vs FR" — it's which currency and tax regime do you invoice in, and is that obvious to a visitor reading the other language? Three common cases:
- French entity billing French clients in EUR with TVA. Show prices TTC (tax included — the French standard) on the French page. If you also have an English page for the same offer, show the same TTC EUR price and label the currency clearly.
- US entity billing US clients in USD. Show prices pre-tax on the English page (the US standard). On the French page, show the same USD price — same number — but label the currency unmistakably ("USD") and add a one-line note on tax treatment for international clients. What you do not do is silently swap currencies or convert on the fly. Exchange rates move, the number goes stale, and you create a credibility gap the moment the invoice lands.
- Cross-border (e.g. a French-owned business operating in the US, billing in USD). Same as the US case above. Your pricing convention follows your invoice, not your visitor's nationality. Make the currency and the tax framing explicit on both language versions.
The credibility signal isn't TTC vs pre-tax in isolation — it's the
absence of ambiguity. A French B2B buyer can read a USD price on a French
page without flinching, as long as they immediately understand it's USD
and how the tax will work for them. They cannot read an unlabeled
$349 and trust you.
Trust signals per market
US buyers want logos, scale, "as seen in," outcome metrics, founder credentials. French buyers want longevity, seriousness, named clients, restraint. Same brand, different proof.
Legal and compliance per market
GDPR for any French or European audience, ADA for the US, CASL if you're emailing into Canada, Loi 96 if you're targeting Québec. None of this is decoration — getting it wrong creates real liability. The Checklist at the end of this Playbook links the authoritative source for each.
Urgency and scarcity tactics
Countdown timers and "only 3 left" badges work in some US contexts. They almost never work in French B2B. Conversion-rate-optimization tactics imported from US e-commerce blogs are some of the most reliably damaging things you can do to a French B2B page.
Section 6 — Measurement
You can't measure a bilingual site with a single funnel. You'll get an averaged number that hides which market is healthy and which one is dying.
Analytics segmented by language
GA4 lets you segment by content group or by URL path. Use it. Every dashboard you look at should default to "by language" so you see the two markets side by side, not blended.
KPIs per market, not blended
Conversion rates will differ. Time-on-page will differ (longer in French — French sentences are longer). Bounce rates will differ. Don't normalize them. Track each market against its own baseline.
Success per Maturity Ladder stage
At Stage 2, success is "we shipped both languages." At Stage 3, it's "the secondary market is converting at a defensible rate." At Stage 4, it's "both languages publish on schedule without heroics." At Stage 5, it's "we're investing in each market based on where the business is going, not on which one is loudest in the team Slack."
When to rebalance investment
If one language is consistently outperforming the other on conversion and the underperforming one isn't getting enough attention to be a fair test, the answer is not to abandon it. The answer is either to invest in it properly or to formally retire it. The middle ground — half-supporting it forever — is the most expensive option.
Cultural decision tables
The most-shared section of this Playbook. Print it out. Pin it next to whoever is making your next bilingual design decision.
Pricing presentation
| Element | English (US) page | French page |
|---|---|---|
| Default tax convention | Pre-tax pricing, "+ tax" small print | TTC (tax included) by default — if you actually bill in EUR with TVA. If you bill in USD, show USD on both sides and label it. |
| Currency | $ with no decimal point if round | € with comma decimal, space before symbol — or USD clearly labelled if that's your invoicing currency |
| Discount framing | "Save 20%" | "-20%" or "économisez 20%" |
| Pricing table tone | Compact, scannable, outcome-led | Slightly longer, context first |
Testimonials and proof
| Element | English page | French page |
|---|---|---|
| Format | Headshot + first name + title + 1–2 line quote | Full name + title + company + longer quote |
| Star ratings | Common, expected | Used sparingly, can read as gimmicky |
| Number of testimonials | More is fine | Fewer, better-written ones outperform |
| Logo wall | "Trusted by" | "Ils nous font confiance" — same idea, less prominent placement |
CTAs
| Element | English page | French page |
|---|---|---|
| Default verb | Imperative ("Get", "Book", "Start") | Invitation ("Parlons", "Découvrez", "Demandez") |
| Microcopy under button | "Free. No credit card." | "Gratuit, sans engagement." |
| Urgency tactics | Countdown timers acceptable in some contexts | Avoid almost always in B2B |
| Form length | Short, ask for the minimum | Slightly longer is acceptable, sometimes preferred |
Trust signals
| Element | English page | French page |
|---|---|---|
| Founder bio | Outcomes, credentials, sometimes personal | Longevity, formation, restraint |
| Press mentions | "As seen in" prominent | Cited but understated |
| Years in business | Optional | Strong signal — display it |
| Awards | Bullet list, prominent | Mentioned, not foregrounded |
Legal and compliance
| Element | English page | French page |
|---|---|---|
| Privacy | CCPA / state-by-state | RGPD, explicit cookie consent, named DPO if applicable |
| Accessibility | ADA, WCAG 2.1 AA | RGAA, WCAG 2.1 AA |
| Quebec (if relevant) | n/a | Loi 96 — French must be predominant |
The reference implementation — and a Playbook in WordPress
There's a reason this Playbook isn't theoretical. The site you're reading it on is the reference implementation.
Oui Digital — the site as the proof
We built Oui Digital's own site as the answer to every question this
Playbook asks. Two languages, one codebase, no plugins, no toggle in the
hero, no translated copy pretending to be native. Two URL paths per page
(/about and /fr/a-propos, /case-studies
and /fr/portfolio) — keyword-true in each language, not a
path-mirroring trick. Hreflang and canonical handled at the framework
level, not as an afterthought. A language switcher in the header that
exists for visitors who land on the wrong version, not as the primary
navigation choice.
Stack choice: Astro, static-rendered, hand-coded. The bilingual routing is custom — we own every line of it — because the moment the i18n logic becomes a plugin you can't read, the Cultural Mismatch failure mode starts to leak in. We chose a stack where the language layer is a first-class citizen, not a translation overlay.
Content model: Every page is authored twice. Not translated — authored. Each language has its own JSON locale namespace, its own page wrapper, its own slug. Blog posts live as separate Markdown files per language and link to each other through frontmatter, so an English article and its French sibling are connected for hreflang purposes without one being treated as the canonical version of the other.
Operational reality: Both languages ship together when they ship together, and ship apart when one is ready first. Neither language blocks the other. The site is current in both languages because the operation is current in both languages — there is no separate French team and no English team. There is one studio, working in two voices, against one editorial calendar.
Where this puts us on the ladder: Stage 5. We use bilingual as a competitive advantage, not as a fulfillment requirement. Each market has its own positioning angle, its own primary keywords, its own conversion logic on the page. The site is the working answer to every section of this Playbook. If you want to inspect the architecture, every part of it is public — including this page.
We're showing our own site as the case study because we'd feel dishonest selling a Playbook we hadn't built ourselves first.
Aurore Lacas Coaching — the Playbook on WordPress
Not every bilingual project needs to be hand-coded. Aurore Lacas is a coaching brand we built from zero — name, identity, voice, and a fully bilingual website — on WordPress, with TranslatePress as the language layer. French primary, English secondary, targeted at French speakers in Canada, France, and internationally.
Project at a glance
We're including this case here on purpose. The Playbook is not a stack manifesto. The decisions in Sections 1 through 6 — primary market, content ownership, native voice per language, cultural defaults, conversion logic, measurement — apply just as cleanly on WordPress as they do on Astro. The platform changed; the decisions didn't.
What the project needed to get right:
- A French-first voice that didn't sound like a coaching template translated from English (most coaching sites in French do sound like that, and it's instantly disqualifying for a French B2C buyer in this category).
- An English version that worked as a credible second door, not as the primary entry point — the audience strategy was deliberately French-first.
- A booking flow that respected the discovery-call cadence Aurore actually runs, in both languages, without two parallel scheduling systems.
- A brand built on a story (former pharmaceutical expert turned coach) that needed to land as warmly in English as it does in French — different register, same trust.
What it proves: Stage 3 (Localized) is reachable on a conventional stack with a conventional CMS. You don't need to throw out your platform to do bilingual properly — you need to make the strategic decisions before you start touching the platform at all. Aurore's site sits at a clean Stage 3, and the path from Stage 3 to Stage 4 (Operationalized) is a content-and-process question, not an engineering question.
The honest read: if you're starting from scratch and want a Stage 5 site, hand-coded static is the cleaner answer. If you have a working WordPress install and a team that knows it, the right answer is usually to fix the strategy and the voice on the platform you already run, not to rebuild. The Playbook is what tells you which of those two situations you're actually in.
The Bilingual Site Checklist
A practical checklist you can hand to any agency — including a competitor — to know whether they understand bilingual sites or are about to sell you a translation plugin.
It covers: URL and hreflang requirements, content ownership model, localization vs translation expectations, cultural decision defaults, and the operational checks that keep both languages alive after launch.
It's free. No email required. Use it however you want — including with another studio.
We give it away because the trust move only works if it's frictionless. If you end up hiring someone else and the Playbook helped you ask better questions, that's a fair outcome.
Frequently asked questions
-
For almost every business under $50M in revenue, one site with proper subdirectory structure is the right answer. Two sites split your SEO authority, double your operating cost, and almost always lead to one site falling behind. The only cases where two sites genuinely make sense are when you're operating two fundamentally different businesses that happen to share a brand.
-
No. This is one of the most persistent myths in bilingual SEO. Translated content is not duplicate content in Google's eyes — as long as your hreflang tags are configured correctly and each language version has a self-referencing canonical, you're fine.
-
Show the same USD price you show on the English page, and label the currency unmistakably as USD. Don't convert to EUR on the fly — exchange rates move and the number goes stale within days. Don't pretend to bill TTC if you don't. The one thing you should add on the French page is a single line on tax treatment for international clients. The credibility killer isn't using USD on a French page — it's leaving the visitor unsure which currency or tax regime applies to them.
-
Yes — but the switcher is not the language layer. A discreet EN/FR switcher in your header is the right affordance for visitors who land on the wrong version of your site. If clicking it takes the visitor to a real, separate URL with its own canonical, hreflang, and natively-authored content, you have a healthy bilingual site. If it just swaps text on a single URL, you have a Toggle Trap.
-
You can. They're real tools and they solve a real problem. But they solve the translation problem, not the localization problem. If you use one, you still need a human writer for each language doing rewrites — not just translations — and someone responsible for reviewing the output for cultural fit. The plugin is the delivery layer, not the strategy.
-
It depends on whether anyone owns it going forward. If you can name a person who will be responsible for the French side a year from now, revive it. If you can't, formally retire it instead of letting it rot in public. The middle ground — leaving a dead version live — is worse for your brand than not offering it at all.
-
Hreflang is a small piece of HTML or sitemap metadata that tells search engines 'this page exists in these other languages, here are the URLs.' If you have any version of your site in more than one language, you need it. Without it, Google guesses — and it often guesses wrong.
-
A translator moves words between languages. A bilingual site needs more than that: someone deciding which sections exist on each side, which proof points to lead with, how the conversion paths differ, how each market's analytics is read, and how the operation keeps both sides alive over time. A translator is one input. The Playbook is the framework for the rest.
-
Yes — Loi 96. Quebec's French-language law has been progressively expanding, and French must now be 'markedly predominant' on commercial-facing materials, including websites. If you're targeting Quebec specifically, this isn't a 'nice to have' — it's a compliance requirement, and the deadlines have teeth.
-
Have a French speaker who doesn't know the source read the page cold. If they ask 'is this translated from English?' within the first paragraph, it is. Native French copy doesn't trigger that question.