·

How to rank a French and English site without keyword cannibalisation

Most Mauritian businesses with a bilingual site believe they have a cannibalisation problem. Two pages, same topic, English and French, competing in Google and splitting authority.

That is sometimes true. More often, it’s the opposite problem.

The French version was abandoned. Google deprioritised it months ago. It isn’t competing with the English version — it isn’t ranking at all. The real question isn’t how to stop two versions fighting each other. It’s how to make the French version credible enough to rank in the first place.

This post covers both problems: the cannibalisation that does happen, and the French abandonment that happens more often. Along the way, we’ll get specific about hreflang, plugin choices, keyword research by language, and the URL structures that suit a Mauritian site.

The two problems most Mauritians confuse

Keyword cannibalisation on a bilingual site happens when your English page and your French page target semantically identical queries — in the same language. If your English “services” page and your French “services” page both try to rank for “web design Mauritius” (an English query), Google sees two similar pages competing for the same signal. Authority splits. Neither ranks as well as one clean page would.

But if your English page targets “web design Mauritius” and your French page targets “création site web Maurice” — those are different queries in different languages serving different search intent. That is not cannibalisation. That is exactly what a bilingual site should do.

The confusion happens because Mauritius is genuinely trilingual in practice: French dominates media and B2C commerce; English dominates business, government, and education; Kreol is the spoken mother tongue of roughly 90% of the population (Harcourts Offshore Mauritius). Any Mauritian business publishing content faces three distinct audiences making queries in at least two written languages. Getting the signals right requires deliberate architecture, not a translated copy-paste of the English site.

Why Google is ignoring your French pages

Before fixing cannibalisation, establish whether your French pages are being indexed at all. Open Google Search Console, filter by page, and look at your /fr/ URLs. If they show zero impressions over 90 days, you don’t have a cannibalisation fight. You have abandoned pages.

The most common reasons Google deprioritises French versions on Mauritian sites:

Machine-translated content. A French version produced by auto-translating English body text has identical structure, similar word density, and near-zero original signal. Google has learned to recognise this. It doesn’t necessarily penalise — it simply doesn’t prioritise.

No hreflang. Without hreflang annotations, Google doesn’t know the two versions are language equivalents. It may index one, ignore the other, or serve the wrong version to French-speaking searchers.

Canonical pointing the wrong way. If the French page’s canonical points back to the English version, you’ve told Google “the English page is the real one.” The French page is treated as a duplicate. It will not rank independently.

Fix these three before doing anything else. They are structural, not cosmetic.

How hreflang actually works for a Mauritian site

Hreflang is an HTML tag that tells Google: “This page in English and this page in French are language equivalents — serve the right one to the right searcher.”

The correct format for a Mauritian site targeting Mauritius-based searchers:

<link rel="alternate" hreflang="en" href="https://yourdomain.mu/services/" />
<link rel="alternate" hreflang="fr" href="https://yourdomain.mu/fr/services/" />
<link rel="alternate" hreflang="x-default" href="https://yourdomain.mu/services/" />

Language-only codes (en, fr) rather than country-specific codes (en-MU, fr-MU) are correct for most Mauritian sites — unless you’re also targeting France, Réunion, or other Francophone markets as distinct geographic audiences. If a significant portion of your revenue comes from French tourists — France is historically Mauritius’s largest tourist source market, with 1,436,250 total arrivals recorded in 2025, according to Statistics Mauritius data cited by ATTA — you may want fr-FR and fr-RE as additional hreflang variants alongside fr-MU.

Three rules that break hreflang when missed:

  • Both pages must reference each other. If your English page links to the French equivalent, the French page must link back. Google ignores one-directional hreflang.
  • Every page must include itself. The English page must include a self-referencing hreflang for en. Missing self-references break the annotation cluster.
  • Canonical tags must not contradict hreflang. Each language version canonicalises to itself. Never canonical your French page to your English page.

We have audited over 40 Mauritian websites. Bilingual hreflang is broken on almost all of them — typically because of the second or third rule above.

WPML or Polylang? The honest answer for Mauritian SMEs

If you’re on WordPress — and most Mauritian sites are — you need a multilingual plugin to manage hreflang, translated content, and language-specific URL structures. Two plugins handle this well.

Polylang is free at the core level and handles hreflang generation automatically when paired with Yoast SEO or Rank Math. It works cleanly with subdirectory URL structures (/fr/), which is what we recommend for most Mauritian SMEs because it keeps domain authority centralised. For a standard service or tourism site with fewer than 50 pages, Polylang does everything you need.

WPML is the enterprise choice. It costs roughly MUR 5,500–9,000 per year (approximately EUR 115–185), manages automated translation workflows, and integrates with WooCommerce cleanly. Worth it for e-commerce stores with large product catalogues or for businesses that need a translation team working inside WordPress. For a 10–20 page service site, it is more than you need.

Our recommendation: 80% of Mauritian SMEs should start with Polylang + Yoast SEO. The setup takes a morning. Upgrade to WPML only when translation volume or WooCommerce complexity demands it.

One thing both plugins miss: they handle hreflang insertion, but they won’t fix thin translated content, poor canonical setup, or duplicate page structure. The plugin solves the technical signalling. You still need properly written French content to rank.

Separate keyword research for each language — not a translation

This is where most bilingual SEO efforts fail quietly.

A keyword that works in English does not automatically have a French equivalent with similar search volume. Mauritian French speakers search differently from European French speakers. They may use French terms mixed with English for technical queries, or default to English for business tools but French for service and lifestyle discovery.

Run keyword research in French independently. Do not start from your English keyword list and translate it. Start from how a French-speaking Mauritian business owner or tourist actually describes their problem.

