Book a call Get my demo
WordPress migration • Brussels

Has your WordPress site become hard to manage? Move to Wagtail

A date to fix on three pages, an update that breaks the layout, one more plugin for every need. We migrate WordPress websites to Wagtail, a CMS where each piece of information is entered once and shows up everywhere it belongs. Your content, languages and URLs come along.

Signs a WordPress site has run its course

  • The same information is copied onto several pages, and one of them always ends up wrong.
  • Nobody dares update the plugins any more, for fear of breaking something.
  • A theme update shifts columns or makes a block disappear.
  • The mobile version falls apart as soon as someone edits a section.
  • Creating a page means calling the agency, or duplicating an old page and hoping nothing gets missed.
  • The admin is cluttered with plugin menus nobody understands anymore.

If two or three of these sound familiar, the problem rarely lies with your team. It lies in the way the site was built. See also 7 signs it is time to redo your website.

The real problem with themes: copied content

Most WordPress sites of nonprofits and small businesses are built with a theme and a page builder (Divi, Elementor, Avada, WPBakery). Each page is drawn by hand: a section, two columns, a heading, some text, a button. It is quick to launch a site, and that is where the trouble starts.

Take an event. It has to appear on the home page, in the events list and on its own page. To the page builder, these are not three views of one event: they are three unrelated blocks of text. So someone types the title, date, venue and image three times. When the date changes, they have to remember all three places.

Diagram: with a WordPress theme and a page builder, the same event is copied by hand to the home page, the events list and its own page, and one copy keeps an old date; with Wagtail, a single event record feeds all three pages

Why teams spend their time copying from the home page to the events page

The page builder does not know what an event, a project or a call for applications is. It only knows sections, columns and text. So it cannot build the list of upcoming events on its own, or take a past event off the home page. That work falls on the team, by hand, every time something is published.

The mistakes it leads to

  • Conflicting information: the right date in the events list, the old one on the home page.
  • Leftovers from the previous event: to save time, last year's page gets duplicated, and an old registration link, an outdated visual or a wrong address survives.
  • Expired content left online: a closed call still promoted on the home page weeks after the deadline.
  • Work multiplied by languages: with WPML or Polylang, every copy exists in French, Dutch and English. Three places become nine.
  • Near-identical pages that search engines struggle to tell apart.

WordPress can work differently: custom post types, structured fields and automatically generated lists. But a site built around a theme and a page builder rarely is, and fixing it amounts to rebuilding it.

The theme and page builder trap

Your content is locked into the page builder's format. Depending on the tool, the layout is stored as bracket codes mixed into the text, or as data only the plugin can read. The day you change theme or builder, pages lose their layout, and sometimes those codes show up in plain text in the middle of your content.

Add the yearly licences for the theme and premium plugins, and updates that must stay compatible with each other: the theme, the builder, its add-ons and WordPress itself each move at their own pace.

Every plugin is one more door

WordPress core is well maintained. Almost all flaws come from what gets installed around it: according to Patchstack's annual report on 2025, more than nine in ten new vulnerabilities were in plugins, the rest in themes, and core had only a handful, all low severity (figures checked on 30 October 2026).

A site stacking dozens of plugins multiplies the ways in, and every plugin its author abandons becomes a door that will never close again. We explain this in our article on PHP2Shell and compare both CMSs in Is Wagtail secure?.

With Wagtail, each piece of information exists once

Wagtail is an open source CMS built on Django (Python). It starts from your content rather than the layout: an event is a record with its fields (title, date, venue, image, registration link), and the site displays it wherever it belongs.

  • The events list fills itself: it shows upcoming events, sorted by date.
  • The home page follows: it shows the next events, and a past one disappears without anyone touching it.
  • One fix applies everywhere: change the date in the record, and the home page, the events list and the event page are up to date.
  • Shared content lives in one place: contact details, partners, a donation banner are edited once.
  • Free-form pages are still possible: editors build pages from blocks (text, image, quote, key figures, button) designed once in your brand. Nobody can break the mobile layout by moving a column.
  • Translations stay linked: each page knows its versions in the other languages.

The same principle applies to your projects, calls for applications, news, publications or team.

What your team gains

Fewer mistakes

One piece of information, entered once. Contradictions between pages disappear, and expired content leaves the home page on its own.

A clear interface

Forms with the right fields instead of a page to draw. Edit, preview on desktop and mobile, publish.

An approval workflow and scheduled publishing are built in.

Less maintenance

No stack of plugins and no yearly licences. The essentials live in Wagtail core and in your code.

A long-term support release ships every year: updates follow a predictable rhythm.

Case study: the Fonds Reine Mathilde

