Tool · tool guide

Run a Hreflang Audit Before You Localize Page Copy

Run a hreflang audit across locale pairs, return tags, live targets, and x-default so broken reciprocal annotations are fixed before copy localization.

Published Updated 13 min readBy William Zhu & InfiniSynapse Data Team

Author credentials: William Zhu is cofounder of InfiniSynapse (GitHub @allwefantasy · auto-coder). Desk: shipping SEO Health and the /en/tool/ visibility pages. No personal LinkedIn published. About: team / editorial standards.

Publisher credentials: InfiniSynapse has public profiles on GitHub, YouTube, and X. A 2026 WAIC Future Tech OPC excellence award covers the Agentic Data Infra entry (WAIC; third-party recap: Xinhua / Caohejing). That award does not review this page or SEO Health. Method CLI: infinitegrowth on npm. Archive: recognition and scope notes.

Run a Hreflang Audit Before You Localize Page Copy
On this page

By William Zhu · Cofounder, InfiniSynapse · Published: 2026-09-08 · Last updated: 2026-09-30 · Last verified: 2026-09-14 · Reviewed by the InfiniSynapse Data Team.

Reviewed by: InfiniSynapse Data Team · method review 2026-09-14. First-party hreflang review of InfiniSynapse public HTML. No customer locale matrix.

Trust / COI: About · Corrections. SEO Health and InfiniSynapse are commercial products from this team. Alternate tags below are our own public markup, not proof that a translated Chinese tool page exists.

TL;DR

A hreflang attribute names the language of the document a link points at. It is not a translation, and it is not a rank boost. A hreflang audit on this host then checks the declared pair, the return edge, and x-default. A /zh prefix that 308s to the apex is a host hop, not a translated alternate. Do not localize an H1 on a path that never returns a Chinese document.

Direct answer: A hreflang attribute names the language of the linked document. Run a hreflang audit as a pair job, not as a translation brief. On this host the tool HTML declares en and x-default, and both hrefs land on the English tool URL. /zh 308s to apex. /zh/tool/website-indexation 308s to the English tool. There is no live Chinese tool member to point back.

What you will learn

  • What the attribute names, and how an anchor hint differs from link rel="alternate"
  • Which annotations the live tool HTML actually ships
  • Why a /zh 308 is not a zh alternate
  • How x-default on this host equals the English tool URL
  • When a hreflang audit file should stop and a hop ticket should start
  • Which siblings own twins, pagination, and eligibility after the pair is named

Alternate tags were read under InfiniSynapse-P4-desk/2026-09-14 after each first status. A hreflang audit still cannot prove Google stored a Chinese URL.

What a hreflang attribute is

A hreflang attribute is the language hint on a hyperlink. The value is a language code, plus a region only when you add one. Search engines may use a cluster of those hints to swap which alternate they show. They do not have to. The hint does not publish a translation that the server never returned.

MDN’s HTMLLinkElement.hreflang describes the property on a link element: language and geographical targeting of the linked page. The same attribute name exists on an anchor. Those two placements do different jobs.

What the tag looks like

The 2026-09-14 tool head contained this pair. Both targets are the English tool URL:

<link rel="alternate" hreflang="en" href="https://infinisynapse.com/en/tool/website-indexation" />
<link rel="alternate" hreflang="x-default" href="https://infinisynapse.com/en/tool/website-indexation" />

Read it as three tokens. rel="alternate" says the href is another version of the current URL. hreflang says which language that version claims. href is the URL that has to answer. A hreflang audit copies those tokens from the response. A locale menu in a CMS is not the same list.

x-default is the fallback, not a third language. On this head it points at the same English URL as en. Region codes, when a page really needs one, come from ISO 3166-1 alpha-2. The United Kingdom is en-GB. en-UK is not a code. This head did not use a region at all.

The cluster can also be sent as a Link HTTP header on a non-HTML file, or as xhtml:link beside a sitemap <loc>. Pick one method per URL. This desk’s evidence is the HTML head, not a header and not a sitemap row.

An anchor uses the attribute as a hint about the page you are about to open:

<a hreflang="en" href="https://infinisynapse.com/en/tool/website-indexation">English</a>

That line is the shape of the attribute on <a>. It is not markup this host’s tool head shipped on 2026-09-14. An anchor does not list return tags, and it does not set x-default. A hreflang audit that only screenshots anchors misses the head cluster search engines use for language versions.

MarkupWhat it tells a machineWhat this desk found
<a hreflang>Language of the page the anchor opensNot the cluster we fetched
<link rel="alternate" hreflang>A language alternate of the current URLen and x-default, both English
Link HTTP headerThe same alternate, for a non-HTML fileNot how this HTML tool URL was marked
Sitemap xhtml:linkThe same alternate, beside <loc>Not the source of this pair

A canonical tag answers a different question: which URL is the master when near-copies share one language. The attribute answers which language version to offer. Pointing rel="canonical" at a different language fights the cluster. When two locales share a body and both stay self-canonical, that later ticket is duplicate URL indexation, and only after a live pair exists. A hreflang audit still starts from the bytes. If the href 308s, there is no member to name yet.

