<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ernest K.</title>
    <description>The latest articles on DEV Community by Ernest K. (@advancedwebdesigner).</description>
    <link>https://dev.to/advancedwebdesigner</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3892768%2Faf259a41-b513-4725-a246-fb8dc44da636.jpg</url>
      <title>DEV Community: Ernest K.</title>
      <link>https://dev.to/advancedwebdesigner</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/advancedwebdesigner"/>
    <language>en</language>
    <item>
      <title>I measured 49 of my own WordPress builds against 20 theme demos. The demos lost.</title>
      <dc:creator>Ernest K.</dc:creator>
      <pubDate>Tue, 13 Oct 2026 18:48:35 +0000</pubDate>
      <link>https://dev.to/advancedwebdesigner/i-measured-49-of-my-own-wordpress-builds-against-20-theme-demos-the-demos-lost-4nm7</link>
      <guid>https://dev.to/advancedwebdesigner/i-measured-49-of-my-own-wordpress-builds-against-20-theme-demos-the-demos-lost-4nm7</guid>
      <description>&lt;p&gt;I've been building WordPress sites for small businesses for a long time. No page builders, no ThemeForest themes - custom templates, a short plugin list, done. I've always said this approach is faster and easier to maintain. At some point "I've always said" stopped being good enough, so I measured it.&lt;/p&gt;

&lt;p&gt;Full research here &lt;a href="https://advancedwebdesigner.com/research/wordpress-development-research/" rel="noopener noreferrer"&gt;https://advancedwebdesigner.com/research/wordpress-development-research/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On 19 April 2026 I ran PageSpeed Insights on 49 live sites I built between 2018 and 2026, and on 20 public demo sites for popular themes and page builders (The7, JupiterX, WoodMart, Bridge, TheGem and others, on Elementor or WPBakery).&lt;/p&gt;

&lt;p&gt;This post is the short version for developers. Full tables and methodology are on the research page, and the paper is archived on Zenodo (DOI: 10.5281/zenodo.19697029).&lt;/p&gt;

&lt;p&gt;First, the bias - and which way it runs&lt;/p&gt;

&lt;p&gt;The comparison set is theme demos, not real client sites. Demos are the theme authors' own showcase installs: clean content, minimal plugins, usually good hosting. Real sites built on those themes almost always perform worse.&lt;/p&gt;

&lt;p&gt;So the setup favours the templates. Keep that in mind for every number below.&lt;/p&gt;

&lt;p&gt;I also split my own 49 sites honestly. 11 of them are "unoptimised" - older builds where the client wanted bespoke design and performance wasn't part of the brief, or sites nobody has touched in years. They're reported separately rather than hidden.&lt;/p&gt;

&lt;p&gt;The headline numbers&lt;/p&gt;

&lt;p&gt;Show Image&lt;/p&gt;

&lt;p&gt;Group   n   PSI mobile avg  Sites 90+ mobile&lt;br&gt;
Custom, optimised   38  89.9    24 / 38&lt;br&gt;
Custom, unoptimised 11  65.2    0 / 11&lt;br&gt;
Template / builder demos    20  53.9    0 / 20&lt;/p&gt;

&lt;p&gt;Roughly 36 points apart on mobile. And not one of the 20 demos scored 90 or above. These are the theme authors' best presentation of their own product.&lt;/p&gt;

&lt;p&gt;Core Web Vitals on lab data (LCP ≤ 2.5s and CLS ≤ 0.1, INP left out because field data was too sparse):&lt;/p&gt;

&lt;p&gt;Custom optimised: 45% pass&lt;br&gt;
Custom unoptimised: 0% pass&lt;br&gt;
Template demos: 10% pass&lt;/p&gt;

&lt;p&gt;Half the demos (50%) had LCP over 4 seconds. On the optimised custom side that was 13%.&lt;/p&gt;

&lt;p&gt;CLS is where the gap is widest&lt;/p&gt;

&lt;p&gt;Show Image&lt;/p&gt;

&lt;p&gt;28 of 38 optimised custom sites recorded CLS of exactly 0.00. On the demo side, 3 of 20.&lt;/p&gt;

&lt;p&gt;This one doesn't surprise me much. When you write the templates yourself, you know the dimensions of everything. Images have width and height, fonts are handled deliberately, nothing gets injected above the fold after load. Builders stack wrappers, sliders and late-loading widgets, and something always moves.&lt;/p&gt;

&lt;p&gt;INP pointed the same way (82ms average custom vs 152ms demos), but only 5 custom sites and 11 demos had field data. Treat that as a hint, not a finding.&lt;/p&gt;

