Case · Roofing manufacturer

Two brands, one codebase

For IKO Metals Europe we took over the maintenance and further development of the Metrotile and Tilcor websites: modernisation of both sites and a move to Umbraco Cloud, one shared codebase for both brands, much better performance and ongoing care.

Client
IKO Metals Europe
Industry
Roofing manufacturer
Scope
Modernisation, Umbraco Cloud, shared codebase
Duration
Since spring 2025
metrotile.eu home page with the slogan Made for a safe and long life and a photo of a house with a Metrotile roof
metrotile.eu · the new version on Umbraco Cloud since October 2025
  • 1

    codebase for two brands instead of two separate repositories

  • 16

    site versions: 8 per brand, an international version and 7 national ones

  • < 5 GB

    of media per site after cleaning up the libraries

  • 96.6

    average Lighthouse performance score on desktop, 10 key pages

The challenge

In 2025 the European IKO Metals team took over responsibility for the European Metrotile and Tilcor websites and was looking for a new Umbraco partner. After talking to several agencies, it chose Idea Makers. We took over the maintenance and further development of both sites, and the modernisation turned out to be more demanding than usual.

  1. [01]

    An older platform version

    Both sites ran on a version of Umbraco that was nearing the end of its support.

  2. [02]

    Modernisation in progress

    A new version of the sites was in preparation: parts of the backoffice and some features still needed finishing, and the content had yet to be moved over.

  3. [03]

    Poor performance

    In pre-launch tests, pages on the new version weighed 8–28 MB, and on a simulated mobile connection the main content appeared after 20–60 seconds, compared with about 7 seconds on the old site.

  4. [04]

    Two repositories, the same code

    Each brand had a separate repository with the same code. Every fix had to be made and deployed separately for both brands.

  5. [05]

    Getting to know the projects

    The takeover meant learning both projects, their integrations and dependencies on our own.

  6. [06]

    Mixed and duplicated media

    Each brand had its own library, but both contained duplicated Metrotile and Tilcor files and plenty of unused media. In total, the media took up almost 16 GB. Cleaning up the libraries helped reduce storage use and hosting costs in Umbraco Cloud.

  7. [07]

    Two live businesses

    Each site has an international version and 7 national ones. Metrotile: Germany, Poland, Slovenia, Slovakia, Ireland, Italy, Kazakhstan. Tilcor: Poland, Ukraine, Slovenia, Slovakia, Romania, Lithuania, Kazakhstan. Sales teams use them every day, so the switchover had to happen without downtime.

What we did

  1. 01

    A foundation under our control

    To start, we took over and organised the code of both sites, moved it to Umbraco Cloud and automated deployments. Meanwhile, the existing sites kept running unchanged.

  2. 02

    Migration with Umbraco tools

    We moved the content with Umbraco Deploy, using our own connectors and converters, with no manual re-entry and no risk of data loss.

  3. 03

    Separated media

    We checked which files each brand uses, organised separate Metrotile and Tilcor libraries and removed unused media. After the cleanup each site takes up less than 5 GB, which reduces storage needs and hosting costs in Umbraco Cloud.

  4. 04

    Completed features

    We finished what was missing from the new version, fixed what did not work and worked through the issues from acceptance testing. We also put the technical SEO basics in place.

  5. 05

    Performance

    Two weeks after the first brand went live, we optimised the shared code: images and assets, loading, rendering and the application. The average page weight dropped from 10.8 MB to 0.9 MB.

  6. 06

    Switchover without downtime

    We only launched the new versions once they were fully ready. Metrotile went live in October 2025, Tilcor in February 2026.

One codebase, two brands

Umbraco Cloud offers shared code across sites as part of an extra subscription. We achieved the same result without additional licence costs.

Diagram: one website codebase for Metrotile and Tilcor, tested before release, then a configuration for each brand with its logo and settings, and finally two Umbraco Cloud sites with their own content, images and editing panel
One website codebase, two brands, separate Umbraco Cloud projects
  1. One shared codebase for both sites, each with its own brand’s look and settings.
  2. We prepare fixes and new features once, and both brands benefit.
  3. Each brand has its own content, media and backoffice.
  • Before

    Two repositories

    The same code in a separate repository for each brand.

    • Every fix made twice
  • Now

    One repository

    Shared code, with each brand’s content, media and data kept separate.

    • A change prepared once for both brands
    • Reaches both brands with the next deployment
    • Automated deployments

The IKO Metals team still decides for each brand separately whether and when a change goes live, and the brands never share content or data.

