ElementNode
All posts
July 15, 2026 · product

Multilingual sites without plugins: a header and footer per language

No WPML, no Polylang: in Element Node multilingual sites are built with theme block display conditions. One Italian header, one English one — the CMS picks the right one by itself.

If you come from WordPress you know the drill: multilingual means buying WPML or configuring Polylang, then living with duplicated tables, strings to translate by hand and plugins fighting each other. In Element Node multilingual is a property of the architecture, not a plugin.

How it works

Each language's pages live under a prefix: the main site at the root, the English one under /en. Standard so far. The elegant part is theme blocks with display conditions:

  • You create a header and footer in your main language, valid site-wide
  • You create an English version and give it the condition "show only under /en", with higher priority
  • The CMS picks the right block for every page on its own: under /en the English header wins, everywhere else the main one

No global language configuration, no mapping tables: the conditions mechanism — the same one you can use per page, homepage, role or device — covers multilingual for free.

Everything else follows

  • The language switcher is a regular link in each header's menu
  • Forms can have an English version with their own copy
  • The cookie banner automatically shows its English variants under /en
  • SEO and sitemap respect the prefix structure too

The advantage of not having a plugin

A multilingual system made of composable primitives means there is nothing to break on update: the case "the translation plugin is not compatible with the new version" simply does not exist. It's the same rendering engine, with one extra condition.

Element Node Team · Engineering