Skip to content
Back to Journal
Engineering3 min read9 February 2022

Why we moved from page builders to custom WordPress themes

Why we moved from page builders to custom WordPress themes

When we started out, Elementor was the answer to everything. Client wanted a homepage? Drag and drop. Client wanted a service page? Drag and drop. We could turn around a five-page site in three days and it looked professional enough. Speed felt like the whole point.

Then we started checking Core Web Vitals and discovered what we had been delivering.

Total Blocking Time above 600ms. Largest Contentful Paint at 4.8 seconds. Pages loading fourteen external stylesheets. Sites that looked fine in the browser and were quietly failing users on 4G connections in smaller cities.

The performance gap we ignored

Here is the problem with page builders nobody tells you upfront: they load everything. Every widget, every animation library, every icon set, whether you used it or not. Elementor ships a full JavaScript bundle regardless of what is actually on the page. On a hotel broadband connection it is fine. On a Jio connection in tier-2 India, it is a slow experience that users do not wait for.

We had one client, a clinic in Rajasthan, whose bounce rate sat at 72%. We had assumed it was a content or targeting problem. When we finally profiled the page load, the site was downloading 3.4MB of scripts before the first visible element rendered. Nobody was waiting for that. They were leaving.

We rebuilt it as a custom theme. Same visual design, built from scratch in PHP and vanilla CSS with a thin JavaScript layer. Page size dropped to 620KB. LCP came in under 2 seconds. Bounce rate dropped to 41% over the next 45 days.

That was the proof we needed.

What the switch actually cost

The honest answer is: a lot of time upfront, and significantly less time over the project lifetime.

Custom themes take longer to build initially. There is no drag-and-drop. The developer needs to understand HTML structure, the WordPress template hierarchy, and how to register blocks properly. For developers who had been living in Elementor for two years, the relearning curve was real. We lost two weeks of productivity during the transition period.

But post-launch, the maintenance picture changed completely. Page builder sites accumulate technical debt fast. Plugin conflicts, Elementor version updates that break layouts, bloated databases. Custom themes break less and are easier to reason about when they do break. The ongoing support burden dropped significantly.

We still use page builders for small, quick projects where performance is genuinely not a constraint. But for any client where the site is doing real business, handling real traffic, being measured on conversion, custom code is now the default. The initial investment pays back within the first year of the engagement.

Published 9 February 2022
Start a Project