Part of #75 (SEO epic).
What
Translate the body content of every per-app docs site at /nl/... from English to Dutch. The SEO audit found Dutch UI chrome (navigation, footer) but English body content on every per-app site's /nl/ tree, which Google's helpful-content / spam-content policy treats as scaled content abuse.
Why
Current state: ~17 subdomains each serve https://<slug>.conduction.nl/ (English) and https://<slug>.conduction.nl/nl/ (Dutch chrome, English body). Google treats this as low-effort translated content; rankings on the /nl/ tree underperform the English tree and the whole subdomain takes a quality hit.
If we can't ship proper Dutch translation, the alternative is to:
- Add
<meta name="robots" content="noindex"> to every /nl/ page on per-app docs sites (cleanest opt-out)
- Or remove
nl from i18n.locales in each site's docusaurus.config.js (no Dutch tree at all)
Scope
Per the audit: 17 per-app docs sites. Pages per site varies (decidesk ~17, openregister ~242). Total estimated: 600–1200 pages of Dutch translation.
Recommended approach
- Decide policy per site: translate, or noindex, or remove. Default for stable apps: translate. Default for in-development apps (doriath, app-versions): noindex
/nl/ until content stabilises.
- For sites that translate: hand-tune intro / install / overview pages first; auto-translate the rest only if a human passes through.
- Add a check to
validate-ai-baseline that flags pages where <html lang="nl"> body content is >50% identical to the <html lang="en"> version.
Linked / cross-cutting
- Memory:
project_specter-coverage-mapping, feedback_design-system-cd-first
- Conduction writing rules apply: NL is the canonical audience, "je" / "jij" not "u".
Part of #75 (SEO epic).
What
Translate the body content of every per-app docs site at
/nl/...from English to Dutch. The SEO audit found Dutch UI chrome (navigation, footer) but English body content on every per-app site's/nl/tree, which Google's helpful-content / spam-content policy treats as scaled content abuse.Why
Current state: ~17 subdomains each serve
https://<slug>.conduction.nl/(English) andhttps://<slug>.conduction.nl/nl/(Dutch chrome, English body). Google treats this as low-effort translated content; rankings on the/nl/tree underperform the English tree and the whole subdomain takes a quality hit.If we can't ship proper Dutch translation, the alternative is to:
<meta name="robots" content="noindex">to every/nl/page on per-app docs sites (cleanest opt-out)nlfromi18n.localesin each site'sdocusaurus.config.js(no Dutch tree at all)Scope
Per the audit: 17 per-app docs sites. Pages per site varies (decidesk ~17, openregister ~242). Total estimated: 600–1200 pages of Dutch translation.
Recommended approach
/nl/until content stabilises.validate-ai-baselinethat flags pages where<html lang="nl">body content is >50% identical to the<html lang="en">version.Linked / cross-cutting
project_specter-coverage-mapping,feedback_design-system-cd-first