&lt;p&gt;The builder isn't really the variable&lt;/p&gt;

&lt;p&gt;Two themes in the demo set exist in both a WPBakery and an Elementor version:&lt;/p&gt;

&lt;p&gt;Buconz: 51 (WPBakery) vs 47 (Elementor)&lt;br&gt;
Essentials: 75 (WPBakery) vs 78 (Elementor)&lt;/p&gt;

&lt;p&gt;A few points either way. Switching builders doesn't fix much. The ceiling seems to be set by the theme architecture - the global CSS and JS, the abstraction layers, the markup - not by which builder sits on top.&lt;/p&gt;

&lt;p&gt;Plugin count tracks performance decline&lt;/p&gt;

&lt;p&gt;Show Image&lt;/p&gt;

&lt;p&gt;63% of my sites run 10 or fewer plugins. The optimised group averages 9.3 plugins, the unoptimised group 13.6.&lt;/p&gt;

&lt;p&gt;The worst site in the whole portfolio scored 50 on mobile with a 10.5 second LCP. It runs 38 plugins and hasn't been updated in years. Custom code didn't save it. Which is the honest takeaway here: "custom" isn't magic, discipline is.&lt;/p&gt;

&lt;p&gt;Big sites don't break it&lt;/p&gt;

&lt;p&gt;The usual objection is that custom builds are fine for brochure sites but fall over at scale. Three of the larger sites in the sample:&lt;/p&gt;

&lt;p&gt;Pages   PSI mobile  LCP&lt;br&gt;
2,832 (e-commerce catalogue)    90  0.64s&lt;br&gt;
11,342 (news archive)   91  2.8s&lt;br&gt;
585 (construction products) 90  1.14s&lt;/p&gt;

&lt;p&gt;Not perfect, but scale clearly isn't the problem.&lt;/p&gt;

&lt;p&gt;Maintenance - the part clients actually feel&lt;/p&gt;

&lt;p&gt;This isn't timer data, it's my own records from notes and invoices over 12-24 months, so take it as practitioner observation:&lt;/p&gt;

&lt;p&gt;Custom builds: around 1-2 hours per site per year&lt;br&gt;
Emergency fixes across all 49 sites in 24 months: zero&lt;br&gt;
Template sites I see through audits and rescues: closer to 8 hours a year, before anything actually breaks&lt;/p&gt;

&lt;p&gt;The most common cause of breakage I see on template sites isn't WordPress. It's the host bumping PHP or the database version and exposing old builder code that was quietly hanging on.&lt;/p&gt;

&lt;p&gt;Two before/after migrations&lt;/p&gt;

&lt;p&gt;Show Image&lt;/p&gt;

&lt;p&gt;Camille Beauté: 39 → 96&lt;br&gt;
Eram Service: 43 → 89&lt;/p&gt;

&lt;p&gt;Two sites, not a controlled sample. They show what's recoverable, nothing more.&lt;/p&gt;

&lt;p&gt;What this doesn't prove&lt;/p&gt;

&lt;p&gt;Worth being upfront, because someone in the comments will be anyway:&lt;/p&gt;

&lt;p&gt;It's one practitioner's portfolio. Not random, not representative of WordPress as a whole&lt;br&gt;
n=49 and n=20 is fine for direction, not for statistics&lt;br&gt;
PSI lab scores move a few points between runs, and these are single runs&lt;br&gt;
My CWV pass rate uses lab data. Google's real assessment uses 28-day field data, so don't compare my 45% directly with the Web Almanac's 40% WordPress field pass rate - they're not the same measurement&lt;br&gt;
Construction is overrepresented (10 of 49 sites)&lt;/p&gt;

&lt;p&gt;And the fair point on the other side: a template build is much cheaper and quicker up front. For some businesses that's the right call. I just think it should be a conscious trade-off, not a default nobody questioned.&lt;/p&gt;

&lt;p&gt;If you want to dig in&lt;br&gt;
Full data tables, sector breakdown and methodology: Custom WordPress development research&lt;br&gt;
Paper on Zenodo: 10.5281/zenodo.19697029&lt;br&gt;
The practical side of how I get there: WordPress speed optimisation checklist&lt;/p&gt;

&lt;p&gt;I'm planning to re-measure the same sites over time to see how they drift. If you've got your own numbers from builder vs custom builds, I'd genuinely like to see them - especially if they disagree with mine.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>webperf</category>
      <category>performance</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
