You want your website to be available in multiple languages. It sounds simple — until you dive into the technical details. Subdomain or subdirectory? What exactly is hreflang? Do you need to duplicate every page? And how much will it cost?
This guide answers all these questions, practically and without unnecessary jargon. Whether your site runs on WordPress, Shopify, React, Next.js or any other tool, the principles are the same.
Before you start: the fundamental questions
Before touching anything, answer these three questions:
1. Which languages to target?
Don't do everything at once. Start with 2-3 languages based on your data: where does your current traffic come from? Where is your target market? English is a solid default choice if it is not already your source language. Then choose based on your business.
2. What is your budget?
Costs range from €0 (DIY manual translation) to several thousand euros per month (translation agency + dedicated infrastructure). Define a realistic budget before choosing your tool.
3. What quality level do you expect?
A personal blog can get by with automatic translation. An e-commerce site with product pages needs to be flawless. A legal or medical site requires human review. Calibrate your expectations.
URL architecture: the first technical decision
How you structure the URLs of your translated pages directly impacts your SEO. There are three main options:
Subdirectories (recommended for most cases)
yoursite.com/fr/
yoursite.com/de/
yoursite.com/es/
Advantages: easy to set up, one domain to manage, domain authority is shared across all languages.
Disadvantages: less flexibility for hosting versions in different countries.
Subdomains
fr.yoursite.com
de.yoursite.com
es.yoursite.com
Advantages: clear separation between versions, hosting flexibility, ideal for Shopify and some CMS.
Disadvantages: each subdomain is considered a semi-separate site by Google, so domain authority is partially diluted.
Separate domains (country TLDs)
yoursite.fr
yoursite.de
yoursite.es
Advantages: strong geographic signal for Google, maximum local trust.
Disadvantages: expensive, complex to manage, completely separate domain authority. Recommended only for large companies with distinct national markets.
Our recommendation: start with subdirectories. It is the simplest, most cost-effective, and most efficient for SEO in the majority of cases.
Hreflang tags: essential for multilingual SEO
Hreflang tags tell Google which version of your page corresponds to which language and country. Without them, Google may index the wrong version or treat your translations as duplicate content.
Here is what they look like in the <head> of your page:
<link rel="alternate" hreflang="fr" href="https://yoursite.com/fr/" />
<link rel="alternate" hreflang="en" href="https://yoursite.com/en/" />
<link rel="alternate" hreflang="de" href="https://yoursite.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://yoursite.com/" />The x-default value indicates the default version for visitors whose language is not specifically targeted.
Common mistakes:
- Forgetting the
x-default - Adding hreflang on the homepage but not on internal pages
- Using incorrect language codes (it is
defor German, notge) - Not having reciprocal hreflang tags (if A points to B, B must point to A)
The 4 methods to translate a website
Method 1: Manual translation
You create each page in each language, either yourself or with a professional translator.
For whom: sites with little content and a translation budget, or sites requiring flawless translation quality (legal, medical).
Limits: doesn't scale. 50 pages × 4 languages = 200 pages to maintain individually.
Method 2: CMS translation plugin (WPML, Polylang)
A plugin that adds a translation management system to your CMS.
For whom: WordPress sites with a technical team capable of managing the installation and maintenance.
Limits: WordPress-specific, complex installation, each new content piece must be translated separately.
Method 3: Translation proxy (Weglot)
A third-party service that intercepts your content, translates it and serves it from its own servers.
For whom: marketing websites that need a fast solution with turnkey multilingual SEO.
Limits: high cost as the site grows, dependency on a third-party service, potential latency.
Method 4: Client-side translation (LingoJs)
A JavaScript snippet that detects and translates content directly in the visitor's browser.
For whom: any type of site — WordPress, Shopify, React, Next.js, Wix, custom site. Ideal for those who want a fast, affordable solution without modifying source code.
How it works:
- You add a single line of code in your
<head> - LingoJs scans the DOM and identifies all visible text
- The text is translated via contextual AI
- The translation is served in ~26ms, invisible to the user
- You can manually edit any translation via the dashboard
<script src="https://cdn.lingojs.com/lingo.js" data-api-key="YOUR_KEY" async></script>This approach works with any platform, any framework, any theme. No dependencies, no modifications to your existing code.
The language selector: UX best practices
The language selector (language switcher) is a crucial UX element. A few rules:
- Name each language in its own language — "Deutsch" not "German", "Español" not "Spanish"
- Avoid flags alone — A British flag for English excludes Americans, Australians, etc. Flags are country symbols, not language symbols
- Place it in the top right — This is the most common web convention, users look for it there
- Detect language automatically — Serve the right language by default based on browser language, but always allow switching
Dynamic content: the invisible challenge
Many translation solutions only handle static content — classic HTML text. But modern websites are packed with dynamic content:
- Search results loaded via AJAX
- JavaScript notifications and error messages
- Marketing pop-ups (Klaviyo, Privy, OptinMonster)
- Chatbots and help widgets
- Dynamically loaded customer reviews
- Product configurators
LingoJs observes the DOM in real time via a MutationObserver. Every time new content appears on the page — whether a pop-up, a search result or an error message — it is translated automatically, with no additional configuration.
Checklist before launching your multilingual site
Before going live, verify:
- ✅ Hreflang tags are in place on all pages
- ✅ The language selector works correctly
- ✅ Key pages are proofread (homepage, products, contact)
- ✅ Forms work in all languages
- ✅ Metadata (title, description) is translated
- ✅ Images containing text have alternatives
- ✅ The XML sitemap includes URLs for all languages
- ✅ Google Search Console is configured for international versions
- ✅ Automatic browser language redirection works
How long does it take?
| Method | Installation time | Monthly maintenance |
|---|---|---|
| Manual translation | 2-8 weeks | 5-20 h/month |
| WPML / Polylang | 1-3 days | 2-5 h/month |
| Weglot | 30 minutes | 1-2 h/month |
| LingoJs | 5 minutes | 30 min/month |
Maintenance time matters as much as initial installation. A tool that requires little maintenance frees up time for what counts: growing your business in new markets.
Take action
Making a website multilingual in 2026 is no longer a months-long project. With the right tools, it is a matter of minutes.
Try LingoJs free for 30 days. No credit card, no commitment. See your site in a new language in less than 5 minutes.
