A multilingual Plone 6 relaunch for Amnesty International Switzerland
A complete relaunch of the Amnesty International Switzerland website, built on 7inOne on top of Plone 6 Classic UI, running as a multilingual headless backend with a decoupled SvelteKit frontend by mutoco consuming the REST API.
Goals and requirements: The customer is Amnesty International Switzerland, an NGO. The previous site had reached the end of its lifecycle — its design system was around ten years old and no longer met increasingly differentiated UI needs, and a brand update landed at the right moment to drive a full relaunch. The goal was to deliver a content-rich, multilingual platform that bridges long-form, word-heavy human-rights reporting with landing-page-style presentation, in a magazine-like look and feel. As with our other deployments, we used a decoupled headless architecture: 7inOne (Plone 6 Classic) as the backend and CMS, exposing all content via plone.restapi, with an independent frontend built by a separate agency (mutoco) in SvelteKit. Key requirements: full multilingual support across three languages (a standard Plone feature); migration of over 10,000 (15,000 across all languages) existing articles from Plone 5; a complex REST API covering many different article types; and topic-based content filtering implemented via Elasticsearch and dedicated content blocks. The platform also had to remain a configurable standard product, the entire site was delivered through the configuration of 7inOne rather than one-off custom code.
Development process: The project was delivered jointly by two specialist agencies under a headless split: webcloud7 was responsible for the backend (7inOne / Plone 6 Classic, REST API, data migration, infrastructure), and mutoco handled business strategy, UX, visual design, digital branding, and the SvelteKit frontend. On the customer side, a small internal project team led by webmanager Thierry Corbat coordinated information architecture, UX, and web design, which were largely finalized before implementation, configuration, and data migration began. Collaboration ran across roughly 60 working meetings. A key success factor was getting the UX and design mostly settled before talking implementation.
Outcome: The new amnesty.ch was delivered 100% with 7inOne. Every feature and requirement was met through configuration of the standard product, with no project-specific forks. That's the proof point of three years of product work: requirements raised by Amnesty (such as the self-expiring licensed lead images) became standard 7inOne functionality that every other customer now benefits from automatically. The headless model again validated our strategy of having the frontend built by a separate supplier: the backend stays continuously up to date with new features, security updates, and optimizations, while frontend-specific business logic lives in the frontend. Topic-based filtering via Elasticsearch and dedicated blocks powers content discovery across a large, multilingual articles archive. The frontend is hosted on Cloudflare.
Numbers (some interesting stats about the website): - 4 Languages - Over 100k unique visitors a week - Over 20k images scaled, optimized, and delivered via Cloudflare image transformations
Plone version: Plone 6 Classic
Industry: NGO
A headless system creates a natural separation, and I have the impression that the two agencies were stronger overall precisely because each could focus on its own strength. A design system might well be conceived less freely if everything came from a single source." — Thierry Corbat, Web Manager, Amnesty International Switzerland (Translated from German)
Provider information
webcloud7 ag
Mathias Leimgruber
m.leimgruber@webcloud7.ch
Provider case study page for this project
