<?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: Performance Dev</title>
    <description>The latest articles on DEV Community by Performance Dev (@webperfdev).</description>
    <link>https://dev.to/webperfdev</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%2F3959246%2F372a5834-87cb-4fc6-b430-8eae94e3b277.png</url>
      <title>DEV Community: Performance Dev</title>
      <link>https://dev.to/webperfdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/webperfdev"/>
    <language>en</language>
    <item>
      <title>I Ran 200+ Website Audits — Here's What's Actually Broken in 2026</title>
      <dc:creator>Performance Dev</dc:creator>
      <pubDate>Sat, 30 May 2026 00:40:54 +0000</pubDate>
      <link>https://dev.to/webperfdev/i-ran-200-website-audits-heres-whats-actually-broken-in-2026-71l</link>
      <guid>https://dev.to/webperfdev/i-ran-200-website-audits-heres-whats-actually-broken-in-2026-71l</guid>
      <description>&lt;p&gt;Over the last few weeks I built a website audit tool and ran it on 200+ small business and service websites — dental practices, plumbing companies, landscapers, law firms, real estate agents. Not Fortune 500 pages optimized by dedicated teams. The sites that actually serve local customers.&lt;/p&gt;

&lt;p&gt;I expected some issues. I did not expect this.&lt;/p&gt;

&lt;p&gt;Here's the raw data, the patterns I found, and what you can actually do about it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Scorecard
&lt;/h2&gt;

&lt;p&gt;I grade sites across five dimensions on a 0–100 scale. Here are the averages from 200+ audits:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;Average Score&lt;/th&gt;
&lt;th&gt;Worst Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Speed&lt;/td&gt;
&lt;td&gt;56&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SEO&lt;/td&gt;
&lt;td&gt;68&lt;/td&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mobile usability&lt;/td&gt;
&lt;td&gt;61&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accessibility&lt;/td&gt;
&lt;td&gt;52&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;70&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;SEO and security tend to be passable (automated checks from Google Search Console and automatic SSL help). Speed and accessibility are consistently neglected — probably because the feedback loop is invisible. A slow or inaccessible site loses visitors silently, and the owner never knows why.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding #1: 67% of Sites Ship &amp;gt;50% Unused CSS
&lt;/h2&gt;

&lt;p&gt;This was the single most surprising data point by far.&lt;/p&gt;

&lt;p&gt;When a browser loads a page, it downloads &lt;em&gt;every byte&lt;/em&gt; of CSS, parses it, builds style rules for every selector, and only then paints. If 60% of those rules never get applied (because they target a contact form behind a click, or a mobile menu at 768px+), the browser still processed them.&lt;/p&gt;

&lt;p&gt;Worst case: a dental practice shipped 287 KB of CSS. Only 31 KB was used on first paint. That's 256 KB of unnecessary render-blocking weight that delayed First Contentful Paint by roughly 1.4 seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; If you're using Tailwind, make sure tree-shaking is enabled. If you're writing vanilla CSS, open DevTools &amp;gt; Coverage tab &amp;gt; Reload. Anything over 40% unused is worth addressing. Most bundlers handle this — you just need to turn it on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding #2: Average Image Payload Is 1.8 MB — Way Too High
&lt;/h2&gt;

&lt;p&gt;Average image payload across all scanned sites: &lt;strong&gt;1.8 MB per page.&lt;/strong&gt; Only 34% serve WebP or AVIF (modern formats that cut file size by 30-50%). Only 28% serve responsive sizes.&lt;/p&gt;

&lt;p&gt;The correlation was direct: every 100 KB of unnecessary image weight added ~0.6 seconds to Largest Contentful Paint. One landscaping site served a 4 MB hero photo at 2400×1800px — displayed at 800×600 in a 50% viewport. That single image was costing them ~3 seconds of load time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; Serve WebP at responsive sizes. Tools like sharp, Squoosh, or built-in Next.js image optimization handle this. If you're on shared hosting, ShortPixel or Imagify plugins do it automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding #3: 82% Have Render-Blocking Scripts
&lt;/h2&gt;

&lt;p&gt;Render-blocking JS/CSS adds an average of &lt;strong&gt;1.8 seconds&lt;/strong&gt; to First Contentful Paint.&lt;/p&gt;

