All case studies

Media · Modernization

A platform over 20 years old.
Modernized. Without a single day of downtime.

A pending PHP 8 upgrade was the trigger. What followed was a full modernization of a platform more than 20 years old, while the editorial team kept working. New search architecture, containerization, a move to Kubernetes and technical SEO work, all while journalists carried on publishing every day.

Book a call
Trade magazine publishing platform: legacy modernization with PHP 8, Manticore Search and Kubernetes
6xSEO visibility
5s → <100msSearch times
20+Years of legacy modernized

The starting point

A platform that worked. But not for much longer.

An editorially run online platform for an established trade magazine, with dense content and seasonal traffic peaks. The platform had grown over more than 20 years, and the code carried the marks of every decision made in that time.

The pending PHP 8 upgrade was the concrete trigger. The legacy code was not compatible, a migration was unavoidable. At the same time search took up to 5 seconds, the frontend was not optimized for mobile and the technical SEO foundation was weak. The PHP 8 upgrade was the chance to modernize the platform properly instead of just patching it.

The challenge

Modernization without interrupting editorial work.

The editorial team works with the platform every day. Articles get written, published, updated. No maintenance window, no "we'll be back shortly". The modernization had to happen alongside live operations, without journalists having to stop working.

On top of that came the technical complexity. A codebase grown over more than 20 years has dependencies nobody fully understands any more. Every change could have unexpected side effects. The path from PHP 7 to PHP 8, from Sphinx Search to Manticore Search, from bare metal to Kubernetes had to happen step by step and under control.

My approach

Step by step.
Under control.
While it kept running.

01

PHP 8 migration

Legacy code migrated to PHP 8, including reworking every outdated component and dependency. Laravel modernized as the framework base. A step-by-step approach with clear milestones so editorial work was never at risk.

02

Rebuilding the search architecture

Sphinx Search replaced with Manticore Search. Search times cut from up to 5 seconds to under 100 milliseconds. For a content-heavy platform, search is business critical: a 50x improvement in search speed is not a technical detail, it is something users feel directly.

03

Containerization and Kubernetes migration

Application containerized and migrated to Kubernetes. A stable Docker and deployment structure introduced. Deployments that used to be risky and manual are now controlled and reproducible.

04

Technical SEO optimization

Technical SEO foundation substantially improved. Load times optimized, structured data introduced, mobile presentation modernized. AI was used to produce SEO-optimized content that actually helps readers: no generic filler, but topically relevant material that matches search intent. The result was a sixfold increase in the platform's SEO visibility.

05

AI integration for editorial processes

AI automations for content checking integrated. Editorial processes that used to be manual now get automated support.

Does your platform need an update that does not slow it down?

Let's find out in 30 minutes whether I can help.

Book a call

What was hard

Technically better is not the same as feels better.

The new search was fifty times faster and ranked differently. Sphinx and Manticore do not score relevance identically, and an editorial team that has worked with one system for twenty years knows its quirks by heart. They do not search for keywords, they search for articles they know exist. When those show up in a different place, the result is objectively better and feels worse.

What helped was not dismissing that as a matter of habit. Typical editorial searches were collected, the old and new result lists put side by side, and the cases where the order changed noticeably were reviewed one by one. Some were genuine improvements, some were weightings the editors expected for good reason: for a trade magazine recency often beats pure term matching. Those expectations went into the configuration instead of being argued away.

Riskier than the code migration was the SEO work. Twenty years of articles means tens of thousands of addresses, many of them linked externally and ranking. Every lost redirect is a ranking loss that no amount of good code makes up for. So before the move the full address inventory was captured, every change mapped to a permanent redirect, and the result checked against Search Console afterwards instead of hoping for the best.

The outcome

Faster. More visible. Ready for what comes next.

6x

SEO visibility

Technical SEO work increased the platform's organic visibility sixfold.

<100ms

Search times

From 5 seconds to under 100ms, a 50x improvement through the new search architecture on Manticore Search.

20+

Years of legacy

Transformed into a maintainable codebase with a future, without a single day of production downtime.

A publishing platform more than 20 years old moved onto a modern, maintainable and scalable base. The PHP 8 upgrade was the trigger, the full modernization was the result. Search runs 50 times faster, SEO visibility has increased sixfold, the infrastructure is containerized and deployed on Kubernetes. And the editorial team kept working every day throughout the whole modernization, without a single day of downtime.

Technologies used

Proven tools. No experiment.

Backend
  • PHP 8
  • Laravel
  • PHPUnit
  • Mockery
Search
  • Manticore Search
Infrastructure
  • Kubernetes
  • Docker
  • CI/CD
  • Hetzner Cloud
  • Redis
  • MySQL
Observability
  • Grafana
  • Sentry
AI
  • OpenAI API
  • Prompt Engineering

Client voices

What clients say.

“Mr Rutte built a fully custom CRM for us, tailored exactly to our needs. Working together was straightforward. He implemented our requirements perfectly and the system runs absolutely stable.”

Stefan SchubertClient · Trustpilot, October 2025, translated from German

“Great collaboration! Mr Rutte modernized our old PHP shop quickly and reliably, brought it up to date and built in many sensible improvements along the way. Communication was uncomplicated, deadlines were met – absolutely recommendable.”

Anonymous reviewClient · ProvenExpert, October 2025, translated from German

“Tim worked with us as a PHP developer and did a really good job. He got up to speed on the project quickly and always found a solution, even on tricky topics. The code was clean, easy to follow and genuinely moved us forward. We would work with Tim again any time.”

Anonymous reviewClient · ProvenExpert, September 2025, translated from German

Frequently asked

What clients ask before deciding.

How do you modernize a 20-year-old platform without a day of downtime?

By never doing two things at once. The PHP 8 migration, the new search and the move to Kubernetes were three separate projects with their own way back. The editorial team kept publishing throughout, because only one part was ever in motion.

Why Manticore and not Elasticsearch?

Because the requirement was full-text search across German-language trade content, not analytics over log data. Manticore delivers that at a fraction of the operational effort, and search time dropped from 5 seconds to under 100 milliseconds.

Where does the sixfold visibility come from?

From technical SEO, not new content: load times, clean URLs, structured data and a search that made internal linking possible. The content was always good, it was simply hard to find.