Metrotile metrotile.eu
Tilcor tilcor.eu
metrotile.eu home page
tilcor.eu home page
The same code and the same templates, two brands: the metrotile.eu and tilcor.eu home pages.

Before and after

Status at takeover (spring 2025) and today.
AreaAt takeoverTodayChange
Platform updated regularly Older versionCurrent version supported
Hosting moved to the cloud Own serverUmbraco Cloud cloud
Code repositories the same code for both brands 21 change made once
Media separate libraries with duplicates → organised for each brand ~16 GB< 5 GB per site

Performance

We did not start with a clean slate. The new version prepared earlier did score better on desktop than the existing site, but it was heavier, and on phones the main content appeared after 30 seconds on average instead of 7. After our optimisation the site is faster than both versions. Both brands run on the same code and templates, so the results apply to both sites.

Lighthouse performance scores: the existing site and the optimised version
LighthouseExisting siteAfter our optimisation
Performance, desktop
68
97
Performance, mobile
63
80

Step 1 · the existing site vs the new version before optimisation

Lighthouse, lab tests of the same 10 pages, 1 October 2025: the existing site and the new version before launch.
MetricExisting siteNew version before optimisationChange
Performance score desktop, average 67.584.8 ↑ +17.3 pt
Performance score mobile, average 63.363.9 ↑ +0.6 pt
Average page weight desktop 7.4 MB11.9 MB ↓ +61% · worse
Largest Contentful Paint mobile, average 6.8 s30.5 s ↓ +349% · worse

Step 2 · the new version vs our optimisation

Lighthouse, lab tests of 10 key pages, 3 runs per page and device, 17 October 2025. Average performance scores: desktop 83.4 → 96.6, mobile 64.7 → 80.1.
MetricNew version before optimisationAfter optimisationChange
Pages scoring 90+ desktop, out of 10 pages 39 ↑ +6
Average page weight10.8 MB0.9 MB ↓ −92%
Largest Contentful Paint desktop, average 3.00 s1.15 s ↓ −62%
Largest Contentful Paint mobile, average 43.4 s4.7 s ↓ −89%

The home page and “Why Metrotile” reached a score of 100 on desktop. The heaviest page, Inspiration, went from 28.5 MB to under 1 MB, and its load time on a phone from about two minutes to 4 seconds.

How we worked

  1. Spring 2025

    Start of the partnership

    First conversations, offer accepted and a service agreement signed.

  2. July 2025

    Metrotile migration

    Content freeze, migration and start of acceptance testing.

  3. August–September 2025

    Fixes and shared code

    Fixes from testing and one repository for both brands.

  4. October 2025

    New metrotile.eu goes live

    Switchover without downtime, followed two weeks later by performance optimisation.

  5. November 2025 – January 2026

    Tilcor migration

    Content migration and fixes.

  6. February 2026

    New tilcor.eu goes live

    The second brand on the shared code, without downtime.

  7. Since February 2026

    Ongoing care

    Support and hosting, Umbraco updates, new features.

Why it worked

Stabilise first, then change

First we organised and secured the code we took over, and only then started developing it. The existing sites kept running until the new ones were ready.

Supported tools only

For the migration we used Umbraco Deploy, which is included in the Umbraco Cloud licence. We built our own connectors and converters to move the content, then verified the results. This let us repeat the migration and rehearse it before launch.

One brand at a time

Metrotile went first. Everything we learned there, from content mapping to performance fixes, was already in the shared code when it was Tilcor’s turn.

Measure first, then optimise

Before launch we compared the new version with the existing site, so the client could see exactly what had changed and why.

The metrotile.eu and tilcor.eu home pages on two phones: the same layout in each brand’s colours
metrotile.eu and tilcor.eu on a phone · the same code

Client quote

Adam Wielgołaski Marketing Coordinator Europe, IKO Metals Europe NV
What started with a simple phone call has grown into a partnership that is genuinely transforming the digital presence of IKO Metals. […] Working with Idea Makers feels like working with an extension of our own team. They take every challenge seriously, whether big or small, communicate openly, deliver on their promises, and often bring that little something extra that makes a real difference.

What’s next

After the migration, the work moved from fixing to developing. The next step is upgrading both sites to the latest version of Umbraco, which we are already working on with the client. Thanks to the shared codebase, it is one upgrade for both brands. We are also working with the IKO Metals team on new tools for visitors.

Want to move to Umbraco Cloud or upgrade Umbraco to 17?

Briefly describe which Umbraco version your site runs on and how many language versions it has. We will suggest where to start and how long it will take.