Published October 17, 2026 · By Makram Ibnouratib
Planning a multilingual website: URLs, hreflang and translated slugs
Give every language its own URL in a language folder, translate the addresses themselves, link equivalents with reciprocal hreflang, never redirect visitors by IP — and design Arabic right to left rather than mirroring it.
Many sites are translated; fewer are multilingual. The difference shows in search: a translated site often has one set of URLs, one title per page and a language switcher that swaps text in place — so search engines index one language and show it to everyone. A multilingual site treats each language as a site of its own, connected to the others.
Choose where each language lives
- Language folders (example.com/es/, example.com/fr/): one domain, one set of authority, easy to manage. The right choice for most businesses.
- Country domains (example.es, example.ma): the strongest local signal, but each domain builds authority separately and costs more to run.
- Subdomains (es.example.com): workable, with no real advantage over folders.
Pick one default language for the root and put the others in folders. On this site, English is at the root and Spanish and French live under /es/ and /fr/.
Translate the URLs, not just the page
People search in their own language, and the address is part of the result they see. A Spanish page about web design in Marbella reads better as /es/diseno-web-marbella than as /es/web-design-marbella. Translated slugs need a map so the language switch can send visitors to the right equivalent.
Connect equivalents with hreflang
- Every language version lists all its equivalents, including itself, with hreflang tags or in the sitemap.
- The links must be reciprocal: if the English page points to the Spanish one, the Spanish page must point back.
- Add x-default for the version shown to everyone else — usually the default language.
- Each version has a self-referencing canonical. Never canonicalise all languages to one of them.
Don’t redirect visitors by location
Automatic redirects based on IP address or browser language stop crawlers — which mostly crawl from the United States — from ever seeing the other versions, and they frustrate the Spanish speaker in London or the French speaker in Marbella. Suggest a language if you like; let people choose.
Write each language for its readers
Titles and descriptions need to be written per language, with the words people in that market use: a Moroccan business owner searches for “création de site web”, a Spaniard for “diseño web”. Machine translation is a starting point at best; every language should be read by someone who speaks it before it goes live.
Design Arabic, don’t mirror it
- Set dir="rtl" and lang="ar" on Arabic pages so browsers and screen readers handle text correctly.
- Use CSS logical properties (margin-inline-start rather than margin-left) so layouts flip without a second stylesheet.
- Choose an Arabic typeface that pairs with your Latin one; default system fonts rarely do.
- Check what should not flip: logos, product images, phone numbers and some icons.
Checklist
- One URL per language, in language folders.
- Translated slugs, mapped for the language switch.
- Reciprocal hreflang plus x-default; self-referencing canonicals.
- No IP-based redirects.
- Titles and descriptions written per language.
- A sitemap that lists every language version.
Soussprod runs this way in French, English and Arabic; Starz Marbella and HydroXperience in Spanish and English. Our multilingual websites service covers the structure, the writing and the indexing.
What should people stop for?