Kulturní přehledy

Rebuilding a culture listings portal off a ten-year-old WordPress install onto a custom catalogue. Five thousand events, ten years of indexed URLs, an editorial back office and an ad system.

Status:
Under construction — the old site is still running

Measured result

Events being migrated
5,036Export from the legacy WordPress database, 2026
Years of indexed URLs
10URL inventory of the legacy install, 2026

Context

A portal for finding what is on — concerts, cinema, theatre, exhibitions, festivals. It runs on WordPress that has accumulated five thousand events, dozens of plugins and a runtime that no longer receives security fixes over ten years. The editorial team enters every event by hand, and advertising is sold without anyone counting how often a banner was shown.

What was wrong

  • Runs on PHP 7.4, which has had no security patches since November 2022
  • Five thousand events in a database nobody has cleaned in ten years
  • Ten years of indexed URLs — any change to the structure costs search positions
  • Every event is typed in by hand; nothing is imported from the organisers
  • Ad slots are sold, but impressions are never counted

Constraints

The old site has to stay up throughout — a listings portal cannot disappear mid-season. Every URL must keep working one to one, or ten years of search positions go with it. And the rebuild runs in phases, because the editorial team keeps working in the meantime.

What we did

  • Migrating every event off the old database, URLs one to one
  • A custom catalogue instead of WordPress — concerts, cinema, theatre, exhibitions, festivals
  • A back office for the editorial team: events, media library, sign-in
  • A custom ad system — campaigns, creatives, placements and real impression counting
  • Organiser feeds into a review queue, instead of retyping
  • Bilingual interface, Czech content — an English page with no Czech translation canonicalises to the Czech one, so hreflang never claims a translation that does not exist

Want the same?

Send us your website address and within 48 hours you'll know what could be improved and what it would cost.