Glotari

CASE STUDY

German text on the Norwegian page: what half-finished translations cost you in Google and in AI answers

A case from a shop we run ourselves. For a German search, Google showed the Norwegian version, priced in kroner. The markup was flawless. The text was not.

· 6 min read

Glotari grew out of the translation work for naturbohne.de, a Shopify shop for coffee and espresso machines that we run ourselves. On 22.09.2026 we noticed something that does not hide in a setting but in the text: for a German search query, Google did not show the German product page but the address under /no-no/, with a price of 86,096 NOK. Anyone who clicks a result like that sees Norwegian kroner and leaves. This article shows how it happened and how to find it in your shop before Google does.

Re-measurement on one product page, 27.09.2026
SignalValue on /no-no/Correct?
Language in the HTML (lang)noyes
hreflangno-NO, plus de and x-defaultyes
canonicalits own Norwegian addressyes
Currency in the markupNOKyes
Title and descriptionGermanno
Fields with a Norwegian translation3no

Lelit Mara X on naturbohne.de/no-no/, page source and Shopify Admin API, 27.09.2026.

The markup was right

Our first suspicion was an error in the markup. So we checked 44 page types of the shop, plus the versions under /en, /fr, /de-at, /de-ch and /no-no. The result: canonical, hreflang with 102 entries including x-default, and the structured data were correct everywhere.

The Norwegian page stated cleanly what it wanted to be: a Norwegian page with prices in kroner. Only its content was German. Where no translation exists, Shopify shows the text of the primary language. That is exactly how a German title and a German description ended up on the Norwegian address. Of this product's translatable fields, three had a Norwegian version.

Why Google still shows the wrong page

Google does not read the language from the markup. The documentation says so directly: Google uses the visible content of a page to determine its language, not code-level language information such as the lang attribute, and not the URL.

The second passage matters more for shops with many markets. According to Google, localized versions of a page are only considered duplicates if the main content remains untranslated. So a Norwegian page with German text is not a Norwegian page to Google, it is a second German one. That is duplicate content, except that it was not created by copying but by a missing translation. Which of two identical pages gets shown is Google's decision. In our case it was the one with the kroner.

The damage runs both ways: German customers land on the wrong currency, and Norwegian customers get a text they do not want to read. The hreflang annotations cannot fix this, because they describe versions that do not exist in the content.

What this means for AI answers

We have not measured how ChatGPT, Perplexity or Google's AI Overviews handle exactly this kind of page. What follows is reasoning, not measurement.

These services build answers from pages they retrieve, and they work with the text they find there. A page that presents itself as Norwegian and speaks German is weak evidence for a Norwegian question, and for a German question it competes with your own German page, only with the wrong currency. If it gets cited, the price in kroner gets cited. For visibility in AI answers the same holds as for Google: what counts is what is on the page, not what the head of the page claims.

How to find it in your shop

Four checks, none of which needs a tool you do not already have:

  1. One sample per country: open one product page per country address and compare the announced language with the title and first paragraph. A language that is active in your shop is not yet a translated language.
  2. Count fields, not languages: title, description, SEO title, meta description, variant names, metafields and image alt texts are separate fields. A page is only translated when every field that becomes visible is translated.
  3. Count outdated translations too: when the source text changes, the old translation stays. It is then not empty, but wrong.
  4. No country address is better than half of one: if you cannot maintain a language completely, remove it from the market instead of publishing an address with text in the primary language.

What we did about it

On naturbohne.de the missing fields are now being filled language by language, starting where most are open. The markup check stayed as a script and runs again after every larger change, so an error there is never mistaken for an error in the text.

The markup says what a page wants to be. The text decides what it is.

Sources

  1. Google Search Central: Managing multi-regional and multilingual sites
  2. Google Search Central: Tell Google about localized versions of your page (hreflang)