Skip to main content
ASoc
Comparison

Website Builder vs Developer: The Row Nobody Prices

Six image findings worth 1.67s of load delay, three a11y defects that survived a Lighthouse 100, and the third path both options' marketing pages skip.

The ASoc Team9 min read

A website builder is a hosted drag-and-drop platform — Wix, Squarespace, Shopify — where you trade control for speed and pay monthly forever. A developer writes the site in code, which costs more up front and gives you something you own. The choice is not really builder-versus-developer, though: it is whether anyone on your side will ever need to change the thing after launch.

That question has a better answer than either option's marketing page, and it is not the one the comparison posts usually land on. Below is the honest version, including a third path those posts skip, and some numbers measured on a real site rather than quoted from a pricing table.

The comparison, on the axes that actually diverge

Website builderDeveloperTemplate + developer
Up-front cost~$0HighLow (template price)
Ongoing costA subscription, indefinitelyHosting onlyHosting only
Time to launchDays to weeksWeeks to monthsDays to weeks
You own the outputNoYesYes
Ceiling on customisationThe platform'sNoneNone
Who can edit it laterAnyoneA developerA developer
Performance is your problemNoYesPartly — see below
Accessibility is your problemPartlyYesPartly

Most of that table is uncontroversial and you can find it anywhere. Two rows are the ones worth arguing about.

"You own the output." On a builder you are renting the output. The practical test is not philosophical: export your site and try to host it somewhere else. If you cannot, then every future decision — pricing changes, a feature you need, the platform sunsetting a product — is made by someone else. That is a real risk and it is also frequently an acceptable one. A restaurant with a menu and a map does not need to own its markup.

"Performance is your problem." This is the row that reverses the usual conclusion, and it is where measured numbers beat opinions.

The row nobody prices: quality is work, not a side effect

The pitch for hiring a developer is that a hand-built site is faster and more accessible than a builder's. That is achievable, not automatic — and the gap between those two words is billable hours that estimates routinely leave out.

This storefront is a hand-built Next.js and Tailwind site, and it is measured rather than assumed. Current Lighthouse scores, desktop, across eight main routes: performance 100, accessibility 100, SEO 100 on all eight. On mobile — which is the half most projects never measure — performance runs 89 to 99, with accessibility and SEO at 100 throughout.

Those numbers took dedicated passes to get, not good intentions. Three examples of what "accessibility is your problem" means in practice, all three found on pages that were already scoring 100 before anyone looked closely:

  1. /blog had no <h1> at all. The index heading used a default h2, so the page never stated its own subject — invisible in an automated score, obvious to a screen-reader user landing there.
  2. /docs skipped from h1 straight to h3. A broken outline, again passing the automated check.
  3. A tag chip missed AA contrast by a hundredth. Brand blue #465fff on a #f2f7ff tint at 12px measures 4.49:1. The AA threshold is 4.5:1. It shipped looking perfectly fine and was non-compliant.

None of those three is visible in a design comp, and none was caught by the score that was already 100. That is the honest argument for a developer: not that code is automatically better, but that someone has to go looking. It is also the honest argument against assuming a custom build gives you quality for free — should I hire a web designer is the longer version of that point.

A builder, meanwhile, hands you its platform's performance and a theme's accessibility. Sometimes that is better than what a rushed custom build produces. It is rarely better than what a careful one produces, and you cannot fix it when it is wrong.

What "you cannot fix it" costs: six image findings

The clearest way to see the difference is a list of things that were wrong on this site, were found by measuring, and were fixable because the markup was ours. The home page was shipping 2.6 MB of images and /templates 14.7 MB across its grid. The audit that followed:

FindingBefore → after
Card covers served the full SEO-size JPEG255 KiB → 33 KiB per cover
440 carousel slides were JPEGpublic/images 117 MB → 93 MB
Logo was 681×239 for a mark rendered at 32px — on every page, twice70 KiB → 9 KiB
Hero art had no small-screen alternate87 → 45 KiB, plus an 800w srcset
19 marketing images were unconverted (some PNGs were secretly JPEGs)1793 KiB → 550 KiB
The LCP image on /templates was loading="lazy"1.67s of load delay recovered; mobile 85 → 92

That last row is the one to hold on to. A single wrong attribute on a single image cost 1.67 seconds of load delay, because the browser could not discover the image until layout had run. Finding it required measuring; fixing it required owning the component.

