/// Case study · PLZ

PLZ: a football platform with a show, a game and a match centre.

PLZ moved from WordPress to a custom Laravel and Vue platform in July 2026, and has been growing feature by feature since.

  • Laravel and Vue
  • Sports data
  • Video
  • Games
The PLZ home page
plzsoccer.com, rebuilt in Laravel and Vue in July 2026.

What PLZ is

PLZ is a Scottish football platform built around a video show. Around the show sit a Predictor game, a fantasy game called PLZ XI, match analysis, a supporters' league, club pages and presenter pages. It had outgrown the WordPress site it started on.

The rebuild

In July 2026 PLZ moved to a custom platform: Laravel 13, with Inertia, Vue 3 and Tailwind on the front end and a SQLite database. Queues and the scheduler run every minute. Pages carry full structured data for articles, videos, sporting events and the organisation, rendered on the server so search engines see it.

A rebuild is only as good as its redirects. In October 2026 we replayed 3,063 legacy addresses against the new site, covering every address that had been earning search impressions, and repaired 718 broken YouTube links on the way.

A match centre with a state for everything

The match centre, live from 22 October 2026, has a clear state for every point in a game: upcoming, live, half-time, full-time and postponed. Match pages carry form, head-to-head, a prediction pulse and sporting-event structured data. Since 23 October each fixture also gets a hero image drawn automatically from the show's design pack.

Games

The Predictor keeps picks open for the next two rounds and locks each one five minutes before kick-off. PLZ XI, the fantasy game, builds its gameweeks straight from the fixture calendar rather than from a list someone keeps by hand.

Poll battles offer two kinds of vote: pick one, or rank the options, counted with a Borda count. Anyone can vote, and no result is shown until a poll has at least ten votes, so an early handful cannot set the story.

Video at the centre

The show's YouTube channel and playlists are pulled in automatically, each episode gets its own page, and a video sitemap listed 830 episodes at launch. When we trimmed the watch page in October 2026, its HTML went from 2,287 KB to 117 KB and its load time from 1.01 seconds to 0.39.

More than one division

Fixtures, results, squads and player figures come from a sports data provider, synced twice a day. The data has gaps, so the platform keeps its own corrections: the feed never marks a player as having left a club, so PLZ keeps a list of departures and overrides it. Since 25 October 2026 the site covers the Scottish Championship as well as the Premiership, with all ten Championship clubs carrying their fixtures.

Running it

PLZ has 22 scheduled jobs. Each run is recorded and checked for freshness, and an alert goes out when one goes stale. The merchandise store moved to Shopify at shop.plzsoccer.com, and the old on-site store now redirects there rather than competing with it.

Building something people come back to?

Send a few lines about what you are making. A real person replies, usually the same working day.