Reinventing the "What's On" page in Wagtail
The topic We build websites in the arts and culture sector, and switching from WordPress to Wagtail in early 2025 required a fundamental shift in how we think about site architecture. By leaning into Wagtail's hierarchical page tree instead of flat routing, we reinvented the centerpiece of all our websites: The "What's On" page.
In our WordPress days, the "What's On" page was the core of our sites—a single routing point under which every event lived, forcing us to rely on heavy, complex taxonomies to make it usable. Today, we leverage the 'Index Page' -> 'Child Page' pattern to declare multiple, distinct Event Index Pages flexibly and precisely where they make sense:
- Seasonal venues can have a new index each year: "What's On 2026".
- Different audiences get their own hubs: "Shows" vs. "Workshops".
- Archives naturally separate out: "Past Events".
The benefits of this new approach include:
- Sites are much more modular to meet the needs of each client.
- URL structures are inherently cleaner and make logical sense.
- Better isolation means no more over-complicated, all-singing-all-dancing filtering systems based on dozens of taxonomies.
- Content authors and editors regain control over the actual structure of the site, not just the words on a page.
- We avoid forced 3-tier structures (like whats-on/events/my-event) that fall apart when events is the only type.
Talk structure
- Context: The type of work we do and why the "What's On" page is our biggest architectural challenge.
- The Old Way: Our legacy WordPress site structures and the single-nexus bottleneck.
- The Mindset Shift: Moving to Wagtail's page tree and why this pattern wasn't immediately obvious to us during the transition.
- The Build: How we structure this practically, including how we solve the "global feed" problem (querying across multiple distinct indexes to build a unified feed for the homepage).
- Editor Experience: The benefits to content authors and site visitors in navigating a more thoughtful hierarchy.
- The Pitfalls: Edge cases, early mistakes, and where this approach can bite back.
The take away We want to encourage attendees to consider how effectively they utilise page hierarchy within Wagtail. Other popular platforms, and even standard Django static routing, train us to think linearly. Unlearning that opens up better patterns for blogs, e-commerce, and more. Ultimately, tying functionality directly to the page hierarchy stops developers from building arbitrary roadblocks, giving control to the people authoring the content.
About Jack Whitworth
Backend web developer at Susbtrakt specialising in Django and Wagtail.