Start with a pair of complete pages
For a fictional service guide, the team might choose these two addresses:
Scroll horizontally to read all columns. Use the arrow keys when the table is focused.
| Page | Intended content | Opening it directly should show |
|---|---|---|
https://example.com/en/appointment-guide/ | English guide | The English title, guide and navigation to the French version |
https://example.com/fr/guide-rendez-vous/ | French guide | The French title, guide and navigation to the English version |
The addresses are illustrative, not live pages or a required URL design. Use the structure that fits your website, and record the relationship between corresponding pages. A language link from a specific guide should preserve the reader's task by opening its translation, rather than making them find the guide again from the homepage.
Have a person who knows the language review the substantive page, including captions, form instructions and linked downloads. A translated navigation bar does not establish that the guide itself was translated. Google distinguishes pages with translated main content from localized pages whose main content remains untranslated. Google's localized-version guidance.
Give language labels and search annotations separate jobs
The HTML lang attribute declares the language of the document for software that processes it. W3C recommends putting it on the html element; passages in another language can have their own language attribute. W3C guidance.
Google's hreflang annotations identify corresponding language or regional versions. Google says it determines page language algorithmically, rather than using hreflang or HTML lang to detect it. A canonical link has another purpose: it states a preferred URL for duplicate or very similar content. These signals should describe the pages you have, with no contradictory destination. Language annotations, canonical URLs.
For the fictional pair, each page could include the same alternate-language links in its head:
<link rel="alternate" hreflang="en"
href="https://example.com/en/appointment-guide/">
<link rel="alternate" hreflang="fr"
href="https://example.com/fr/guide-rendez-vous/">The French document would use <html lang="fr">; the English document would use <html lang="en">. The example is instructional code, not markup to install unchanged on your site.
Google's rules require each version to list itself and the other versions, using fully qualified URLs. Corresponding pages need return annotations. Choose one maintainable method: Google treats HTML, HTTP headers and sitemap annotations as equivalent ways of declaring language alternatives. Implementation rules.
Check canonical preferences before releasing the translation
Inspect the French page's canonical link rather than assuming the site's English default is appropriate. Google advises using a canonical in the same language when hreflang is involved, or the best available substitute if none exists. For this example, the publisher should review whether each complete translation should identify its own preferred URL. Google's canonical guidance.
A useful review record names the actual URL, declared language, alternates and canonical preference together. If the site generates these fields in different systems, assign someone to compare their final output. A correct configuration screen cannot substitute for inspecting the delivered page.
Review the pages as a reader and as a publisher
Open each address directly in a fresh browser session. Follow the language link in both directions. Check that the translated page keeps the same purpose, that the links reach the expected guide and that a user can choose another language without being sent back automatically.
Then inspect the delivered HTML, its language declarations and canonical/alternate links. Check desktop and phone reading, including tables and diagrams, and record what remains available with scripts disabled. Script-disabled behavior is a useful diagnostic; it does not reproduce every search engine or AI crawler.
Finish with a dated receipt for the exact URLs and versions. Release, discovery, indexing and citation are separate observations. Once the pages are live, inspect the relevant search records separately instead of treating a working selector or an accepted sitemap as proof that either translation has been indexed.