Skip to content

URLs & Language Switching

When Omnalingo translates your site, every page in every language gets its own URL. This page explains how those URLs work, how they are structured, and what Omnalingo does behind the scenes to make them work without duplicating your WordPress pages.

Omnalingo adds a language prefix to the beginning of every URL. Your original pages stay at their existing URLs. Translated versions are available at prefixed URLs:

LanguageOriginal URLTranslated URL
English (original)yoursite.com/about/
Frenchyoursite.com/fr/about/
Germanyoursite.com/de/about/
Spanishyoursite.com/es/about/

No duplicate pages are created in WordPress. When a visitor requests /fr/about/, Omnalingo intercepts the request, strips the /fr/ prefix so WordPress can find the right page, renders the page in the original language, and then swaps all the strings with their French translations before delivering the HTML to the visitor.

Omnalingo automatically adds hreflang tags to every page. These tags tell search engines which language version of a page to show to users in different regions. You do not need to add them manually.

For a page available in English, French, and German, the tags in the page <head> look like this:

<link rel="alternate" hreflang="en" href="https://yoursite.com/about/" />
<link rel="alternate" hreflang="fr" href="https://yoursite.com/fr/about/" />
<link rel="alternate" hreflang="de" href="https://yoursite.com/de/about/" />
<link rel="alternate" hreflang="x-default" href="https://yoursite.com/about/" />

The x-default tag points to your original-language version, which is the standard recommendation for multilingual sites.

Omnalingo includes a language switcher widget that visitors can use to switch between languages. When a visitor changes language, they go to the same page in the selected language — they are not sent back to the homepage.

The language switcher can be added to your site in several ways:

  • Floating widget — appears automatically in the corner of every page.
  • Shortcode — add [omnalingo-switcher] to any page, widget, or block.
  • Navigation menu — Omnalingo adds a language switcher item to your WordPress navigation menus.

For right-to-left languages (Arabic, Hebrew, Persian, and others), Omnalingo automatically sets the correct text direction on translated pages. Your theme’s RTL stylesheet is loaded automatically — you do not need to modify your theme or add any code.

On the free plan, translated URLs use the original slug from your default language (for example, /fr/about/). With Omnalingo Pro, you can translate URL slugs themselves so French visitors see /fr/a-propos/ instead.

When a translated slug is configured, Omnalingo automatically redirects the original-slug URL to the translated-slug URL with a permanent (301) redirect. This keeps your SEO consistent and ensures visitors and search engines always land on the canonical translated URL.

Slug translation is configured in the Omnalingo visual editor — open any page, switch to the URL tab, and enter the translated slug.

If you see a 404 error when visiting a translated URL, the most likely cause is that WordPress’s URL rules need to be refreshed. Go to Settings → Permalinks in your WordPress admin and click Save Changes — this is safe to do at any time and resolves the issue in most cases.

If the problem persists, check that no other plugin is interfering with URL routing on your site. Security plugins and custom .htaccess rules can sometimes conflict with language prefix handling.