WordPress + WooCommerce · Hospitality
Manuarte
Restaurant, show and event venue site with ticket sales, rebuilt from scratch
Manuarte is a restaurant and event venue in Łódź with a Dinner & Show programme. The project started as a facelift and became a full rebuild: a custom WordPress theme, WooCommerce ticket sales for every show and a custom plugin for consent, analytics and redirects.
- Role
- Sole developer, from the Figma design to the migration
- Period
- Jul - Sep 2026
- Stack
- WordPress
- WooCommerce
- PHP
- ACF
- Custom plugin
- Consent Mode v2
- GTM
- GA4


- hero video size, up to
- −73%
- less on every page
- ~1.6 MB
- redirects in a single 301
- 161 / 161
- broken internal links in the audit
- 0
Context
The brief: give the restaurant, the shows and the event space, which the previous site presented together, their own clear paths, and make analytics respect the visitor's consent.
The new site separates the three offers, sells tickets for every show and keeps every old address working.
What I did
- Custom PHP theme with 8 page templates, no page builder and no build step
- Two custom post types, Dinner & Show events and venue events, each show with its own page and ticket products
- A mechanism for selling tickets to one-off special events
- WooCommerce checkout templates styled to the design
- A custom plugin: Consent Mode v2 banner with a consent log that stores the IP only as a salted hash, one GTM container, GA4 e-commerce events and lead tracking
- Redirect manager with a 404 log, and an import of SEO titles and descriptions from the old site
- Scripts that rebuild the site from the repository and run the migration
How it fits together
Theme
- 8 page templates
- Dinner & Show events
- Venue events
- Ticket products
Plugin
- Consent Mode v2 + log
- GTM + GA4 e-commerce
- Redirects + 404 log
- SEO import
WordPress with free ACF, no page builder, no build step.
Hard parts and how I solved them
Problem
Analytics loaded before the consent state was known, and a cached page could serve one visitor's choice to others.
Solution
A fixed order in the <head>: consent defaults first, then GTM. The consent choice is read only in the browser, so the page cache stays the same for everyone.
Problem
A new structure meant new URLs, and search traffic to the old ones could not be lost.
Solution
A URL map built from the production backup and checked against the live site. Blog posts kept their addresses, and the audit found all 161 redirects resolving in a single 301 step.
Problem
Video headers and decorative backgrounds made every page heavy.
Solution
Re-encoded hero videos (6.26 → 2.61 MB, 7.04 → 1.96 MB, 4.70 → 1.08 MB), gradients converted from PNG to WebP (about 1.6 MB less per page) and no video downloaded on phones.
Results
- Hero videos 59-77% smaller, phones download 0 MB of video
- About 1.6 MB less on every page after the PNG to WebP change
- Pre-launch audit: 0 broken internal links, 313 of 313 assets returning 200, Lighthouse accessibility 95-100
- 161 of 161 redirects resolving in one 301 step
Screens
Swipe or use the buttons to browse the screens.
Want this kind of work on your team?
I'm happy to walk you through any of these projects in more detail.
Get in touch



