hreflang Checker

Score whether crawlers can map language versions from unique BCP 47 links — not a ranking trick.

What this tool gives you

hreflang score
Fetch or paste
x-default hygiene
Starter snippet

Check hreflang

Fetch a public page or paste the head. The checker scores locale-cluster hygiene — not ranking folklore.

What this checker looks for

hreflang names the other language versions of one URL. It does not make ChatGPT cite you.

rel=alternate

Each locale needs its own absolute URL.

BCP 47

Use en, es-MX or x-default — never en_US.

HTTPS href

Relative /es/ paths fail in the cluster.

Self link

The current URL must appear in its own set.

x-default

Point unmatched languages at a fallback URL.

html lang

Page language should match one hreflang code.

How to use the checker

Only annotate real language versions. Fake /es copies create a broken cluster.

1

Check the live page

Fetch the public URL or paste the head from view-source.

2

Name every locale

One absolute https URL per language, including this page and x-default.

3

Recheck after CMS changes

Plugins overwrite hreflang silently. Re-run after launches.

What healthy hreflang usually includes

Unique BCP 47 codes. Absolute HTTPS hrefs. Self-reference. Return links. x-default for unmatched languages.

PartJobDefault for public sites
rel=alternate hreflangMap language versionsOne URL per locale
BCP 47 codeName the languageen, es-MX, pt-BR — not en_US
hrefPoint at that localeAbsolute https, no relative paths
Self-referenceInclude this URLEvery member lists itself
x-defaultCatch unmatched languagesFallback language URL
html langName this documentMatch one hreflang code

Related GEO pages

Map locales, then lock the canonical, then name the page.

hreflang FAQs

Does hreflang make ChatGPT cite my page?

No. hreflang tells search engines which language URL to show. Citations still depend on crawl access, answer-ready content and corroboration.

When do I need hreflang?

Only when the same page exists in more than one language or locale. A single English site does not need a cluster. Do not invent /es copies just to add tags.

Should every URL include itself?

Yes. Each language URL should list every member of the cluster, including itself, with absolute https hrefs and matching return links.