Skip to content

Multisite Model

The production CMS uses Statamic multisite. Each site handle in resources/sites.yaml has its own name, locale, URL, and language code.

There are 29 Statamic site handles:

  • 3 national language sites: de, fr, it
  • 26 cantonal or merged-section sites

The older Strapi estate had fewer backend instances because some organisational sections shared a backend. The Statamic model uses one handle for each merged section: bb for Basel-Stadt and Basel-Landschaft, al for Appenzell Innerrhoden and Ausserrhoden, and uw for Nidwalden and Obwalden.

| Handle | Name | Locale | Language | |---|---|---|---| | de | Junge Grünliberale | de_CH | German | | fr | Jeunes Vert’libéraux | fr_CH | French | | it | Giovani Verdi Liberali | it_CH | Italian |

These three sites are the origin for most national content workflows. The German site is usually the origin entry for propagated collections, with French and Italian variants carrying translated copy and localized slugs.

| German handle | French handle | Notes | |---|---|---| | be_de | be_fr | Bern/Berne | | fr_de | fr_fr | Freiburg/Fribourg | | vs_de | vs_fr | Wallis/Valais |

These sites share canton identity but expose separate language variants. URLs and visitor-facing text should be localized per language.

| Language | Handles | |---|---| | German | ag, al, be_de, bb, fr_de, gl, gr, lu, uw, sg, sh, so, sz, tg, ur, vs_de, zg, zh | | French | be_fr, fr_fr, ge, ju, ne, vd, vs_fr | | Italian | ti |

gr is German-only in this project. There is no Italian or Romansh Graubünden site handle.

The URLs referenced by resources/sites.yaml are resolved through config/jglp.php and can be overridden with environment variables:

  • SITE_URL_DE
  • SITE_URL_FR
  • SITE_URL_IT

Cantonal URLs are configured through the same site URL map. Public docs may name the site handles and public domains, but private server vhost details stay in code-docs/ or the hosting configuration.

Multisite creates the separate site records. Blueprint localizable flags decide which fields can be overridden inside those records. The architecture details are documented in Localisation.