SEO · Checked once per domain
Locale content is actually translatedWhat it checks and how to fix it
What it checks
Compares the visible text of pages that declare each other as different-language hreflang alternates. Any pair that is 90% or more similar is flagged as probably untranslated (warning); the check passes when every compared pair is clearly different, and is skipped when the audit found no cross-language pairs.
Why it matters
A "/de/" page that still carries the English body copy is not a German page: it competes with the original as a near-duplicate and gives German searchers nothing. Google can treat large sets of such pages as duplicate or scaled low-value content, which can drag down the whole site rather than just the affected URLs.
How to fix it
Translate the full main content of each flagged page: the title, headings and body, not only the navigation and footer. A locale that has no translated content yet should not be published or listed in hreflang until it does.
While a locale is unfinished, remove it from the hreflang set and keep it out of the index:
<!-- on the untranslated /de/ page -->
<meta name="robots" content="noindex, follow">
and drop its entry from the alternates of the other locales:
<link rel="alternate" hreflang="en" href="https://example.com/pricing">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/tarifs">
<!-- no hreflang="de" line until the German page is translated -->
The check is a text-similarity heuristic, so review each flagged pair: short pages made mostly of product names or code can be legitimately similar.