For example:

  • “web design Mauritius” — English query, commercial intent, B2B-leaning
  • “création site web Maurice” — French equivalent, same intent, but different word frequency, different competitors ranking for it

These are two separate ranking opportunities on two separate SERPs. A French page targeting the English keyword cannibalises nothing — it simply misses the French SERP entirely.

Your French keyword research should use Google Search Console and Google Keyword Planner filtered to fr language and the Maurice/Mauritius region. Run SERP analysis separately in French. The competitors ranking for your French keywords are likely different from those ranking for your English ones. Generic guides don’t make this distinction. Mauritian bilingual SEO requires it.

URL structure: the decision that’s hard to reverse

Three options exist: subdirectory, subdomain, separate ccTLD.

For Mauritius, the answer is almost always subdirectory:

  • yourdomain.mu/fr/ for French
  • yourdomain.mu/ for English (default)

Subdirectories keep all domain authority under one root, simplify hreflang implementation, and are supported cleanly by both Polylang and WPML. They are the standard for Mauritian SME sites and for sites where both language versions serve the same geographic market.

Subdomains (fr.yourdomain.mu) split authority and add crawl complexity. Use them only when the French version is managed by a separate team with its own editorial workflow — rare for an SME.

A separate .mu domain for the French version is overkill for all but the largest Mauritian enterprises. Starting from zero domain authority for the French version costs more than the geographic signal is worth.

If your site is already on subdirectories, you are in the right structure. If it’s on a subdomain, migration is worth considering — but do it carefully, with 301 redirects and updated hreflang annotations throughout.

The five-point diagnostic before you touch anything

Before implementing hreflang, switching plugins, or restructuring URLs, run through these five checks. Skipping ahead to implementation without diagnosing is how you create new problems.

  1. Check indexation. Search Console → Coverage → filter to your French URLs. Are they indexed? If not, fix crawlability first.
  2. Check canonical tags. On each French page, view source and find <link rel="canonical">. Does it point to itself? If it points to the English equivalent, correct that before adding hreflang.
  3. Check existing hreflang. Use Screaming Frog’s hreflang report or the Hreflang Checker Chrome extension. Are annotations present? Bidirectional? Self-referencing?
  4. Check content quality. Is the French content a machine translation? If yes, hreflang alone will not rescue it. You need editorially written French content.
  5. Check keyword targeting. Are the French pages targeting French-language queries? Or are they targeting the same English keywords as the English pages?

If your French pages fail checks 1, 2, and 4 simultaneously, the problem is not cannibalisation — it is structural neglect. Fix in that order: crawlability → canonicals → content quality → hreflang → keyword targeting.

What this looks like on a real Mauritian site

We worked with a Mauritian villa operator whose French pages showed zero impressions in Search Console for seven months. The diagnosis: French pages were canonicalised to their English equivalents (a default WPML setting left untouched at setup), content was machine-translated from English, and hreflang was absent entirely.

Fix sequence: corrected canonical tags to self-referencing; rewrote three core service pages in French with independent keyword targeting; implemented hreflang correctly via WPML. Within eight weeks of recrawl, French impressions appeared. Within twelve weeks, three French-language queries had entered the top-10 positions for the first time.

Not every site recovers that quickly. But none recover without fixing the structure first.

(Digital Growth client — anonymised, scenario published with client permission)

FAQ

Does hreflang prevent keyword cannibalisation between languages?
Yes, when implemented correctly. Hreflang tells Google which language version to serve to which user, removing the signal conflict between your English and French pages. However, hreflang alone doesn’t make either version rank well — that still requires quality content targeting the right queries in each language.

My French pages are live but getting zero Google traffic. Is it cannibalisation?
Probably not. Zero impressions over 90 days usually means Google isn’t indexing or prioritising the French version at all — not that it’s competing with your English version. Check canonical tags and content quality before assuming cannibalisation is the cause.

Do I need hreflang if I only have one language version?
No. Hreflang is only needed when you have multiple language versions of the same content. A monolingual site doesn’t need it.

Should I use language-only hreflang (fr) or language+region (fr-MU) for a Mauritian site?
Use language-only (fr, en) if you’re targeting Mauritius-based audiences. Add country codes (fr-MU, fr-FR, fr-RE) only if you’re also targeting France and Réunion as distinct geographic markets — for example, if you run a hotel that markets pre-arrival to French and Réunionnais travellers.

How long does it take for Google to pick up hreflang changes?
Typically two to six weeks for recrawl, depending on crawl frequency. For a new or low-traffic Mauritian site, allow eight weeks before evaluating the impact.

Can I add hreflang without switching WordPress plugins?
Yes. You can add hreflang tags manually in your theme’s <head> or via a lightweight snippet. It’s less convenient than WPML or Polylang handling it automatically, but it works cleanly for simple sites with fewer than 20 pages.

What to do next

Bilingual SEO sits within the broader SEO compound-asset playbook — the same compounding logic that makes English content appreciate over time applies to French content, with its own separate authority curve.

For the tactical groundwork that belongs before bilingual architecture, read the complete .mu SEO checklist — hreflang is one item on that list, and it belongs in sequence, not in isolation. And for the context on why so many Mauritian sites are missing these foundations entirely, start with why most Mauritian websites are invisible on Google.

The deeper hreflang breakdown — what happens when your site also targets Réunion, how to structure multilingual XML sitemaps, and how to recover a site where both language versions have been cannibalising each other for years — is covered in a dedicated post.

When your bilingual structure is clean, the next priority is local search in Mauritius — because the French-speaking market you’re trying to reach often searches locally first.

Ready to find out which of these problems your site actually has? We offer a 30-minute bilingual SEO audit. We’ll check your hreflang, canonical structure, and French indexation, then send you a written report within 48 hours. Book it here.