Classic Wix Editor, Premium site, domain connected via Wix nameservers.
Secondary language (Spanish) is configured correctly but the published
site does not serve it by subdirectory.
THE CONTRADICTION
The published HTML of my site contains three mutually contradictory
values about language resolution:
Runtime config: languageResolutionMethod=QueryParam
Language definition: “resolutionMethod”:“Subdirectory”
Dashboard setting: Subdirectories (mysite.com/es)
On top of that, the published “siteLanguages” array contains only the
primary language — the secondary language is absent entirely:
“siteLanguages”:[{“languageCode”:“en”,“locale”:“en-gb”,
“resolutionMethod”:“Subdirectory”,“visitorPrimary”:true,
“isPrimaryLanguage”:true,“status”:“Active”}]
REPRODUCTION
https://www.fimbaworldchampionship.com/es → 404
https://www.fimbaworldchampionship.com/es/ → 404
https://www.fimbaworldchampionship.com/?lang=es → 200, fully
translated
Note that the 404 on /es is returned WITH the header
“content-language: es”. The routing layer recognizes “es” as a language
prefix but resolves no page for it.
Two consequences of the same defect:
- /es returns 404 — the subdirectory route never resolves.
- The Language Menu element does not render on the live site. It is
correctly placed, configured and saved in the Editor, but with
only one entry in siteLanguages the component has no second
language to offer. No hreflang=“es” tags are emitted and the
sitemap contains no /es URLs.
WHAT IS ALREADY RULED OUT
- Language status is VISIBLE in the Multilingual dashboard
(1132/6604 words translated). - URL structure is set to “Subdirectories” in Multilingual settings.
- I toggled it to “Language parameters”, saved, and back to
“Subdirectories”, saved. Both changes confirmed by the UI. - Domain is connected via NAMESERVERS, not pointing:
NS: ns2.wixdns.net / ns3.wixdns.net
www: CNAME → cdn1.wixdns.net → 34.149.87.45
apex: A 185.230.63.171 / .107 / .186
Registered with Wix, set as primary domain, Premium active. - Republished over twenty times (siteRevision 306 → 331). Every
newly generated bundle came out with QueryParam and a single
language. This is not edge caching — the defect is baked in at
build time, and propagation delay does not regenerate twenty
fresh builds. - Not a dynamic page (it is the homepage). No blog involved.
Customer Care replied with the standard checklist covering all of the
above. The contradiction between the three values has not been
addressed.
Has anyone seen a published bundle fall back to QueryParam while the
site is configured for Subdirectories? Is there a way to force
server-side regeneration of the multilingual configuration, short of
deleting and re-adding the language? I have 1132 words already
translated and would rather not lose them.
Site ID: cee215ec-f608-4a14-abc0-bfc98cab5432
Current published revision: 331ght help - edge cases, screenshots, etc.