WordPress runs roughly 40% of the web, so if you're on it, you're in good company. This isn't an argument that WordPress is bad. It's an honest look at what a WordPress site costs once you add everything up, because "free software" has a way of getting expensive by the time the site is actually running.
What you pay before a visitor ever lands on your site
The WordPress software is free to download. Everything else costs money.
Hosting is the first line item. Shared hosting from a budget provider runs $5–$15/month. That's fine until the site slows to a crawl at peak hours, or you want a staging copy to test updates without breaking the live site. Managed WordPress hosting (the kind that's actually tuned for the platform) runs $25–$50/month from providers like WP Engine or Kinsta. Call it $300–$600 a year to keep the lights on.
A premium theme is usually next. The free themes in the WordPress repository are fine for a blog, but most owners want something that looks like a business and has the sections they need: service listings, testimonials, a contact form. A decent premium theme is $50–$100 up front, and many now charge $30–$60 a year to keep getting updates.
Plugins are where the bill really climbs. A realistic stack for a small service business:
- SEO plugin (Yoast or Rank Math): the free tier works, but the paid version is $99/year
- Contact form plugin: $49–$79/year for anything beyond a basic form
- Security plugin (Wordfence, Solid Security): $99/year for real protection
- Caching plugin to speed things up: $49/year
- Backup plugin: $80/year
- Page builder if the theme doesn't include one: $49–$199/year
That's $425–$655 a year in plugins alone, on the conservative end. Add hosting and a theme renewal and you're at $800–$1,300 a year before you've paid a single person to touch the site.
The developer call you didn't budget for
Here's the cost most people forget. WordPress needs maintenance. Every plugin and theme pushes updates, and updates sometimes break things. A WooCommerce update conflicts with your page builder. A PHP upgrade on the server kills your contact form. Your reviews plugin throws a white screen after an auto-update.
When that happens on a Tuesday afternoon, you're not fixing it yourself. You're calling a developer. A freelance WordPress developer around DFW typically bills $75–$150 an hour. A simple fix might take an hour. A plugin conflict that means rolling back versions, testing, and finding a replacement can eat three or four.
One emergency call a year at $150 an hour for two hours adds $300 to the bill. Two calls, $600. Some owners keep a developer on a monthly retainer just for this, which runs $200–$500 a month.
Over three years, a self-managed WordPress site for a small business commonly runs $2,500–$5,000 total, and that's without a redesign or any paid marketing.
The speed problem that costs you visitors
This part doesn't show up on an invoice, but it costs real money: plugin-heavy WordPress sites are slow.
Every active plugin adds HTTP requests, database queries, and JavaScript that has to load before the page is usable. A site with 15–20 plugins, which is completely normal for a business site, can take 4–6 seconds to load on a mobile connection. Google's own data says 53% of mobile visitors leave a page that takes more than three seconds.
For an HVAC company in Frisco or a dental office in Plano, that means about half your mobile visitors are gone before they see your phone number.
Google also uses Core Web Vitals (its speed and stability measurements) as a ranking factor in local search. So a slow site loses visitors, and it also loses ground to faster competitors in the results. A site that loads in under two seconds has a measurable edge, all else being equal.
Caching plugins help, but they're a patch. The underlying problem is that WordPress loads a lot of code your visitors don't need, and every plugin adds more.
What a hand-coded site changes
A site written in clean HTML, CSS, and a little JavaScript has no plugin layer to maintain, no update conflicts, and no bloat. Nothing breaks on a Tuesday afternoon because a vendor pushed an update.
Load times under two seconds are the norm, not something you fight for with caching settings. And with no plugin licenses to renew, the ongoing cost is just hosting, or one flat monthly plan that covers everything.
I build hand-coded sites for local service businesses in Frisco, Allen, McKinney, and across DFW. Pricing starts at $49 a month with no setup fee. Starter covers a custom 10-page design, your domain, business email, secure cloud hosting, SSL, daily backups, a Google Business Profile setup, and basic text and image updates. The Professional plan at $175 a month adds unlimited pages within fair use, ongoing local SEO, monthly Google Business Profile management, lead capture forms that text and email you the moment someone submits, AI search optimization so your business shows up in ChatGPT and Perplexity answers as well as Google, and a monthly report.
For Google reviews specifically, you don't need a WordPress plugin. The Professional plan includes a reputation portal with a review QR code and direct review links. No plugin, no annual license, nothing to break.
So what does WordPress actually cost?
Here's the honest tally for a typical small-business WordPress site over one year:
| Item | Annual cost |
|---|---|
| Managed hosting | $300–$600 |
| Premium theme renewal | $50–$100 |
| SEO plugin | $99 |
| Security plugin | $99 |
| Backup plugin | $80 |
| Form plugin | $60 |
| Caching plugin | $49 |
| One developer call (2 hrs) | $300 |
| Total | $1,037–$1,387 |
That's a middle-of-the-road estimate. It doesn't include a page builder, premium support, or any custom development. And it doesn't put a dollar figure on the visitors you lose to a four-second load time.
None of this means you need to scrap what you have. But if you're building something new, or you're tired of managing updates and paying developer invoices, run the numbers against a managed alternative.
Want to see what a hand-coded site would look like for your business? Get a free website mockup. No commitment, just a real design you can react to.