← All articles
6 min readBy Onravetoni

Hreflang errors: why Google shows the wrong language version

Your German service page exists, yet search shows the English version. Conflicting language signals are one possible cause, but they are not the only one. Start by checking one complete group of equivalent pages rather than changing language codes across the site. This workflow separates technical mistakes from an offer that still needs adapting to its intended market.

Build a URL matrix for one service

Choose an important service and put its real German, English and Ukrainian addresses side by side. For each address, record the response status, canonical, hreflang destinations, visible language and language-switch destination. You now have three pages to investigate instead of an undefined site-wide issue.

Here is an illustrative checking group: /de/services/seo-setup, /en/services/seo-setup and /ua/services/seo-setup. A German contact page does not belong in that group. Mark absent translations as absent; do not substitute a convenient homepage for an equivalent page.

  • Requested address and final HTTP status after redirects.
  • Canonical destination and indexability.
  • Language code and corresponding alternative URL.
  • Visible language of the main content, title and navigation.
  • Destination when a visitor changes language manually.

Check language codes and return links

Google expects valid language codes and reciprocal hreflang references among equivalent versions, including each page itself. Ukrainian uses uk, even if the folder is /ua/. A country code alone is not a language designation. x-default can identify a neutral selector or default page.

Inspect the URLs that are actually served. One common mismatch is a German page that has moved while the English page still references its previous address. Check the delivered HTML or sitemap as well as the CMS settings; a correct-looking configuration is not evidence of a correct response.

  • Alternatives cover equivalent content in different languages.
  • The relationship works in both directions.
  • Language annotations no longer reference pre-redesign URLs.
  • HTML and sitemap annotations do not contradict one another.

Check canonical targets separately

A canonical pointing to English can conflict with the intention to index a distinct German translation. For translated pages, Google recommends a canonical in the same language when one is available. Inspect that target before treating hreflang as the sole suspect.

Then review the actual offer. Is only the menu translated while the service description and form remain English? Google identifies page language from its content. Our practical recommendation is to have a fluent reviewer read the entire key service page, including form errors and the enquiry confirmation.

Approve one group before changing the template

Correct one group and keep a short change log. Recheck the same values and test the language switch on a phone. Apply the pattern elsewhere only after it works. This prevents a mistaken template setting from being propagated across every language page.

Make acceptance concrete: the right destination, no unexpected redirect, consistent annotations and readable content. A green validator result does not tell you whether a German buyer understands the offer or will receive a reply in German.

Observe what happens after the correction

Record the release date and affected addresses. Compare pages and countries separately in Search Console rather than relying on total site traffic. Also record whether enquiries arrive through the intended language version. This is our suggested review method, not a forecast of ranking changes.

If the technical values are consistent, investigate search intent, content and internal links next. Hreflang does not guarantee that a particular version appears in every search. Avoid daily rewrites without fresh evidence: they make it harder to understand which correction mattered.

Frequently asked questions

Is a /ua/ folder incorrect?
No. A folder name and a hreflang language code serve different purposes. Ukrainian uses uk in the annotation, while the URL can still contain /ua/.
Should all translations canonicalize to English?
That is generally not the appropriate pattern for translations intended to be indexed separately. Check same-language canonicals and handle genuine duplicates separately.
Should a missing translation point to the homepage?
An unrelated homepage is not an equivalent service page. In our checking matrix, the translation stays marked as absent until corresponding content exists.
Can a plugin fix everything?
A plugin can generate annotations. Content equivalence, canonical targets and the quality of each language version still need review.

Sources

Send us an affected page and its language versions. We can check the relationships, canonical targets and internal links, then define the correction scope with you.

Discuss your language versions