Avoid duplicate-content signals
POM Translate uses one WordPress object with multiple localized routes. Those routes are intentional language alternatives, not duplicate posts, but their metadata and content must describe that relationship consistently.
Correct signal pattern
For a completed translation:
- the localized route returns the target-language content;
- its canonical points to itself;
- its hreflang cluster points to equivalent language routes;
x-defaultpoints to the base-locale route;- internal links use the active locale;
- the SEO title and description match the target language.
Do not canonicalize every translated page to the base route. That tells crawlers the localized route is not the preferred document and conflicts with treating it as a genuine language alternative.
Common causes of apparent duplication
- target fields falling back to source text;
- two locale prefixes resolving to the same effective locale;
- untranslated or conflicting slugs;
- cached HTML from another language;
- an SEO plugin emitting a second canonical;
- browser-language redirects affecting crawler requests;
- separate manually duplicated posts created outside the POM Translate model.
Review a pair of routes
- Open the base and target URLs in separate private sessions.
- Confirm both resolve directly without a redirect loop.
- Compare the HTML language attribute.
- Compare visible content and SEO metadata.
- Check each self-canonical.
- Confirm reciprocal hreflang links.
- Inspect internal navigation and structured data URLs.
Incomplete translations
If most of a target page still matches the base language, finish it, exclude that locale, or manage noindex through the SEO plugin. POM Translate does not automatically judge whether fallback content is sufficiently distinct.
One canonical WordPress record does not by itself eliminate duplicate-content risk. The rendered language variants and their discovery signals must remain coherent.