On a builder, four of those six findings are not yours to fix. You can compress what you upload, and that is roughly where your control ends — image sizing, loading attributes, srcset generation and theme asset weight all belong to the platform. On a custom build every one of them is a lever, which is also to say every one of them is a chore nobody does unless it is in the budget.

What the monthly fee actually compounds to

The builder's monthly fee is the number people underweight, because it is small and recurring while the developer's invoice is large and one-off. Check it yourself for the plan you would actually need — the tier with a custom domain and no platform branding, not the free one — and multiply by sixty. That is a five-year commitment at the end of which you own nothing, and your content is still inside someone else's editor.

The counter-argument is just as real: a developer's quote is not the end of your spending either. A custom site has a maintenance line — dependency updates, a framework major, the post-launch rework pass that every project has and no estimate contains. Website maintenance cost and website development cost break both halves down; the short version is that "one-off vs monthly" is the wrong frame, and total cost over the period you will actually own the site is the right one.

The third path the comparison usually omits

Both options are presented as a binary, and there is a middle that gets most of the developer column's benefits at a fraction of the up-front cost: buy the UI, hire for the parts that are yours.

A production template is a finished, owned codebase — real code on your machine, deployable anywhere, no monthly platform fee, no customisation ceiling. What you are buying is the four-to-nine weeks of UI work that sits between an installed framework and a presentable site, which is the expensive and least differentiated part of the quote. Your developer then spends their hours on the parts a template cannot know: your content, your integrations, your business logic.

This is not a free lunch, and the table above says "partly" for a reason. A template hands you a measured starting point — the accessibility and performance passes are already done, which is genuinely most of the work — but it cannot keep them for you. Add a heavy hero image or a third-party script and you own the regression. What you get is a floor, not a guarantee.

Template vs building from scratch prices this path properly, including the cases where it loses.

Which to choose

If this is youChoose
Brochure site, content rarely changes, no developer on handBuilder
Non-technical team that must edit copy daily, no dev budgetBuilder
Genuinely novel product, custom logic, no reference designDeveloper, from scratch
Strict performance or accessibility obligationsDeveloper — and budget the passes
Standard shape (marketing site, dashboard, storefront), have or can hire a developerTemplate + developer
Will outgrow a builder within two yearsSkip the builder; migrating later costs more

That last row is the one that quietly decides most of these. Moving off a builder means rebuilding, and if you have accumulated search rankings in the meantime, it means migrating without losing them too. Choosing the builder is cheap; choosing it twice is not.

FAQ

Is a website builder worse for SEO? Not inherently. Modern builders emit reasonable markup and handle sitemaps. What you lose is the ability to fix anything they get wrong — control over metadata, structured data, redirects and crawl behaviour stops where the platform's settings stop.

Can a developer just build on top of a website builder? Sometimes, and it is often the worst of both: you keep the monthly fee and the platform ceiling, and you pay developer rates to work around them. If a developer is involved anyway, the builder is usually the thing to drop.

How much of a custom build is design versus code? On a conventional marketing site or dashboard, the UI layer is the bulk of it, which is exactly why the template path exists. Novel interaction or real business logic flips that ratio — that is when building from scratch earns its cost.

Do I need 100 Lighthouse scores? No. They are a proxy, not a goal, and the three defects above all survived a 100. Treat the score as a floor that catches regressions, and treat accessibility as something a person checks.

Templates built for the third path

If the last row of that table is you, the starting point matters: a template that already carries the measured passes saves you the part of the invoice that buys no differentiation. The Next.js landing page templates and Tailwind landing page templates are built and measured the way this post describes — owned code, no platform fee, accessibility and performance work already done.

Keep reading

Comparison12 min read

WordPress vs Next.js for a Marketing Site: The Honest Comparison

Most comparisons pit a WordPress theme against a from-scratch Next.js build. Compare theme to template instead and the real trade turns out to be who edits the copy.

Read more
Comparison10 min read

Angular vs. Svelte: 7 of 24 Client Components Need No State At All

DI-injected signals versus a build-time compiler. Both assume a component needs a reactive primitive — 7 of this codebase's 24 Client Components prove a third of the time, it doesn't.

Read more
Comparison10 min read

Astro vs Next.js for a Marketing Site: We Measured the Difference

Both score 100 on desktop. We blocked every image on our own site and LCP moved 46ms — the mobile gap is React hydration, not bytes. What that means for the choice.

Read more