Frankfurt studio for multilingual digital presence +49 69 95209894 [email protected] Mon–Fri 9 AM–5 PM Client Area →
EnglishEN

2026-07-01 · Baduno Editorial Team · 7 blog.readMin · Blog & Knowledge

Using hreflang correctly: The Practical Guide

The most feared tag in international SEO – explained clearly, with the five mistakes we find most often in audits.

What hreflang really does

hreflang tells search engines which language and country versions of a page belong together – so that Google shows a user in Vienna the German version and a user in Milan the Italian version. It is not a ranking booster, but an association signal: it prevents your own language versions from cannibalizing each other or appearing as duplicate content.

Golden threads connect glowing points over a dark blue world map

The basic rules

First: Each language version must reference all others and itself – the matrix must be complete and mutual. Second: Every page also needs an x-default for users outside the defined languages. Third: hreflang belongs on the page level, not the website level – the homepage references homepages, the pricing page references pricing pages.

The five most common mistakes

Missing backlinks (A points to B, B does not point to A – the most common cause of ignored tags). Incorrect language codes like 'uk' instead of 'en-GB'. hreflang on redirected or canonicalized URLs. Forgotten new pages because the matrix is maintained manually. And: hreflang as a substitute for translation – the tag references versions, it does not create them.

Our recommendation

Never generate hreflang by hand. With 24 languages and 40 pages, you end up with over 26,000 links – no human can maintain that without errors. Our pipeline automatically generates the matrix from your page structure; this website includes the result in every source code. That's exactly how it should work for you.

hreflang in Sitemaps vs. HTML-Head: Advantages and Disadvantages

You can place hreflang annotations either in the HTML head of each page or in the XML sitemap. The sitemap method offers the advantage of centrally managing all language variants without having to edit each page individually. Google has supported this option since 2017. However, all referenced URLs must be included in the sitemap and point to the same content. A typical problem: if you define an hreflang group in the sitemap but one of the URLs is not present in the sitemap itself, it will be ignored. The HTML method, on the other hand, requires each page to reference all alternatives itself – which is maintenance-intensive for many languages. Recommendation: Use the sitemap method as the primary mechanism and supplement it with HTML tags for redundancy if needed. Ensure that the sitemap is always up to date and contains all language versions completely.

hreflang and Canonical: The Correct Combination

A common mistake is using both hreflang and rel="canonical" on the same page. When you set hreflang, you signal that there are alternative language versions. A canonical tag, on the other hand, indicates which URL is the preferred version for search engines. Both specifications must be consistent: if you define hreflang for a group of URLs, none of the URLs should point to an external domain or a different language version via canonical. Example: A German page has hreflang references to the English and French pages. Setting a canonical on the German page pointing to itself is correct. But if you set a canonical pointing to the English page, the hreflang signal contradicts it. Google prioritizes the canonical tag in such cases and ignores the hreflang annotations. Therefore, check in your audits whether canonical and hreflang are in harmony.

Dynamic URLs and hreflang: Mastering Challenges

Websites with URL parameters (e.g., ?lang=de or session IDs) pose a particular challenge. Search engines may interpret different parameter combinations as separate URLs, leading to an inflated hreflang matrix. Example: A product page is accessible via /produkt?lang=de, /produkt?lang=en&session=abc, and /produkt?lang=fr. If all these URLs appear in the hreflang matrix, they can cannibalize each other. Solutions: First, use consistent URL structures without redundant parameters. Second, set URL parameters to 'No effect on crawling' in Google Search Console for irrelevant parameters. Third, implement hreflang only for the canonical URL of each language version and avoid including URL variants with tracking parameters. Regular checks with an hreflang test tool help detect and resolve such inconsistencies early.

The most feared tag in international SEO – explained clearly, with the five mistakes we find most often in audits.

Automated monitoring of your hreflang implementation

Even a correctly built hreflang matrix can develop errors over time due to page restructuring, new language versions, or deleted URLs. Manual checking is impractical for multiple languages and many pages. Therefore, use automated tools that regularly check your hreflang tags for completeness, reciprocity, and correct language codes. For example, you can use a script that crawls all pages, extracts hreflang tags, and verifies that every alternative also includes a backlink. Also ensure consistency with the sitemap: Do the language groups declared in the sitemap match the tags actually found on the pages? Integrate such checks into your CI/CD process so that you automatically receive a notification before a new page or language version goes live if the hreflang matrix has gaps.

Language variants and regional specifics: using en, en-GB, en-US correctly

