<?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: Christopher Welsh</title>
    <description>The latest articles on DEV Community by Christopher Welsh (@wltechpro).</description>
    <link>https://dev.to/wltechpro</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3966216%2Fb5d9b349-dd39-42f2-9590-90251913deb8.png</url>
      <title>DEV Community: Christopher Welsh</title>
      <link>https://dev.to/wltechpro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wltechpro"/>
    <language>en</language>
    <item>
      <title>How I Built a Website Audit Tool That Found 50+ Performance Issues My Client's "Fast" Site</title>
      <dc:creator>Christopher Welsh</dc:creator>
      <pubDate>Wed, 03 Jun 2026 09:35:09 +0000</pubDate>
      <link>https://dev.to/wltechpro/how-i-built-a-website-audit-tool-that-found-50-performance-issues-my-clients-fast-site-1nfl</link>
      <guid>https://dev.to/wltechpro/how-i-built-a-website-audit-tool-that-found-50-performance-issues-my-clients-fast-site-1nfl</guid>
      <description>&lt;h1&gt;
  
  
  Why a "Good" Lighthouse Score is Lying to You: A 53-Point Wake-Up Call
&lt;/h1&gt;

&lt;p&gt;A few weeks ago, a client came to WL Tech saying their site &lt;em&gt;"felt slow."&lt;/em&gt; They had already done everything "by the book": optimized their images, installed a premium caching plugin, and run a standard Lighthouse test. The score came back at &lt;strong&gt;72&lt;/strong&gt; as the saying goes, &lt;em&gt;"not great, not terrible."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But when I ran my full audit stack on it, I uncovered &lt;strong&gt;53 separate performance and SEO issues&lt;/strong&gt; that their previous checks completely missed. &lt;/p&gt;

&lt;p&gt;Here is exactly what standard automated tools miss, and how to actually find them.&lt;/p&gt;




&lt;h3&gt;
  
  
  1. Third-Party Script Bloat (17 scripts, 4 critical)
&lt;/h3&gt;

&lt;p&gt;The client had a massive stack of plugins and third-party tools running in the background: analytics, chat widgets, and tracking pixels. Five of them were loading render-blocking scripts on &lt;em&gt;every single page&lt;/em&gt; — including text-only pages like their privacy policy and terms of service.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Fix:&lt;/strong&gt; I implemented strategic resource hinting (&lt;code&gt;async&lt;/code&gt;, &lt;code&gt;defer&lt;/code&gt;, &lt;code&gt;preconnect&lt;/code&gt;) and deferred non-critical scripts until well after &lt;code&gt;DOMContentLoaded&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Result:&lt;/strong&gt; Largest Contentful Paint (LCP) dropped by &lt;strong&gt;1.8 seconds&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Image &lt;code&gt;srcset&lt;/code&gt; Gaps (12 instances)
&lt;/h3&gt;

&lt;p&gt;Their images were technically "optimised," and they even used &lt;code&gt;srcset&lt;/code&gt;. The problem? The breakpoints were desktop-first. On mobile devices, the browser was forced to download images &lt;strong&gt;four times wider&lt;/strong&gt; than the actual layout container.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Fix:&lt;/strong&gt; Rewrote the &lt;code&gt;sizes&lt;/code&gt; attribute to accurately match their mobile CSS layout. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Result:&lt;/strong&gt; Total page weight dropped by &lt;strong&gt;40%&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Core Web Vitals Gaps That Lighthouse Ignores
&lt;/h3&gt;

&lt;p&gt;Lighthouse flagged the obvious metrics like LCP and CLS, but it completely ignored the silent killers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;INP (Interaction to Next Paint):&lt;/strong&gt; Their primary CTA button took a massive &lt;strong&gt;680ms&lt;/strong&gt; to respond. It felt sluggish to users, but Lighthouse didn't flag it as "poor."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TTFB (Time to First Byte):&lt;/strong&gt; It took &lt;strong&gt;1.2 seconds&lt;/strong&gt; just to get the first byte back, despite being on a "fast" hosting plan. The culprit? A blocking API call firing in their theme before anything could render.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unused CSS:&lt;/strong&gt; A massive &lt;strong&gt;180KB framework&lt;/strong&gt; was loading on every page. Only &lt;strong&gt;23KB&lt;/strong&gt; of it was actually being utilised.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. SEO Issues Masquerading as Performance
&lt;/h3&gt;

&lt;p&gt;Their product and local business schema markup was broken. Google couldn't parse critical data like price, availability, or service areas. While this isn't technically a "performance" metric in a speed test, it directly impacts how fast they acquire customers through organic search.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ultimate Fix
&lt;/h2&gt;

&lt;p&gt;Instead of a generic automated printout, I delivered a comprehensive &lt;strong&gt;Developer Report&lt;/strong&gt;—a 12-page breakdown mapping out every single issue, its exact business impact, and the precise fix required. &lt;/p&gt;

&lt;p&gt;Their developer implemented the top 5 highest-impact issues over a single weekend. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The ultimate payoff? Their mobile score jumped from 72 → 94.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Building This at Scale
&lt;/h2&gt;

&lt;p&gt;To make this a sustainable business model without spending hours manually auditing every single site, I built a dedicated backend infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;An Automated Audit Pipeline:&lt;/strong&gt; A multi-tool stack combining Lighthouse, WebPageTest, and custom scrapers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A Tokenized Report System:&lt;/strong&gt; Dynamically generates these high-value Developer Reports in about &lt;strong&gt;15 minutes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A Flat-Rate Pricing Model:&lt;/strong&gt; No messy discovery calls or hidden fees. Just &lt;strong&gt;$150&lt;/strong&gt; for the comprehensive report, or &lt;strong&gt;$250&lt;/strong&gt; for a &lt;em&gt;Quick Fix&lt;/em&gt; on the top 3 critical issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No monthly retainers. No contract lock-ins. Just raw data and the exact fixes you need.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Want to see what you're missing?&lt;/strong&gt; If you're a developer auditing client sites, or a small business owner curious about your actual performance, run your site through the free audit tool at &lt;strong&gt;&lt;a href="https://wltech.pro" rel="noopener noreferrer"&gt;wltech.pro&lt;/a&gt;&lt;/strong&gt; to see what standard tools are hiding from you.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Christopher Welsh&lt;/strong&gt; runs &lt;strong&gt;WL Tech&lt;/strong&gt;—specialising in website performance and technical SEO for small businesses. Based in the Scottish Borders, serving the UK, EU, US, and international clients.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>devops</category>
      <category>seo</category>
    </item>
  </channel>
</rss>
