Home Services All Services Technical SEO SEO Audits Content Strategy AI & Generative Search Consulting & Training Free SEO Tools All Tools Traffic Value Calculator CWV Revenue Impact Hreflang Generator SERP Snippet Previewer Crawl Budget Estimator SEO Priority Calculator Company About Grant Contact Get a Free Audit →

Hreflang tag generator

Generate correct hreflang tags for international pages. Add each locale and its URL then copy the output into your page <head>.

Language / region Full page URL or path
<!-- output will appear here -->
Add at least 2 locales to generate hreflang tags. Every locale page must reference ALL other locale pages.

Hreflang tags. The most misunderstood element in international SEO

Hreflang tells Google which version of your page to show to users in specific countries and languages. When implemented correctly, it eliminates duplicate content issues across international sites and ensures the right page ranks in the right market. When implemented incorrectly, which is more common, it creates indexation problems, duplicate content signals, and country misattribution that can take months to diagnose.

The reciprocal requirement
Every page in every locale must reference every other locale. If your en-AU page references en-US but your en-US page doesn't reference en-AU back, Google ignores the entire hreflang set. This is the most common implementation error and is entirely invisible unless you audit each page individually.
x-default is not optional
The x-default tag tells Google which page to show to users who don't match any specific locale, for example, a visitor from a country you haven't targeted. Without it, Google makes its own decision, which is often wrong. Point x-default to your primary or most universal page version.
Language vs region codes
Use language-only codes (e.g. "en") when you serve all English speakers the same content. Use language-region codes (e.g. "en-AU", "en-US") when content differs by country, pricing, currency, spelling, or compliance-specific information. Mixing both in one site creates confusion.
What I found auditing Vuly Play's 8-market international site
The fr-CA locale had hreflang tags incorrectly referencing en-DE instead of de-DE. The fr-FR sitemap referenced both Australia and Canada in page names. A UK installation page had "Vuly Australia" in its title tag. The en-NZ swingsets page was blank. These issues directly caused 720 pages to be "Crawled, not indexed" across the portfolio. None of them were visible without a systematic cross-locale audit.
Where should hreflang tags be placed?
Hreflang tags must appear in the <head> section of every page. They can also be delivered via the HTTP header (for non-HTML files like PDFs) or via an XML sitemap. The <head> method is most reliable for HTML pages. Note: hreflang in sitemaps only works if you submit the sitemap and Google processes it, in-page tags are more consistently recognised.
How do I validate my hreflang implementation?
Google Search Console is the first place to check, it reports hreflang errors under the International Targeting report. You can also use Screaming Frog (crawl the site and check the hreflang tab) or the hreflang.org validator. Check that all locale pages reference all others and that URLs are exactly correct including trailing slashes and case.
Should I use subdirectories or subdomains for international sites?
Subdirectories (example.com/en-AU/) are generally preferred because they consolidate all authority under one root domain. Subdomains (au.example.com) treat each locale as a separate site for authority purposes, meaning you need to build authority independently per subdomain. Country code top-level domains (example.com.au) send the strongest geotargeting signal but require the most link-building effort.
Want a full SEO audit for your site?
Grant Hilton, 25+ years experience, Brisbane-based, Australia-wide
Get a free audit →