The Fonds Reine Mathilde (Queen Mathilde Fund), managed by the King Baudouin Foundation, supports projects run by young people for young people, through calls for projects organised in cycles. Its site, built on WordPress with a theme and a page builder, had become hard to maintain: the same information was copied from page to page, some projects had disappeared from the site, and every new call meant reworking several pages by hand.

1. Stabilise, without interrupting communication

We first took over the site as it was: publishing the annual report, putting missing projects back online, one-off fixes. This phase also taught us how the Fund works and the rhythm of its calls for projects.

2. Migrate to Wagtail, without a redesign

We then extracted the whole site and rebuilt it on Wagtail. The design was faithfully reproduced to avoid a needless design project: visitors found their site again. Content was cleaned up and duplicates removed, the multilingual setup reworked, GDPR compliance reviewed, and calls for projects got their own module.

3. Make the team self-sufficient

We added editable areas, improved usability based on the team's feedback, trained the editors and wrote a guide describing each module of the CMS.

The outcome

Content is structured and centralised: the team updates the site without redundancy. Calls for projects are managed in a single tool designed to avoid mistakes and duplicates, and the Fund runs its site day to day without going through an agency.

"I have a very good experience with Kern-IT: they take the time to understand my needs and turn them into concrete actions for putting online, managing and maintaining a website." Numi Van Beek, Fonds Reine Mathilde.

The full story is on the KERN-IT blog.

The steps of a WordPress to Wagtail migration

The WordPress site stays online throughout the project, and your team keeps publishing until the switch.

  • 1. Audit: theme, page builder, plugins, languages, forms, content volume, and the pages that bring you traffic.
  • 2. Duplicate hunt: we spot what is copied from page to page (events, projects, news, partners) and turn it into structured content.
  • 3. Content triage: keep, merge or archive.
  • 4. Build: page models, blocks, design (yours reproduced as is, or a new one), approval workflow and languages.
  • 5. Extraction: content is read from the WordPress database without touching the live site. Page builder markup is stripped to keep only the content.
  • 6. Import: repeatable as often as needed, each page keeping track of its WordPress post.
  • 7. Testing: page-by-page comparison, links, media, translations and redirects.
  • 8. Switch over: a few days' publishing freeze, a final import, go live, then search monitoring for several weeks.

The tricky parts, and how we handle them

  • Search rankings: every old address, including category and tag pages and links like ?p=123, gets a 301 redirect. Our method is in migrating a website without losing SEO.
  • Page builder content: nested sections and bracket codes are converted into clean blocks; anything that fits no block is flagged for review.
  • Media: we bring over the original files from the media library with their alt text, not the many sizes WordPress generates.
  • Forms: contact, registration or application forms are rebuilt with Wagtail forms, or custom-built when needed. Past submissions are exported.
  • Donations and payments: your donation platform stays in place and connects to the new site.
  • Accounts: users are imported. Passwords can be carried over through a compatibility layer; otherwise each person gets a link to choose a new one.

When to stay on WordPress

A small, well-kept site updated by a single person does not necessarily need a new CMS. Nor does an online shop built on WooCommerce: if selling is the heart of your site, we will tell you. Moving to Wagtail makes the most sense when several people publish, content overlaps from page to page, the site runs in several languages or maintenance has become a burden. The full comparison is in Wagtail vs WordPress.

A Wagtail team in Brussels

We have been building Wagtail sites since 2016, and we have taken over and migrated sites from WordPress, Drupal and other PHP CMSs. Our office is on Rue Belliard, in the European Quarter: we work with you on site or remotely, in English or French.

Each migration is quoted after an audit of your site. The price depends mostly on the number of content types, languages and custom features, far more than on the number of pages.

Further reading

Frequently asked questions about migrating from WordPress to Wagtail

Yes. Key addresses can be kept exactly as they are, and all others get a 301 redirect. Pages that bring you traffic are listed during the audit and checked one by one after go-live.

Yes. That is what we did for the Fonds Reine Mathilde: the design was faithfully reproduced, and the migration did not add a redesign to the project. You can also use the migration to refresh it.

Because a page builder only knows sections and text, not events or projects. It cannot generate a list from records: every display is a copy typed by hand. Wagtail stores each piece of content once and shows it wherever it belongs.

Most of them go away, because Wagtail or a few lines of code in your site take over their job: SEO, forms, translation, redirects, backups. Specific needs are custom-built.

A few weeks for a site of a few dozen pages, longer for a multilingual site with custom features. The detailed schedule comes out of the audit.

No. Wagtail's interface is simpler than a page builder: you fill in fields and assemble blocks. We train your editors and hand over a guide describing each page type.

No. All languages are migrated together, and each page keeps its link to its translations.

It is quoted after an audit of your site. The price depends mostly on the number of content types, languages and custom features to rebuild.

Let's talk about your WordPress site

A 15-minute, no-commitment call to review your site and see whether moving to Wagtail makes sense.