Maple Migration

Overview
- Year
- 2025
- Team
- Growth Marketing Director
- Product Manager
- Marketing Enablement Director
- Production Designer
- Product Marketing Manager
- SEO agency
What is Maple?
Maple is a virtual healthcare platform founded in 2015. It offers direct access to doctors and nurse practitioners, 24/7 from your smartphone, tablet, or computer. Maple can be accessed privately as an individual, through employer benefits or insurers or publicly through select provincial health systems. To date, over 3 million consults have been completed.
The Project
Migrate Maple's existing monolithic WordPress site to a static site build on Cloudflare Workers using headless WordPress on AWS Lightsail.
The Brief
Context
An audit of the top 20 pages by traffic revealed significant performance, UX, accessibility and brand-consistency problems across the marketing site:
- Outdated platform: WordPress ran as a multisite install on an outdated core, theme and PHP version, with over 44 active plugins.
- Expensive hosting: Pantheon's plan ran around $1k a month and was difficult to optimize. Pushing a single change per environment took over ten minutes, in addition to persistent caching issues.
- Buggy page builder: Beaver Builder was slow and tedious to edit, requiring manually recreating pages across environments to share previews with stakeholders and introduced inconsistencies with custom CSS/JS per page.
- Client-side geotargeting: GeoTargetingWP swapped page content entirely client-side, causing layout shifts and loading overhead.
- Unreliable scheduling: WordPress's built-in scheduler wasn't a real cron job, so scheduled pages often failed to publish on time.
- A11Y issues: Interactive components were missing state feedback and proper focus management.








Goals
- Pass Core Web Vitals across the top 20 pages by traffic, with a focus on Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) and Time to First Byte (TTFB)
- Simplify the deploy and content-editing workflow, and reduce hosting cost
- Replace page-by-page custom styling with a consistent, on-brand design system
Requirements
- Editable for the entire marketing team, in both English and French
- Region-specific content based on geolocation
- Preserve existing SEO value and minimize content loss
The Process
Design System
Before any page could be rebuilt, the site needed a design system to rebuild it with. Since the product design team already had one, base typography, colours and spacing, along with elements like buttons and form fields, were reused directly and extended to cover the range of components marketing pages needed. New pages started pulling in these new styles, along with standardized headers, footers and heroes built on the new tokens, iterating further as new content types came up throughout the migration.





Edge Static Site
Optimizing the existing site incrementally was considered, but was decided against because of the high effort and modest gains from improvements like opting for a lighter plugin or switching to a faster host. Going static with serverless functionality through Cloudflare Workers removed the entire class of problems in one move instead.
- Static site generation: Formation Static handles site generation, and Formation handles web components and styles for an optimized front end.
- Geotargeting: Cloudflare-provided geolocation information allows redirects and content rewrites at the edge, replacing client-side logic.
- Optimized media: Uploads now live in Cloudflare R2, served through a Worker that transforms width, height, format and quality.
- SEO preservation: Redirects compile into static 301s at build time, alongside more consistent per-page schema and auto-generated sitemaps.


Headless WordPress
Sticking with WordPress instead of switching to another headless CMS came down to practical factors. AWS was already used elsewhere at Maple. It also meant owning our own data and having the option to sit behind SSO without extra cost. Staying on the same CMS also simplified the migration and shortened the learning curve for the team.
- Shareable previews: Live preview links and copyable/syncable patterns replaced manually recreating pages across environments to share with the team.
- Faster workflows: Production data can be selectively pulled into local and staging environments to keep them in sync, and bulk changes are easier with WP CLI and Gutenberg blocks instead of Beaver Builder's serialized data.
- Reliable scheduling: A real server-level cron job replaced WordPress's traffic-triggered scheduler, so entries publish on time.
- Editable forms: Forms moved from Gravity Forms to Formstack, allowing the business development team to update them on their own.


The Outcome
A month after launch, Core Web Vitals passed across every one of the top pages. Search Console also told the same story. Pages flagged as poor or needing improvement dropped to zero across both mobile and desktop, and the count of good URLs more than doubled on mobile.
Mobile
- Poor URLs – 66 → 0
- URLs need improvement – 582 → 0
- Good URLs – 272 → 1,029
Desktop
- Poor URLs – 24 → 0
- URLs need improvement – 322 → 0
- Good URLs – 574 → 1,045








The design system has held up past launch too. Content editors have been able to make updates on their own with relative ease. A recent brand refresh, adjusting components and site-wide styles, rolled out with a fraction of the effort it would have taken pre-migration. Stakeholders have noticed the difference too, remarking how much faster the site feels since launch.

