Your whole website, in another language. Without touching your website.
Flip a switch, choose your languages, and every page is served translated — from a URL like /sv/ or from its own domain. No plugin. No SDK. No exporting strings. Nothing on your server changes at all.
Going multilingual used to be a project
Anyone who has done it the traditional way knows the shape of it. This removes the entire shape.
The traditional route
- Install a multilingual plugin and hope it likes your theme
- Duplicate every page, post and product into a second tree
- Export strings, send them out, paste them back
- Discover the plugin slowed the site down measurably
- Repeat all of it every time you publish something new
- Do it again for the third language
With edge translation
- Turn on translation and tick the languages you want
- Your existing pages are already the source — nothing to duplicate
- New content is translated the first time someone asks for it
- Cached at the edge, so it is as fast as your source language
- Nothing installed, so nothing to conflict and nothing to slow down
- The fourth language is another tick box
A path prefix, a dedicated domain — or both
You decide what each language's address looks like. Both options serve real, crawlable HTML at a real URL; they differ in how much of a local presence you want to project.
Path prefix
One domain, one certificate, one DNS record — already done. Each language lives under its own prefix on the site you already have.
- Live the moment you enable it — no new domain, no new certificate
- All your existing domain authority stays on one domain
- Every path on your site works with every prefix, automatically
- Add or remove a language in seconds
A domain per language
Point a domain at the same zone and tell us which language it serves. Visitors on that domain always get that language, with no prefix in sight.
- A local domain reads as a local business to local shoppers
- A clean address with no language prefix to explain
- Certificates are issued and renewed automatically for each domain
- Still one zone, one origin, one set of settings to manage
The whole page — not the bits someone remembered to tag
Because this works on the finished HTML rather than on strings a developer marked up, there is nothing to mark as translatable and nothing that gets forgotten. Menu, headings, body copy, product descriptions, buttons, footer.
Letvægts løbesko til hverdagstræning
En åndbar overdel og en dæmpende mellemsål gør disse sko til et sikkert valg til både korte og lange løbeture. Fås i fem farver.
Lätta löparskor för vardagsträning
Ett andningsbart ovandel och en dämpande mellansula gör dessa skor till ett säkert val för både korta och långa löprundor. Finns i fem färger.
Illustrative example. Note the navigation, the button and the shipping line — none of which a developer had to mark as translatable.
Visitors stay in their language when they click
A translated page full of links back to the source language is worse than no translation at all — the visitor gets dropped out of their language on the first click. Internal links are rewritten to carry the language with them.
Translated once, then cached like any other page
The cost of translating is paid once per page per language, by the first person who asks for it. After that it is an ordinary cache hit at ordinary cache speed.
The edge recognises the language
From the path prefix, or from which domain the request arrived on. Nothing needs to be in the URL of your source site.
Your page is fetched exactly as it is
One language, unchanged, from the origin you already run. Your server has no idea any of this is happening.
The page is translated and links rewritten
Text is translated in place; internal links are rewritten so the visitor stays in-language as they browse.
The result is cached at the edge
Stored next to the source-language copy. Every later visitor gets a normal cache hit — same speed as everything else you serve.
Real URLs, not a JavaScript toggle
This is the whole reason to do it at the edge rather than in the browser. A crawler asking for /sv/produkter gets back genuine Swedish HTML — the same bytes a person gets. That is a page that can be indexed and can rank.
| Approach | What a crawler receives | Indexable? |
|---|---|---|
Dedicated domain — minbutik.se | Translated HTML, plus a local domain signal | Yes — strongest |
Path prefix — /sv/ | Translated HTML at a distinct URL | Yes |
Query string — ?lang=sv | Depends entirely on canonical handling | Patchy |
| JavaScript widget | The source language — the swap happens after load | No |
A distinct URL per language
The precondition for indexing anything. Both the path and the domain option give you one.
Server-rendered translated HTML
No waiting for JavaScript, no risk of a crawler seeing the untranslated page.
Pairs with hreflang
Declare the language alternates and search engines serve the right one to each searcher.
Switches, not a configuration language
Everything is per zone, changeable at any time, and reversible.
Source language
Which language your site is written in today. Danish or English.
Target languages
Which languages you want to publish. Swedish, Norwegian, German and English are available; tick the ones you want.
Path prefixes
Turn the /sv/-style URLs on or off. On by default, because it is the fastest way to be live.
Domain mapping
Point a custom domain at the zone and assign it a language. That domain then always serves that language.
Translation notice
An optional banner at the top of translated pages telling visitors the translation is automatic. Off by default; the wording is yours.
Cache purge
Change your source copy, purge, and the next request re-translates from the new content. Nothing is stuck.
Translation runs on Site Accelerators — the zone type that caches your full HTML page. That full-page cache is exactly what makes translating and then reusing the result possible.
Four steps, none of them on your server
Worth repeating, because it is the part people do not believe: there is nothing to install, nothing to configure in your CMS, and nothing to change in your code.
Create a Site Accelerator for your site
Point it at your existing origin and pick the preset that matches your platform. Nothing on your server changes.
Turn translation on and tick your languages
Set the source language, choose your targets, and decide whether you want the automatic-translation notice.
Choose how each language is published
Leave path prefixes on for instant
/sv/URLs, or add a domain and assign it a language — or do both.Visit a translated URL
The first request translates and caches. From then on it is served at cache speed. That is the entire setup.
Related: Site Accelerators · WooCommerce CDN · WordPress CDN · Our network
What it costs
An add-on on top of any Site Accelerator plan. One shared allowance across every zone on your account — no per-zone fees.
Plan 3
20,000,000 characters included
- €5.00 per extra million characters
- Priority translation queue
- Automatic cache warming
Ultra
750,000,000 characters included
- €2.50 per extra million characters
- Priority translation queue
- Automatic cache warming
Translation is a shared add-on for your whole account — enable it on any Site Accelerator zone, and usage from every zone counts against one plan.
Questions, answered
Reach more people, in their language
Start free in two minutes — 25 GB free every month, no card required.
Start free