What a locale prefix is not

Key definition: A hreflang audit is a sample job on this host that records locale annotations, confirms each pair has a return tag, and checks that x-default exists where you claim a fallback. The job names hreflang errors. It is not a title rewrite and not an official Google health score.

People search this phrase when English and Chinese URLs both look live and a writer wants two new heroes. The first hreflang audit question is whether a Chinese document exists to return. Copy is later.

Google’s localized versions documentation is the search-engine rule we used when a pair must be reciprocal. It does not invent a zh tool page on this host.

Prefix versus alternate

/zh is a path prefix. An alternate is an href in hreflang. This host’s /zh answered 308 with Location /. Followed, it landed on the English apex. That is not a translated homepage. A hreflang audit that treats every /zh/… request as a language member will file a fake pair.

WHATWG’s hreflang attribute attaches a language hint to a link. A 308 has no HTML link set to attach.

x-default is not a third language

x-default is the fallback annotation. On the tool page it points at the same English tool URL as en. It is not a third language and not a Chinese home. A hreflang audit still records missing x-default as unmatched locales without a home. Wrong x-default that points at a 404 is a fetch-honesty fail. This desk’s x-default was live and English.

RFC 4647 language-range matching treats language ranges as codes you can match, not as marketing banners. Write the tag you shipped. Do not invent zh-CN if no zh document exists.

SEO Health stays the deterministic evidence layer for locale status and raw return-tag observations. Classified pair defects may be sent to an InfiniSynapse Server API long-task workspace to sequence localization-template queues; the API does not refetch locale pages or override the pair matrix.

First-party annotations on 2026-09-14

We fetched InfiniSynapse public HTML and first statuses for this hreflang audit desk. The sample is this host. It is not a three-locale fictional pair desk.

Requested pathFirst statusWhat the pair can mean
/en/tool/website-indexation200en + x-default both → English tool URL
/zh308 → / 200prefix collapse, no zh alternate
/zh/tool/website-indexation308 → English tool 200no zh tool page
Grouped bars for declared locale annotations versus hop outcomes on 2026-09-14 first-party fetches

Figure: Two series from the same desk. A declared en tag is not a hop. Neither series is a translated-page count.

A later deploy can add a Chinese member. A hreflang audit file that quotes only a CMS locale list and skips the live 308 is incomplete.

Tool HTML pair

The live tool document declared two hreflang entries: en and x-default, both pointing at https://infinisynapse.com/en/tool/website-indexation. There was no zh href in that head. The website indexation hub owns status and robots beside the pair. This hreflang audit stays with the pair.

/zh collapse

/zh answered 308 with Location /. The terminal HTML was the English homepage. W3C’s language tags overview still asks you to pick a real tag for a real document. A hreflang audit does not treat a prefix that never serves Chinese as a zh member.

zh tool collapse

/zh/tool/website-indexation answered 308 with Location /en/tool/website-indexation. Hop count was 1. The terminal was the English tool page. The hop belongs on redirect chain. The missing return member belongs here. A hreflang audit should store “no zh tool document” beside that 308.

A hreflang audit record should keep the user-agent, the first status, every hreflang href, and whether the nominated target returned 200. We used one desk string. A later bot can see a different head.

Reciprocity still needs a live member

curl -sS -A 'InfiniSynapse-P4-desk/2026-09-14' \
  https://infinisynapse.com/en/tool/website-indexation \
  | grep -i hreflang
# x-default → English tool URL

If a later replay is refused, write “pair unverified” and stop. A 403 on one locale is not proof the page omitted a return tag.

Unicode CLDR is an inventory of language codes you can name. A hreflang audit does not translate. It checks that the codes you already shipped return.

Return tags versus a 308

A return tag means the target page points back at the source with the matching locale. One-way pointers are broken pairs. A 308 that consumes the /zh request never gives you a Chinese head to inspect. A hreflang audit has no return tag to find on that hop.

A hreflang audit fails when en points at zh and zh stays silent, or when the href 404s. This host’s tool HTML does not point at zh at all. That is a declared-pair finding, not a reciprocal-pair failure in the usual one-way sense. Do not brief a translator for a path that 308s.

If two locales share a body and both stay self-canonical, the next room is duplicate URL indexation. Do not mix those tickets until a live pair exists.

Open SEO Health tools on one locale URL if you want an annotation light. Those lights are not a Google 100. Pair-member status does not need login.

Localization copy versus the pair

A rewrite changes words. A pair table changes whether locale URLs are allowed to point at each other. Engineering owns the annotations. Localization owns the keep map of locales on this host. Editorial owns titles after pairs return. Meetings fail when writers own the first hour of a hreflang audit. Start with the live link set. Then assign copy. The person on each language that actually rendered is EEAT for multilingual sites, not a return tag.

When translation is a different ticket

Microsoft’s Translator language list and Google Cloud’s Translate language list are inventories of codes you can name. This page does not translate. It checks that the codes you already shipped return. On 2026-09-14 they did not include a live zh tool member.

