{"id":98,"date":"2025-06-03T11:51:09","date_gmt":"2025-06-03T11:51:09","guid":{"rendered":"https:\/\/www.transparentdesign.co.uk\/blog\/?p=98"},"modified":"2025-06-03T12:18:21","modified_gmt":"2025-06-03T12:18:21","slug":"pagespeed-metrics-bespoke-builds-vs-wordpress","status":"publish","type":"post","link":"https:\/\/www.transparentdesign.co.uk\/blog\/?p=98","title":{"rendered":"PageSpeed metrics: Bespoke builds Vs. WordPress"},"content":{"rendered":"\n<div class=\"is-layout-flex wp-container-5 wp-block-columns\">\n<div class=\"is-layout-flow wp-block-column\">\n<div class=\"is-layout-flex wp-container-3 wp-block-columns\">\n<div class=\"is-layout-flow wp-block-column\" style=\"flex-basis:66.66%\">\n<p>Yesterday I got a website spec through that had: &#8220;must have a desktop PageSpeed performance score &gt;85\/100&#8221;. At first I was impressed a client knew what PageSpeed was and cared enough to mention it. I was all warm and happy with the idea &#8230;for 2 seconds, until I remembered they said they&#8217;d prefer a WordPress site. I don&#8217;t have too much of a say over the performance of a WP site (just one of the many reasons I prefer building bespoke sites). So I got about testing some sites I&#8217;d delivered lately.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.respectcare.co.uk\" data-type=\"URL\" data-id=\"https:\/\/www.respectcare.co.uk\" target=\"_blank\" rel=\"noreferrer noopener\">www.respectcare.co.uk<\/a> &#8211; <strong>93<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.obliviar.co.uk\" target=\"_blank\" rel=\"noreferrer noopener\">www.obliviar.co.uk<\/a> &#8211; <strong>97<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.accabrandkit.com\" target=\"_blank\" rel=\"noreferrer noopener\">www.accabrandkit.com<\/a> &#8211; <strong>100<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.eliterecyclingsolutions.com\" target=\"_blank\" rel=\"noreferrer noopener\">www.eliterecyclingsolutions.com<\/a> &#8211; <strong>95<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/www.mrmikey.co.uk\" data-type=\"URL\" data-id=\"https:\/\/www.mrmikey.co.uk\" target=\"_blank\" rel=\"noreferrer noopener\">www.mrmikey.co.uk<\/a> &#8211; <strong>100<\/strong><br><br><a href=\"https:\/\/www.transparentdesign.co.uk\" data-type=\"URL\" data-id=\"https:\/\/www.transparentdesign.co.uk\" target=\"_blank\" rel=\"noreferrer noopener\">www.transparentdesign.co.uk<\/a> &#8211; <strong>95<\/strong><\/p>\n\n\n\n<p>Then a few WP sites I&#8217;ve helped with recently:<\/p>\n\n\n\n<p><strong>74<\/strong>, <strong>58<\/strong> &amp; <strong>93<\/strong><\/p>\n\n\n\n<p>Most of these sites are server side rendered with a bit of Javascript to power a hero image viewer or animation on page.&nbsp;<\/p>\n\n\n\n<p>As you can see; the bespoke builds are a lot more tailored to be optimised for speed but also the I prioritise eliminating other loading issues like the classic &#8220;font changing once it has loaded and forcing the page to redraw&#8221; that can negatively impact user experience on many sites but seems to just be put with by everyone. Which is why I often advocate for bespoke builds that allow for granular control over every aspect of performance and user experience. Certain things reduce the speed score but are a good trade-off for the rest of the site&#8217;s user experience. For example loading (and therefore caching) the whole of the styles, fonts and reusable images on the first load \u2018hit\u2019). This gives a worse PageSpeed score but significantly enhances the perceived speed and overall user experience on subsequent interactions. I always fall on the side of user experience rather metrics. Conversely the www.accabrandkit.com site is, at first, just a client log in with nice rotating hero images. There is no need to preload any of the 10+ images or even the javascript. The &#8220;first contentful paint&#8221; is all rendered server-side. Only after this does the javascript handle the dynamic loading of the other hero images. So this site gets 100\/100 for performance. I&#8217;ve seen image carousels that load all the images at once which is a horrible idea, especially as they are normally one of the first elements on the page. But this mess comes about as they often &#8216;plug in&#8217; (esp for WP) and therefore need to be self contained. That and the developers don&#8217;t notice\/care\/know how to mitigate the issue.<\/p>\n\n\n\n<p>In general I don&#8217;t test the PageSpeed during development, I test how smooth everything is for the user, first on slow mobile connections &#8211; most of the time these things overlap. It&#8217;s worth pointing out that PageSpeed is not a perfect metric, I can get 100 today and 98 on tomorrow;s test. Also it always recommends &#8220;Serve images in next-gen formats&#8221;, formats that I don&#8217;t use for various reasons (but that is another rant for another time).<\/p>\n\n\n\n<p>The obliViaR website, achieving a respectable 97\/100 despite starting with a full-screen video with JavaScript animations and parallax scrolling, demonstrates how careful planning and execution can deliver visually engaging experiences without sacrificing performance. Techniques like using a poster image for the video and ensuring JavaScript doesn&#8217;t block rendering are key to this balance. &#8211; I even faded everything all together once the intro video was ready. This certainly is reducing the PageSpeed score, but it looks smoother for the user and the user is king.<\/p>\n\n\n\n<p>This is the first time I&#8217;ve had a direct client (that isn&#8217;t an agency) ask about PageSpeed. They must understand the benefits of faster loading; a better user experience, less dropped users which means more users ending up at &#8220;the end of the funnel&#8221; and clicking that CTA or purchasing that item without extra barriers put up by the website.<\/p>\n\n\n\n<p>If you or your company could do with a new website that helps the user get to the end goal easily, quickly and as enjoyably as possible &#8211; give us a shout.<\/p>\n<\/div>\n\n\n\n<div class=\"is-layout-flow wp-block-column\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_-scaled.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"214\" height=\"1024\" src=\"https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_-214x1024.jpg\" alt=\"PageSpeed results for bespoke sites\" class=\"wp-image-103\" srcset=\"https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_-214x1024.jpg 214w, https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_-63x300.jpg 63w\" sizes=\"(max-width: 214px) 100vw, 214px\" \/><\/a><figcaption class=\"wp-element-caption\">Bespoke builds<br>(click to view)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2-638x1024.jpg\" alt=\"PageSpeed results for WordPress sites\" class=\"wp-image-105\" width=\"209\" srcset=\"https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2-638x1024.jpg 638w, https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2-187x300.jpg 187w, https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2-768x1232.jpg 768w, https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2-958x1536.jpg 958w, https:\/\/www.transparentdesign.co.uk\/blog\/wp-content\/uploads\/2025\/06\/pagespeed_2.jpg 1000w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/a><figcaption class=\"wp-element-caption\">WordPress builds<br>(click to view)<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday I got a website spec through that had: &#8220;must have a desktop PageSpeed performance score &gt;85\/100&#8221;. At first I was impressed a client knew what PageSpeed was and cared enough to mention it. I was all warm and happy with the idea &#8230;for 2 seconds, until I remembered they said they&#8217;d prefer a WordPress &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.transparentdesign.co.uk\/blog\/?p=98\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;PageSpeed metrics: Bespoke builds Vs. WordPress&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[44],"tags":[43,42],"_links":{"self":[{"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/98"}],"collection":[{"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=98"}],"version-history":[{"count":11,"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":111,"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=\/wp\/v2\/posts\/98\/revisions\/111"}],"wp:attachment":[{"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.transparentdesign.co.uk\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}