Development

Page builder or custom theme? How to actually decide

Two real answers, not one right one

This gets settled with ideology far more often than with analysis. Builder people call custom over-engineering; custom people call builders technical debt. Both are sometimes correct, and the difference is entirely situational.

So measure rather than argue. Three of the four factors below can be tested in an afternoon.

Measure the weight, do not guess it

A builder ships a generic framework able to render any layout you might create — so every page carries CSS and JavaScript for features it does not use. How much is a number, not an opinion:

# Total page weight and request count
curl -s https://yoursite.com/ -o /dev/null -w "html: %{size_download} bytes\n"

# How many stylesheets and scripts does one page load?
curl -s https://yoursite.com/ | grep -oE '<(link[^>]*\.css|script[^>]*\.js)' | wc -l

Then compare like for like: your builder page against a simple page on the same site. If a text-only page still loads twenty stylesheets, that is the framework, not your content.

Modern builders have improved at this. Elementor’s “Improved Asset Loading” and similar features load only what a page uses, and they close much of the gap — but they are often off on older installs. Check before you conclude the builder is the problem; the setting may be.

The exit cost — test it, do not imagine it

This is the one that decides long-lived sites, and it takes twenty minutes to measure exactly.

  1. Clone the site to staging.
  2. Deactivate the builder plugin.
  3. Look at your pages.

What you see is your exit cost. Most builders store layouts as shortcodes or their own serialised format rather than clean HTML, so what remains is fragments — and leaving is not a migration but a rebuild.

# What is actually stored for a page?
wp post meta list 123 --keys=_elementor_data --format=count
wp eval "echo substr( get_post_field( 'post_content', 123 ), 0, 300 );"

If post_content is empty and the layout lives in post meta as JSON, your content is in the builder’s format. That is not a conspiracy — it is how they work — but it is worth knowing before you are five years and two hundred pages in.

What builders are genuinely good at

  • Speed to first version. A small marketing site can exist in days rather than weeks.
  • Non-technical editing. Someone with no development background can ship a landing page.
  • No upfront system. There is no design system to build before page one.

For a five-page site for a small business, a builder is frequently the right answer — and telling that client they need a custom theme is selling them something they do not need.

Where the cost shows up later

CostWhen you feel it
Page weightImmediately, on Core Web Vitals
Editing gets slowerAround the point layouts get deeply nested
Consistency driftsYear two. Fourteen button styles.
Only one person can edit safelyThe day they leave
Content locked in builder markupAt the redesign — as a rebuild

Consistency is the underrated one. When every element is individually stylable, eventually every element is individually styled — and no amount of discipline survives three years and four people.

What a custom theme actually buys

Not “better code” in the abstract. Specific things:

  • Only the CSS and JavaScript the site actually uses
  • A content model shaped around the business — products, locations, case studies — rather than everything forced into pages
  • Editors filling meaningful fields instead of rebuilding layouts
  • Content stored as standard WordPress data, so it outlives any theme

That fourth point is the real asset. A custom theme is replaceable without touching content; a builder layout is not.

The cost is a longer, more expensive start, and a genuine dependency: someone has to maintain it. If you cannot answer “who fixes this in two years?”, that is a reason to reconsider.

Block themes: the middle ground

A block theme with custom patterns gives your team visual editing and layout control while content stays in core WordPress format and page weight stays under your control. Most of the editing freedom, without the exit cost.

The trade-off is maturity: some older extensions have not caught up, so your plugin stack partly decides whether this option is open to you. Check your critical plugins before committing.

Four questions that decide it

QuestionPoints to a builderPoints to custom
How long will this site live?Under two yearsFive years or more
How many pages, how similar?A handful, all differentMany, following a pattern
Who edits it?Owner, occasionallyA team, publishing weekly
Does speed affect revenue?Not directlyYes — it is a store or lead engine

Three or four answers in one column is a clear decision. A genuine split is where block themes usually win.

If you already have a builder site

Do not rebuild for purity. If it works, your team can maintain it, and it is fast enough, leave it alone. A rebuild is a large cost for a benefit you may never feel.

Rebuild when you are actually feeling the pain:

  • Pages nobody can edit safely without breaking something
  • Performance you have genuinely tried and cannot fix
  • A redesign that is happening anyway

That last one is the natural moment — you are paying for the pages to be rebuilt regardless, so the marginal cost of changing approach is far smaller than doing it as its own project.

On the page-builder side, the Pro question matters less than it used to. Headers, footers and popups — the features that pushed people to Elementor Pro — are available on the free editor through Elemance, which is what we use on free-Elementor builds.

Common questions

Is Elementor bad for SEO?

Not inherently. It affects performance, which is one ranking input among many. A well-built Elementor site outranks a badly built custom one every time — the builder is not the variable that matters most.

Can I migrate off a builder without rebuilding?

Partially. Text and images can usually be extracted; layout cannot. Budget it as a rebuild with the content already written, which is genuinely less work than starting over.

What about builder-agnostic block plugins?

They store content as core blocks, so lock-in is far lower. A reasonable middle option if a full block theme is too big a step.

My developer says builders are unprofessional.

That is ideology. Ask instead what it costs over five years, and whether the client’s team can maintain the alternative. Those two answers decide it.