Five markets, one place to publish.
A tourism board wanted an easier way to run its website in several languages. I migrated it from WordPress to one Craft CMS platform with a version for each market, and the team now publishes on its own.
- Client
- Center of Portugal · Tourism board
- Role
- Diagnosis, Content architecture, UI and UX (with a freelance designer), Craft CMS development, Content migration, Ongoing partner
- Stack
- Craft CMS, Twig

They asked for an easier way to run their website, in several languages
They needed one platform with a version for each market, with the old site, two blogs and a magazine migrated into it.
Before
WordPress, in English only.
- Other languages only through translation plugins
- A workflow the team found hard to use
- Two blogs and the Togetherness magazine on separate sites
After
One Craft CMS platform, five languages on one domain.
- English, Brazilian Portuguese, Spanish, French and German, each with its own content
- Preview before publishing, related content in every section
- Blogs and magazine inside the same site and the same CMS
In this case
Center of Portugal has been a client of mine for more than 14 years. Their site started on WordPress, in English only. When they decided to go after new markets, they asked me for a simple way to run it in several languages, and to keep it easy to maintain.
The team already found WordPress hard to work with when the site had one language. Translation plugins would have multiplied that by five. So I started with how they publish, and the languages came after.
A region competing for visitors
Center of Portugal promotes the centre of Portugal abroad. (Turismo do Centro, a separate body, looks after the national market.) The site doesn’t sell a product. It sells the region, against places like Lisbon and Madeira that visitors already know.
So it has to help someone planning a trip decide where to stay, what to do and what to see. That means destinations, things to do, routes, events, places to stay and restaurants, plus pages for the businesses that are members of the association, and Togetherness, the region’s online magazine.
Five markets matter most: the UK, Brazil, Spain, France and Germany. Each one gets its own language and its own editorial priorities. That’s why the Portuguese version is Brazilian Portuguese.
Choosing the platform
I built a first version in Statamic. The way it generates pages added a layer of process that made development harder than it needed to be, so I stopped there.
I’d have liked to use Webflow. At the time it didn’t have Localization yet, and the workarounds meant a second tool to manage the languages: two dashboards for a team that needed one simple place to publish. That ruled it out.
Craft CMS solved it. One install runs a version of the site for each language, all on the same domain: English at the root, then /pt/, /es/, /fr/ and /de/, with the slugs translated too (Coimbra is /de/reiseziel/coimbra in German). Each version can have its own content, and a page doesn’t have to exist in every language. Adding a language doesn’t need a rebuild either: when a campaign needed pages in Japanese, they went into the same platform.
Moving everything into one system
This was more than a redesign. The information architecture changed completely, and everything had to be migrated: the WordPress content, two blogs that lived on separate sites, and Togetherness, which had its own address. Keeping them apart made no sense, so they’re now part of the same site and the same CMS.
The interface was redesigned with a freelance designer I work with. I turned the designs into a system of components, composed the pages in Webflow and rebuilt the exported HTML and CSS as Twig templates on top of Craft. The Webflow interactions and scripts stayed behind.
Development took about four months, including the UI and UX work, the new architecture and the migration. From kick-off to launch it was six. The other two were design rounds and internal approvals.
Circular navigation
Wherever a visitor lands, the next useful thing should be on the page. I call it circular navigation.
Take the moliceiro boat trips on the Ria de Aveiro. The article links to related articles, to the member businesses that run the trips and to hotels nearby. Someone who comes in through culture or monuments ends up in the same web: what’s close by, which routes pass there and where to stay.
Editors set those links themselves. Every section in Craft can relate content, and articles are composed from blocks (text, images, video, galleries) with a preview before anything goes live.
The most complex part of the site is the accommodation filter. More than 100 places to stay can be filtered by name, star rating, type (rural, hotel, country house, hostel), services and location. Five-star hotels in Coimbra with a 24-hour reception, for example.
Two years on
This version has been live for about two years. Each language has its own slugs, sitemap and hreflang, so search engines index every market properly, and every market builds on the same domain. In the year after the new version launched, visits went up 42%.
The archive has grown past 2,000 articles in five languages. The team publishes on its own, and they like Craft a lot more than they ever liked WordPress.
I still work with them. Every year or two we review the site together: fixes, metrics, SEO, and new features when they’re needed. In the last review we improved the search filters for things to do and places to stay.
Those filters were built with AI tools in my workflow, which the original build mostly wasn’t. I use them openly, and development was a lot faster for it.
Frederico is a kind of haute couture tailor for the digital age. His rigour, knowledge and refined aesthetic sense are always in service of a clear, effective message. Our goal is to position Center of Portugal in international markets with clarity and a voice of its own. I know nothing about code, so watching him strip the noise from page after page feels almost like magic.
What changed
Four things that are different now.
01
A site for each market
Each language has its own version on the same domain, with content chosen for that market. A page doesn't have to exist in every language, and adding one doesn't need a rebuild.
02
The team publishes on its own
Editors compose articles from blocks, preview them and publish. They have run the site this way for about two years.
03
Everything leads somewhere
Destinations, things to do, routes, events, places to stay and members' pages are related, so every page points to the next useful one.
04
Search engines can read every market
Slugs, sitemaps and hreflang per language. Visits went up 42% in the year after launch.
New website

