Skip to content
Website internationalization

Website internationalization

Website internationalization: a guide to per-language URLs

Jaime Marco · 2025-01-01

The Internet has connected markets that used to be far apart. For many businesses, especially in e-commerce, serving customers in other countries is now the norm. The challenge is capturing the attention of an audience that does not speak your language. If you are opening up to new markets, you need to internationalize (i18n) your website: prepare it to be shown in several languages and to adapt to local formats (dates, currencies, nomenclature).

In this guide, updated in September 2026, we cover the fundamentals, compare the possible URL structures and explain how we handle it at Amarte Websites: every language gets its own path on the same domain.

Internationalization fundamentals

1. One URL per language

Each language needs its own indexable address. If the site translates text on the same URL, Google can only rank one of the versions.

2. A consistent URL structure

Choose how the language is identified in the URL (domain, subdomain or path) and keep that rule across the whole site. We cover this in detail below.

3. hreflang tags

They tell search engines which pages are versions of the same page in another language, so each user is shown their own and they are not treated as duplicate content.

4. A CMS that is ready for it

The CMS must let you translate, store and publish content in several languages, and leave out pages or blocks that do not need translating.

5. Layouts that handle longer or shorter text

A German translation can take up 30% more space than the Spanish original. The design has to absorb it without overflow or empty gaps.

6. Right-to-left support

For Arabic or Hebrew it may be necessary to mirror the interface or apply specific CSS rules.

7. Content exclusion

Decide which sections are not translated (for example, legal texts that only apply in one country).

URL structures for a multilingual website

  • Country domain (ccTLD), such as yoursite.mx: the strongest geographic signal and maximum local trust, but each domain builds its authority separately and management costs multiply.
  • Subdomain, such as en.yoursite.com: isolates infrastructure per region, but Google treats it almost as a different site and you need Search Console and analytics set up for each one.
  • Subdirectory or path, such as yoursite.com/en/: inherits all the authority of the main domain, unifies analytics and simplifies deployments.
  • URL parameter, such as yoursite.com/?lang=en: easy to set up, but not recommended for SEO because search engines may ignore parameters.

How we do it at Amarte Websites: one language, one path

At Amarte Websites we have standardized internationalization on subdirectories. Every website we build follows the same rule:

  • The main language has no prefix. The Spanish version lives at the root: yoursite.com/, yoursite.com/blog, yoursite.com/contacto.
  • Each additional language has its own path. The English version lives under /en: yoursite.com/en/, yoursite.com/en/blog, yoursite.com/en/contacto.
  • The URL decides. The language a visitor sees is set by the address, not by the browser. Anyone landing on /en/blog from Google or from a shared link always sees the page in English.
  • Internal links keep the language. If you browse in English, every link in the menu, footer and content keeps you inside /en.
  • The language switcher takes you to the same page. Switching language on /blog takes you to /en/blog, not to the home page.

Keeping the main language without a prefix is a deliberate choice: existing URLs stay the same, you keep the rankings you have earned and incoming links do not break, and there is no need to redirect every visit from / to /es.

Multilingual SEO built in

  • hreflang tags on every page, pointing to all its versions and including a self-reference.
  • x-default pointing to the Spanish version, for visitors whose language we do not offer.
  • Sitemap with language alternates, so Google discovers each version even if it does not find the link.
  • Language declared in the HTML (lang attribute and og:locale) consistent with the URL.
  • Only existing versions are declared. If a blog post is only available in Spanish, we do not announce an English version that would return an error.

Adding a new language

Because the rule is the same across the site, adding a language (for example French under /fr) means adding the translations and enabling its path. Everything else (links, switcher, hreflang and sitemap) adapts automatically.

Internationalization vs localization

  • Internationalization (i18n): preparing the architecture and technology for several languages and regions.
  • Localization (l10n): adapting content for a specific audience: translation, cultural references, date and currency formats.

The two go together. Internationalization lays the foundations and localization makes the content connect with each market.

Which strategy should you choose?

Subdirectory

Authority shared with the main domain, geotargeting configurable in Search Console, low maintenance and unified analytics. It is the recommended option for most projects and the one we use at Amarte Websites.

Subdomain

Each subdomain builds its own authority and needs its own analytics. It only pays off if each market needs fully independent infrastructure or teams.

Country domain

Maximum local signal, but separate authority, high cost and complex maintenance. It makes sense when the focus is a single country and there are resources to run several complete sites.

Conclusion

Internationalizing a website is not just translating text: it means giving each language its own URL, linking them together for search engines and keeping users in their language as they browse. With Amarte Websites your site is ready to grow into new markets with a per-language path structure that keeps your domain's authority and is easy to maintain.