Estimated reading time : 4 min · Published
Choose audiences and reviewers
Identify the people you actually serve and the pages needed for their journey: home, services, terms and contact. A language in the selector creates an expectation of usable coverage.
Assign someone to check terminology, examples, prices, units and contact details. Machine translation may help draft copy, but review for the intended audience remains essential.
Give each version its own address
Use a stable URL per language. Connect genuinely equivalent pages with reciprocal hreflang links, including self links, and keep a separate canonical URL for each version.
The selector should open the equivalent page when available. Otherwise, state clearly that the section has no translation. Google’s localized versions guide describes these conventions.
Check localized pages as a network of relationships, not just a list of flags. Declare each equivalent URL using an absolute address and the required return links. If a French page references its English counterpart without a matching return reference, Google ignores that hreflang relationship. A missing language does not prevent processing the other valid reciprocal relationships.
Separate language, region and fallback. en-GB can target English content for the United Kingdom; UK is not the region code to use for that targeting in hreflang. x-default identifies the fallback for preferences not covered without creating an additional translation. Record the URLs actually reached through the language selector: correct tags do not guarantee that the language button opens equivalent content.
Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.
| Check | Required result | Defect to fix |
|---|---|---|
| Reference to the current version | The page includes itself in its alternate set. | The current URL is missing from the list. |
| Link between two translations | Each page references the other using its absolute URL. | The relationship works in only one direction. |
| Translation unavailable | Only existing equivalent pages are presented as translations. | A generic homepage silently replaces the expected page. |
| x-default fallback | The fallback destination is deliberately chosen and accessible. | The fallback is presented as a translation that does not exist. |
- Google Search Central : Localized versions
Documentation consulted on 22 October 2026; checks concern relationships between pages, without a ranking or indexing guarantee.
Test and maintain every journey
Check menus, filters, forms, errors and confirmations in every language, on phone and desktop. Test accented characters, longer text and right-to-left scripts when published.
After a price or service change, identify all affected translations. Article counts can differ, but pages presented as equivalents should serve the same purpose.
Manage delayed translations
Connect versions serving the same intent. A missing language version should offer an explicit choice, such as an English guide labelled as English. Changing navigation alone does not translate a French page.
Assign an owner and validation status to each version. Identify affected translations when changing a price or condition. Test names, numbers, dates, contacts, errors and confirmations. The declared HTML language must match the content.
Check that browser preferences do not override the language selected on the site.
Synthetic case: a browser prefers English but someone intentionally opens a French page. Keep that URL and content. Then test an unavailable language and a preference list without inferring country or identity. Keep the language selector available for switching to an equivalent page.
- Explicit choice is respected; unsupported preferences cause neither loops nor an incomprehensible page.
- MDN Accept-Language
Request header indicating language preferences as a hint rather than an explicit visitor choice.
Measure a language task
You understand a dialogue but struggle to answer spontaneously. Progress depends on the target skill, not just viewing time.
Choose a short task, record a trial if desired and compare your productions. Completing an activity does not certify a language level.
- Choose comprehension or production
- Keep a comparable task
- Note what needs practice
- Measure a language task
Proposed practical case
Reuse a cultural image
You want to illustrate a presentation with a collection reproduction. The age of the work does not establish the image file's rights.
Find the object record and reuse terms for the selected image. Keep its identifier, credit and permission for that particular version.
- Note the work's identifier
- Read reproduction rights
- Keep the requested credit
- Reuse a cultural image
Proposed practical case
Test a shared deep link
Open an internal page directly in each language. The language selector should reach equivalent content when available and clearly explain a missing translation. Check the form subject and received email too: translated controls are insufficient when the subsequent process becomes unclear.
Reference documents
- W3C : HTML language · Source consulted
- MDN Accept-Language · Source consulted
- localized versions guide · Source consulted
Content updated on
Documented reference points for this topic
| Reference | Value or syntax | Scope |
|---|---|---|
| W3C · HTML language | <html lang="fr"> | The default language is declared on html; local language changes are marked. |
| Google Search · Canonical | rel="canonical" | A preference signal for Google; neither a redirect nor a selection guarantee. |
| W3C Internationalization · HTML direction | lang="ar" dir="rtl" | Language and reading direction are separate information. Declaring ar alone does not establish the base direction; dir="rtl" does. Logical CSS properties adapt spacing without hard-coding left and right throughout the layout. |
| Google Search Central · Multilingual sites | URL · hreflang · links | Provide separate URLs per language and links for choosing an edition. Redirecting on an assumed language can prevent access to a version. Translating only navigation and footer does not translate the main content. |
| MDN · Vary | Vary: Accept-Language | When one URL produces different responses according to Accept-Language, Vary identifies that cache selection criterion. Keep the value consistent on 200 and 304 responses. Separate language URLs do not require this header merely because the website is multilingual. |
Dates indicate when references were consulted. These facts are neither a site audit nor an overall compliance statement.
