Map real counterpart pages

Start with the customer journey, rather than a translation spreadsheet. A business may have an English product page, a Traditional Chinese category page, and a Chinese promotion that has no English equivalent. These are three different editorial objects. Google describes hreflang as a way to identify localized versions of the same page. The first job is therefore to pair pages that answer the same underlying customer need, and to leave unpaired material alone. A language switch must land on a useful counterpart, not merely on a site's other-language home page. Make a small register with the page purpose, live English URL, live Chinese URL, owner, and date checked. Use it as the release source of truth when either page moves or is retired.

Separate a locale choice from a mere language choice. If the Chinese edition is written for Hong Kong customers, a supported language and region code such as zh-HK can describe that target; generic English may use en when no particular English-speaking country is singled out. The code should match the actual audience and content. An English page is not automatically en-US, and Traditional Chinese is not interchangeable with Simplified Chinese. Record why each code was selected before a developer copies it across templates. This avoids a common maintenance error in which every page inherits a global setting despite serving different markets.

Give each edition a stable URL

Google recommends separate URLs for separate language versions instead of relying only on cookies or browser settings to swap the content. A stable URL gives a customer something they can bookmark, send to a colleague and revisit. It also lets a crawler request that edition directly. The path shape is a product decision: /en/ and /zh-hk/ are understandable choices, but the exact path is less important than predictable routing and complete content. Test the URL with a clean browser session and no language cookie. The expected page should load without an automatic redirect that makes the alternative inaccessible. A visible language switch should offer customers control even when the site makes a first-visit suggestion.

A single template that renders a different language after reading the browser header can look efficient but create hard-to-reproduce failures. Google's documentation notes that its crawler may not send an Accept-Language header and can have trouble discovering every variation when sites reroute automatically. This is a discoverability condition, not a promise that separate URLs will improve ranking. When a page exists only in Chinese, keep a useful link to it from relevant navigation; do not manufacture an English clone with English navigation and Chinese main content. A partial shell translation is a poor stand-in for a genuine counterpart.

Publish reciprocal alternate signals

For a verified pair, choose one supported implementation: HTML head links, HTTP Link headers, or a sitemap. Google treats these as equivalent ways to declare localized versions. Each page must include its own URL and every counterpart, and the other page must point back. Use fully qualified HTTPS URLs, not relative paths. A deployment that updates only the English template creates an asymmetric pair, and Google says nonreciprocal links may be ignored. The register should generate or check both sides in the same change. This is a practical reason to make bilingual publication one release task rather than two unrelated editorial tickets.

For example, a hypothetical shop has /en/returns and /zh-hk/returns, and both describe the same return policy. Both documents should identify the English URL with en and the Chinese URL with zh-HK. If the Chinese page instead explains warranty claims while the English page explains returns, they are not a pair even if the template calls both 'help'. A neutral language chooser may use x-default when it genuinely serves users who have no matching language target; it is an optional fallback, not a label to attach to every English page. Review the rendered output, since a correct content-management field can still be lost in the final HTML.

Keep canonical and language jobs distinct

A canonical signal expresses which URL is preferred among duplicate or very similar URLs. An alternate-language signal expresses a relationship between localized pages. Google says fully translated pages are not treated as duplicates merely because they are translations. For a straightforward English and Chinese pair, each page should normally indicate its own preferred live URL as canonical, while the alternate links connect the language versions. Pointing every translated page's canonical to the English URL risks telling a different story from the alternates. Check for other URL copies, such as tracking parameters or printer views, separately; those may genuinely need consolidation.

Canonical declarations are preferences, not commands that force a particular search result. Google may select a different canonical after weighing its signals. The team's acceptance check should therefore distinguish what the site emits from what Google later reports. First confirm that the English and Chinese response URLs return the expected pages and emit coherent metadata. Then, if the property is available, use URL Inspection to compare Google's chosen canonical for each page. A mismatch is a diagnostic clue to investigate, not proof that a particular tag alone caused lost traffic. Keep screenshots or response captures in the release record so the team can identify when the emitted signals changed.

Test the pair through change and retirement

A release test should start from the exact public URLs, not only a preview. Open each version directly, follow the visible language switch in both directions, and check that the subject, customer action and any policy conditions still match. Inspect the rendered alternate entries for the self-reference, the counterpart, the correct code and full URL. Check that both pages are accessible without a forced locale redirect. If a page has moved, test the old path and update the pair to its final destination. If a page is retired in one language, remove the stale alternate instead of sending users to an unrelated page merely to keep a complete-looking pair.

Give one owner responsibility for the mapping and ask them to review it whenever content changes, not only during a redesign. A new product, temporary campaign or delayed translation creates ordinary exceptions. The owner can mark a page 'unpaired pending translation' and decide what the language switch should explain to the customer. That honest state is better than silently presenting outdated conditions in the other language. Search reporting can show which queries and pages are reached after release, but analytics were unavailable for this editorial decision; the need to verify discoverability follows from the documented mechanics and the site's customer journey, not from a claimed measured uplift.

Manage incomplete translation and exceptions

A useful acceptance table can have three rows: a fully translated product, a Chinese-only campaign, and a retired English guide. For the product, expect direct access to both URLs, reciprocal alternates and a switch that stays on the same product. For the campaign, expect only the real Chinese page; the language switch can explain that no English counterpart is currently available. For the retired guide, first decide whether a genuinely equivalent current English page exists. If not, do not keep a stale alternate just because the Chinese guide remains live. This table turns abstract metadata rules into customer journeys the editor can inspect. It also gives the team an explicit outcome for pages that are exceptions instead of hiding them from the release checklist.

When a page uses region-specific promises, compare the two editions beyond their headings. A return window, delivery territory, currency or service eligibility can make superficially similar pages materially different. Ask the owner to sign off that a customer following the alternate page is not led to a conflicting offer. If the conditions genuinely differ by market, say so visibly and choose locale codes and page pairings that reflect those markets. If one edition has not yet caught up with a policy change, pause that pairing until it is corrected. The aim is accurate access to the right answer. Hreflang cannot fix stale content, and a perfect canonical tag cannot compensate for a language switch that takes a customer to the wrong terms.

Keep a small change log alongside the page map. When a translation is published, record which source edition it reflects and which conditions the editor compared. When a page is changed later, flag its partner for review instead of assuming both remain synchronized. For a policy page, compare the effective date and the operational action a customer can take, not just the prose. For a product page, compare the actual variant and availability. This turns bilingual maintenance into a repeatable check that survives staff changes. It also gives the owner a clear answer when someone asks why two URLs were once paired but are no longer paired. Search metadata should follow the editorial decision; it should not dictate whether two different customer promises are treated as equivalent.

Before you proceed

  • Does each language URL show complete, current content when opened directly?
  • Do alternate entries include both self and counterpart URLs in both directions?
  • Are canonical signals, redirects and visible language-switch destinations coherent?

Sources & further reading