<?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: Arnas Tomosiunas</title>
    <description>The latest articles on DEV Community by Arnas Tomosiunas (@arnas_tomosiunas_b9d5577e).</description>
    <link>https://dev.to/arnas_tomosiunas_b9d5577e</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%2F4187478%2F7a6d826a-1d1a-4511-90bc-bbc44d126543.png</url>
      <title>DEV Community: Arnas Tomosiunas</title>
      <link>https://dev.to/arnas_tomosiunas_b9d5577e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arnas_tomosiunas_b9d5577e"/>
    <language>en</language>
    <item>
      <title>Why I Stopped Building WordPress Sites for Small Businesses</title>
      <dc:creator>Arnas Tomosiunas</dc:creator>
      <pubDate>Thu, 15 Oct 2026 21:05:16 +0000</pubDate>
      <link>https://dev.to/arnas_tomosiunas_b9d5577e/why-i-stopped-building-wordpress-sites-for-small-businesses-4mal</link>
      <guid>https://dev.to/arnas_tomosiunas_b9d5577e/why-i-stopped-building-wordpress-sites-for-small-businesses-4mal</guid>
      <description>&lt;p&gt;Most small-business websites I get called in to fix are running on the same stack: WordPress, six to twelve plugins, a page builder, and a theme nobody on the team understands anymore. They load in 4-8 seconds on mobile, break every time a plugin updates, and cost more in monthly maintenance than they would to just rebuild properly.&lt;br&gt;
After two years of doing exactly that rebuild for local businesses, I stopped reaching for a CMS by default. Here's what hand-coding a site actually looks like in 2026, when it's worth it, and when it isn't.&lt;/p&gt;

&lt;p&gt;The real cost of a plugin-stacked site&lt;/p&gt;

&lt;p&gt;A typical "business in a box" WordPress site ships with a page builder (Elementor or Divi), a slider plugin, a form plugin, an SEO plugin, a caching plugin to paper over the first four, and a security plugin to cover for the fact that all of that is now attack surface. Each one loads its own JS and CSS, most of it render-blocking.&lt;br&gt;
The effect shows up in three places:&lt;br&gt;
• Core Web Vitals - Largest Contentful Paint routinely lands above 3s on mobile, which both hurts conversion and gets penalized in Google's ranking signals.&lt;br&gt;
• Maintenance - every plugin update is a chance something breaks. Multiply that by a dozen plugins and a site needs a human checking it every month just to stay working.&lt;br&gt;
• Security - most WordPress compromises trace back to an outdated plugin, not WordPress core itself. More plugins, more exposed endpoints.&lt;br&gt;
None of this is necessary for a five-page business site with a contact form and maybe a blog.&lt;br&gt;
What "hand-coded" means in practice&lt;br&gt;
It doesn't mean writing raw HTML files by hand with no tooling. It means:&lt;br&gt;
• No CMS runtime serving the page on every request. Content is either static at build time or pulled from a lightweight headless source.&lt;br&gt;
• No page-builder-generated markup. Every div on the page is there because it needs to be, not because a builder wrapped it in six layers of containers.&lt;br&gt;
• JavaScript is opt-in per component, not loaded globally. A contact form ships its own small bundle; a static hero section ships none.&lt;br&gt;
• CSS is written for the site, not inherited from a theme with 400 unused utility classes.&lt;br&gt;
The honest tradeoff: a non-technical client can't drag a new section onto the homepage. For a five-page SMB site that changes maybe twice a year, that's a fine trade. For a content-heavy site with a marketing team publishing daily, it isn't, and a proper CMS is the right call there.&lt;br&gt;
The stack&lt;br&gt;
What I've settled on for client sites:&lt;br&gt;
Layer&lt;br&gt;
Choice&lt;br&gt;
Why&lt;br&gt;
Build&lt;br&gt;
Astro&lt;br&gt;
Ships zero JS by default, hydrates islands only where needed&lt;br&gt;
Styling&lt;br&gt;
Hand-written CSS (nesting, custom properties)&lt;br&gt;
No unused utility bloat, full control over the cascade&lt;br&gt;
Content&lt;br&gt;
Markdown/MDX or a headless source for client-editable copy&lt;br&gt;
No CMS runtime on the live request path&lt;br&gt;
Forms&lt;br&gt;
Serverless function + email API&lt;br&gt;
No plugin, no database for a five-field contact form&lt;br&gt;
Images&lt;br&gt;
Build-time optimization (AVIF/WebP, responsive srcset)&lt;br&gt;
Right format and size shipped automatically&lt;br&gt;
Hosting&lt;br&gt;
Edge/CDN static hosting&lt;br&gt;
Sub-50ms time to first byte, no server to patch&lt;br&gt;
The common thread: everything that can be decided at build time is decided at build time, not on every visitor's request.&lt;br&gt;
What it actually moves&lt;br&gt;
On a recent rebuild of a local service-business site, moving from a plugin-heavy WordPress install to this stack took:&lt;br&gt;
• Mobile Lighthouse performance from the low 50s to a consistent 98-100&lt;br&gt;
• LCP from roughly 3.6s to under 0.8s&lt;br&gt;
• Total page weight on the homepage from 2.8MB to under 300KB&lt;br&gt;
• Monthly maintenance from "something breaks every few weeks" to effectively zero, since there's no plugin surface to break&lt;br&gt;
The business-level effect that actually matters to the client is fewer people bouncing before the page finishes loading, and a site that doesn't need a maintenance retainer just to keep running.&lt;br&gt;
Where I use this&lt;br&gt;
This is the default approach I now build with at &lt;a href="https://wevo.no" rel="noopener noreferrer"&gt;wevo.no&lt;/a&gt;, where I work with Norwegian SMBs who've usually been burned once already by a slow, plugin-heavy site someone else built them. It's not the right call for every project, but for a business site whose job is to load fast, rank, and convert, it's hard to beat going back to writing the thing by hand.&lt;br&gt;
If you're doing similar work and have opinions on where Astro islands or build-time CMS setups fall short, I'd genuinely like to hear them.&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>performance</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