&lt;p&gt;Most common offenders:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Google Tag Manager loading synchronously in &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; — alone adds ~1.2s. Add &lt;code&gt;async&lt;/code&gt; or defer by 3 seconds.&lt;/li&gt;
&lt;li&gt;Web font files blocking render — the browser downloads the font before it paints any text. Preload or use &lt;code&gt;font-display: swap&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Analytics scripts without &lt;code&gt;defer&lt;/code&gt; or &lt;code&gt;async&lt;/code&gt; — your analytics provider is valuable, but not more valuable than the first impression.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; This is a one-line change for most sites — add &lt;code&gt;async&lt;/code&gt; or &lt;code&gt;defer&lt;/code&gt; to script tags that aren't critical for first paint. It's free and takes minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding #4: 83% Can't Reliably Receive Email
&lt;/h2&gt;

&lt;p&gt;This one surprised me most because it directly affects revenue.&lt;/p&gt;

&lt;p&gt;I checked every domain for SPF records (authorized senders), DKIM signatures (cryptographic verification), and DMARC policies (what to do with failures). &lt;strong&gt;83% failed at least one check.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most common failure: no SPF record at all. That means your emails go to spam (or bounce silently) for anyone with strict DMARC policies — which includes Gmail and Microsoft 365 recipients.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; A single TXT DNS record. Google provides the exact record to add. Costs nothing. Takes 10 minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding #5: 44% Fail Basic Color Contrast Checks
&lt;/h2&gt;

&lt;p&gt;Nearly half the sites had text that was genuinely hard to read for people with low vision (or anyone in direct sunlight). The broader accessibility picture: 28% had missing image alt text (which also hurts SEO), 16% had keyboard focus traps, and poorly-marked-up sites averaged 1,400+ DOM nodes (Google recommends under 1,500 for performance).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; Run axe DevTools or Lighthouse's accessibility audit. The recommendations are concrete and actionable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding #6: "Looks Good, Runs Bad" Is the Most Common Pattern
&lt;/h2&gt;

&lt;p&gt;Sites with fresh designs (hero image, smooth scroll, animations, template framework at full weight) consistently scored WORSE on performance than older, simpler sites. The reason is straightforward: a modern design loads a template framework, a hero image, custom fonts, and multiple JS libraries. An older site built with plain HTML loads in under a second but looks dated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The takeaway:&lt;/strong&gt; If you paid for a redesign in the last two years and didn't check the PageSpeed score before and after, there's a real chance your new site is slower than your old one.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Actually Moves the Needle
&lt;/h2&gt;

&lt;p&gt;If I had to pick the changes that help the most sites in the least time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Defer non-critical JavaScript&lt;/strong&gt; (30 min, free) — improves FCP ~35% on average&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Serve WebP images at responsive sizes&lt;/strong&gt; (1 hour, free-$30/mo)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set up SPF/DKIM/DMARC&lt;/strong&gt; (10 min, free) — prevents business email from going to spam&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit unused CSS&lt;/strong&gt; (2 hours, free)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Move email capture to post-value, not pre-value&lt;/strong&gt; — don't ask for an email before someone has seen why your tool is useful&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  How I Got This Data
&lt;/h2&gt;

&lt;p&gt;I built the audit tool because I couldn't find anything that checked performance, SEO, accessibility, mobile, security, AND email auth in one pass without requiring an account or credit card.&lt;/p&gt;

&lt;p&gt;If you want to run your own URL through it: &lt;strong&gt;&lt;a href="https://outboundautonomy.com" rel="noopener noreferrer"&gt;outboundautonomy.com&lt;/a&gt;&lt;/strong&gt; — enter any URL, get your scores in about 30 seconds. Free, no email, no account.&lt;/p&gt;

&lt;p&gt;I'd love honest feedback on what else I should measure. A few things I'm considering: cumulative third-party script weight per page, CLS from web fonts, and HTTPS redirect chains. If you run your own site through the tool and find something it misses, let me know — I'm still iterating.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Drop your URL in the comments if you want me to run an audit and post your scores.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>showdev</category>
      <category>webdev</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