One URL is enough when a launch locale is new and you need a hreflang audit on that address only. Paste it. Confirm return tags and a live x-default. Then write.

One URL is not enough when templates mint many locales. This desk did not sample 50–500 sitemap URLs. The 1,568-loc map is an inventory. Template prevalence still needs a locale-balanced fetch. English-homepage-only confidence is how leftover staging hrefs hide.

If the next ticket is a series URL after pairs are clean, open pagination indexation. Come back here when the sample still shows a prefix that 308s or a one-way pointer.

How to prove a pair

Run this pair framework before you open the localization doc. Skip the outline until pairs on the requested set are classified.

Fetch both members

For each pointer, open the target and confirm it points back. One-way rows are broken pairs. A hreflang audit treats that missing return as the row that matters. Status codes are deterministic. They do not need a login.

On this host, start with the tool HTML pair, then fetch /zh and /zh/tool/website-indexation without assuming they are members. Sort 308-into-English rows separately from true one-way tags.

Re-check after a locale deploy

Draw the same locales again after someone ships a Chinese document. Compare return-tag OK versus prefix collapse. Only then ask for a ranked punch list. The narrative still quotes the pair table. The model may not invent a return tag.

When pairs are green, write. When they are a 308, fix the annotation or ship a real member, then re-fetch.

Open the InfiniSynapse web app only if you want a credited sequencing narrative after the pair matrix already exists.

Failure modes that fake a language

Copy first. The most common miss is a rewrite on a locale that does not return. A hreflang audit already failed. The new paragraph never joined the pair.

Prefix theater. Teams screenshot /zh in the address bar and call it Chinese. The first status was 308 to apex.

x-default as a third language. Teams write marketing copy on the fallback and forget it is a fallback. On this host it is the English tool URL.

Wrong code. zh-CN on a page that 308s, or en-UK where the region code is GB. Re-read the tag you shipped. ISO 3166-1 does not define UK.

One-way theater. en lists zh. zh lists only itself. The screenshot of the English head looks finished. The pair still fails.

Update fan fiction. A core-update week is not a pair diagnosis. If return tags are missing, fix the annotation. Do not invent a recovery percentage.

Nearby guides after the pair

This page is the locale-pair cluster for a hreflang audit on this host. Nearby guides pick up hops and twins after the pair is named.

Job you actually haveGuide to open next
Hop count on /zh and zh tool slugsredirect chain
Paginated locale archivespagination indexation
Twins that are not locale pairsduplicate URL indexation
Eligibility across status and robotswebsite indexation
Nuxt locale URL, one pasteNuxt SEO

Prove the locale pair before you localize the H1

Record first status, every hreflang href, and whether the nominated target returned 200. Then open a sample only if templates mint locales.

Run SEO Health Checker

Use only authorized, sanitized data. Do not paste secrets.

Frequently Asked Questions

What does a hreflang attribute name?

The language of the linked document. Add a region only when that document is really for one country. The attribute does not invent a translation, and it does not raise a rank by itself. A hreflang audit on this host found en and x-default on the English tool URL. /zh returned 308, so no Chinese document existed for the attribute to name.

Does x-default count as a language?

No. x-default is a fallback annotation on this host. A hreflang audit still requires live locale pairs with return tags. On the tool page, x-default equals the English tool URL. A fallback that 404s is a hreflang error.

Do return tags need a login?

No. A hreflang audit can name return tags without an account. Pair-member status remains a free, deterministic column. Eight-module lights on a pasted URL stay free. Credits are relevant only if the finished locale-pair matrix is submitted for separate remediation ordering.

Can a title rewrite close a broken pair?

No. A title change does not add a return tag. A hreflang audit is an annotation fix on both members, then a re-fetch. Copy waits until the pair returns. A /zh 308 cannot be rewritten into a Chinese document.

Is a /zh prefix a translated alternate?

No. On this host /zh 308s to apex and /zh/tool/website-indexation 308s to the English tool. Locale prefix ≠ translated alternate. A hreflang audit files the hop, then looks for a real zh href.

How wide should a later sitemap sample be?

Use 50–500 stratified URLs on this host when templates mint locales. This hreflang audit desk used the tool HTML plus two /zh requests, not a loc sample. An English-homepage-only paste hides leftover staging hrefs. Document the locale and template quotas before calculating reciprocal-pair coverage.

Conclusion

Use a hreflang audit when the job is to verify locale pairs before anyone opens a localization doc. The 2026-09-14 desk shows the tool HTML naming en and x-default only, /zh collapsing to apex, and /zh/tool/website-indexation collapsing to the English tool. The sample size is three first-party requests. That sample cannot establish that Google selected any alternate, and it does not prove a translated document exists. Close the file when the first status, the hrefs, and the missing members are still visible.

WZ

William Zhu · Cofounder, InfiniSynapse · GitHub @allwefantasy

Desk-validated SEO Health methods. Corrections: zhuhl@infinisynapse.com · corrections policy.

A Hreflang Audit: Tag Syntax and Return Tags