What “hand-coded” really means (and why it matters)

What "hand-coded" really means

You've probably seen developers advertise “hand-coded” websites as if it's a premium feature. And if you've used a page builder like Wix, Squarespace, or WordPress with Elementor, you might wonder: does it actually matter how the code gets written, as long as the site looks good?

The short answer is yes — but not for the reasons most developers give you.

What “hand-coded” actually means

A hand-coded website is one where a developer writes the HTML, CSS, and JavaScript directly — or uses a modern framework like React and Next.js that compiles down to clean, optimised output. Every element on the page exists because the developer put it there for a specific reason.

A page-builder website, by contrast, is generated by dragging and dropping components in a visual editor. The builder then translates your layout into code automatically. The result works, but the code underneath is written by a machine optimised for flexibility, not for your specific site.

The hidden cost of page builders

Page builders have a fundamental design tension: they need to support every possible layout, interaction, and customisation anyone might want. That means they ship a lot of code your site never uses.

  • Bloated output. A simple landing page built in Elementor routinely generates 2–3 MB of CSS and JavaScript. The same page hand-coded might weigh 80 KB. That's not a marginal difference — it's 25–40× heavier.
  • Nested divs. Page builders wrap every element in multiple container divs for positioning flexibility. A heading that should be one HTML tag becomes five or six nested elements. Multiply that by every element on the page and you get a DOM that's ten times larger than it needs to be.
  • Plugin dependency. Your design is locked to the builder. Want to switch from Elementor to something else? You're effectively rebuilding from scratch. Want to add a feature the builder doesn't support? You're bolting custom code onto generated code, which is fragile and hard to maintain.
  • Update risk. When the builder or WordPress pushes an update, it can break your layout in ways that are hard to debug because you didn't write the code it's changing.
Page builders optimise for the person building the site. Hand-coded sites optimise for the person using it.

What hand-coded gives you

The benefits of hand-coded aren't about developer ego. They're about outcomes you can measure:

  1. Speed. Less code means faster load times. Faster load times mean better conversion rates, better SEO rankings, and happier visitors. A hand-coded site built on Next.js routinely scores 95–100 on Google PageSpeed. Most builder sites score 30–60.
  2. Accessibility. Clean, semantic HTML is inherently more accessible. Screen readers, keyboard navigation, and assistive technologies work better with simple, well-structured markup. Builder-generated code often breaks accessibility standards without anyone noticing.
  3. Maintainability. When something needs to change — and it always does — clean code is straightforward to modify. Builder-generated code requires navigating layers of abstraction just to change a font size.
  4. No lock-in. Your site is built with standard web technologies. Any competent developer can pick it up, understand it, and work on it. You're never trapped.
  5. Security. Fewer plugins means fewer attack surfaces. WordPress sites are targeted precisely because they're so common and so reliant on third-party plugins with varying security practices.

When a builder is genuinely fine

This isn't an absolutist argument. Page builders have legitimate use cases:

  • Prototyping. If you need to test an idea quickly and cheaply, a builder gets you there fast.
  • Non-technical teams managing content. If your marketing team needs to publish blog posts and landing pages without developer involvement, a CMS with a visual editor (not a page builder — there's a difference) can work well.
  • Budget under $1,000. If that's genuinely the ceiling, a well-chosen template on Squarespace will serve you better than a half-finished custom build.

The problem isn't using a builder when it's the right tool. It's using one when the business has outgrown it and paying the performance tax indefinitely because switching feels expensive.

How to tell the difference

You don't need to read code to spot the difference. Here are three quick checks:

  1. Run PageSpeed Insights. A score below 50 on mobile almost always indicates builder bloat or unoptimised assets.
  2. Right-click and “View Page Source.” If the HTML is thousands of lines long with deeply nested divs and inline styles everywhere, it's builder-generated.
  3. Check the network tab. Open your browser's developer tools, go to the Network tab, and reload the page. If the site loads more than 2 MB of resources for a simple page, something is wrong.

Ready for a site that's built right?

Every site I build is hand-coded with React and Next.js — fast, accessible, and yours to keep. Let's talk about your project.

Start a project

Let's build something worth visiting.

Tell me about your project and I'll reply within one business day with honest, specific next steps — no obligation.