The definition of language codes in the hreflang tag follows the ISO 639-1 standard, with regional variants supplemented by ISO 3166-1 Alpha-2. A common mistake is using 'en' for all English-language pages, even when you operate separate versions for the UK, the US, and Australia. In this case, you must set the tags precisely: en-GB, en-US, en-AU. Without regional differentiation, you signal to Google that all English versions are interchangeable – leading to incorrect delivery. Conversely, if you have only one English page for all English-speaking users, the code 'en' without region suffices. A special case is x-default: this tag should be placed on a generic homepage or language selection page when a user cannot be assigned to any defined language region. Ensure that every regional variant references all others – including the generic 'en' version, if present. An inconsistent matrix causes Google to ignore individual tags. Therefore, use an hreflang test tool to verify that your regional codes are correctly linked. Never use unofficial codes like 'uk' (correct: en-GB) or 'eu' (not allowed).

hreflang for multilingual blogs and dynamic content

Blogs and news sites impose special requirements on hreflang implementation, as new content is constantly added. Manual maintenance of the matrix is not practical here. Instead, using the sitemap method is recommended: define language alternatives in an XML sitemap for each page. When adding a new blog post, simply include a new entry with all language variants. Ensure that the sitemap itself is regularly updated and contains no outdated URLs. Another issue is archives, category pages, or paginated lists: these should only receive hreflang if you operate a separate archive page for each language version. Otherwise, linking individual posts is sufficient. Avoid hreflang on search pages or filtered views, as these do not represent independent language versions. Integrate hreflang generation into your content management system (CMS) so that when creating or translating a post, the correct tags are automatically inserted into the HTML head and the sitemap. This keeps the matrix consistent and error-free, even with high publication volumes.

hreflang for regional language variants and subdomains

Especially in multilingual countries like Switzerland, Belgium, or Canada, the question arises of how to correctly mark regional language variants. Use de-DE for German in Germany, de-AT for Austria, and de-CH for Switzerland. This fine granularity prevents users in Vienna from receiving the German variant with Swiss spelling or vice versa. Ensure that each regional variant has its own page with unique content – a mere difference in currency or date format does not justify a separate hreflang group. For subdomains like de.example.com and fr.example.com, hreflang works the same way: each subdomain references all others. Consistency in URLs is crucial: if the homepage of de.example.com references fr.example.com, the homepage of fr.example.com must also reference de.example.com. Without this reciprocal reference, Google may ignore the mapping. Therefore, plan regional variants early in your page structure and use a consistent URL scheme, such as /de-de/, /de-at/, /de-ch/, or corresponding subdomains. This avoids later revisions and ensures a clear hierarchy that search engines can understand.

hreflang and its impact on crawl budget distribution

A large hreflang matrix with many language variants and pages increases the number of URLs search engines must crawl. Each language version of a page generates crawl requests, and if the matrix is not properly structured, Google may waste valuable crawl budget on erroneous or redundant URLs. To avoid this, ensure that all hreflang references point to indexable, non-redirecting URLs. Avoid including parameter variants or tracking URLs. Organize your sitemap so that the most important pages (e.g., homepage, category pages) are prioritized for crawling. Use the sitemap as the primary mechanism for hreflang, as it provides Google with a compact overview. Regularly check the crawl statistics in Google Search Console: if many pages are marked as "not indexed" or "alternate with canonical," this may indicate conflicts with hreflang. Through clean implementation and monitoring, you ensure that your crawl budget is used efficiently for relevant content and that no capacity is lost to unnecessary or incorrect hreflang links.

blog.faqT

Can I use hreflang only in the sitemap without placing it in the HTML head?

Yes, Google supports hreflang annotations in XML sitemaps as a fully valid alternative to the HTML head. You just need to ensure that all referenced URLs are included in the sitemap and that the language group is correctly defined. The HTML method is suitable if you want additional redundancy or if your sitemap does not cover all pages.

What happens if I define an hreflang group but one of the URLs does not contain reciprocal references?

Missing reciprocal references are the most common reason for non-functioning hreflang tags. Search engines then consider the annotations invalid and may ignore the entire group. Affected pages may then be served in incorrect countries or be treated as duplicate content. Therefore, always verify reciprocity.

Request a non-binding quote

Response within 24 hours on business days.

German GmbHLocal Court Frankfurt am Main · HRB 111727
D-U-N-S® registered315030052
GDPR-compliant processingHosting in Germany
Fixed prices with written delivery guarantee