Running two languages in ocStore means more than translating interface buttons. Search engines need accessible page addresses, genuinely translated content and a consistent relationship between versions. A single address whose language changes only through a cookie makes that relationship harder to inspect.
Choose a stable URL scheme
Use a consistent approach supported by your SEO implementation, such as language directories or distinct language-specific slugs. Each translated page needs an address that reliably opens the intended language. Test it in a clean session without a previously selected language.
Do not replace all established URLs simply to make their appearance uniform. If existing pages are indexed, prepare a mapping and redirect plan first. ShopX uses separate Ukrainian and English homepages, while individual products can have distinct translated slugs.
Give canonical and hreflang different jobs
A separately translated page commonly has a self-referencing canonical identifying its own preferred address. Hreflang connects available language alternatives. Do not point every English article’s canonical to Ukrainian simply because Ukrainian is the store’s primary language.
The language relationship must be reciprocal: each page identifies itself and its counterpart. Use absolute HTTPS URLs and valid language codes. Do not advertise an unpublished or missing translation as an available alternative. An agreed default page can be identified with x-default.
Translate the complete content record
Review the heading, body, meta title, meta description, labels and links. An English title above a Ukrainian body is not a complete English edition. Maintain a terminology list for technical language and preserve product facts during translation.
In a blog, keeping both translations within one article record provides a clear pairing for language switching. Categories also need their own translated names, descriptions and metadata rather than an empty page with a copied heading. Link to the matching language when a translated destination exists.
Use a release checklist
- Both addresses return HTTP 200 and the intended language independently of cookies.
- Each page has one correct canonical and reciprocal language alternatives.
- No accidental noindex, redirect loop or homepage fallback replaces the translation.
- The sitemap contains real published pages.
- Navigation and contextual links preserve language where a counterpart is available.
Inspect the addresses in Google Search Console after publication. Correct technical signals help describe the relationship, but they do not guarantee indexing or rankings. Keep a small URL-to-language inventory so later theme or SEO-extension updates can be checked against the same expectations.
Browse ShopX modules with your precise store version and language requirements in mind. For the underlying annotation rules, use Google’s localized-page documentation.





