Start with equivalent content
List the pages that represent the same useful resource in different languages or supported regional versions. A Hindi product guide and its English translation can form a set. Two unrelated articles mentioning the same city cannot. Record the intended audience and page purpose before generating tags so the markup follows a real editorial relationship.
Build a small language map
Use one canonical URL per language and region in the set. Keep spelling and capitalization consistent, and reserve x-default for a genuine fallback where it makes sense. The generator checks a limited tag format; it does not certify that a language code is registered or that the destination is translated. Those are review tasks for the site owner.
Place the same complete set on each alternative
Treat the language map as shared data rather than manually copying individual pairs into separate templates. Include the current page in its own set. Compare the output on each destination after a release, especially when a language moves to a new path or domain. A generator cannot prove those return annotations are present on the live pages.
Review canonical and response behavior
Open each final destination directly and inspect the response and canonical. An alternate pointing through a redirect or to a missing page deserves investigation. Keep the canonical choice aligned with the intended language page rather than automatically pointing every version to English. Hosting rules can change the final URL even when your source markup looks right.
Test a concrete two-language release
Imagine adding a Hindi guide beside an existing English guide. Publish both pages first, inspect their content and final paths, and then deploy the complete shared annotations. Follow a normal link to each page as a reader. A language selector should still be usable even if a search engine ignores the annotations.
Keep migration and removal decisions explicit
When retiring one translation, update the map everywhere and check navigation links. Decide whether a suitable replacement exists before redirecting the old URL. Do not leave a stale language entry because a generator still produces valid HTML. Keep a list of deployed alternatives so the next content editor can maintain the set.
<link rel="alternate" hreflang="en-IN" href="https://example.com/en/guide/" />
<link rel="alternate" hreflang="hi-IN" href="https://example.com/hi/guide/" />Frequently asked questions
Should every site add hreflang?
Use it for appropriate language or regional alternatives. A single-language site does not need invented alternate pages.
Does the generator check reciprocal tags?
No. It drafts a set locally. Inspect the actual output on every destination.
Further reading
Put the idea to work.
Explore free browser tools for images, text and developer workflows.