For most small businesses, fixing an old WordPress site costs less upfront (typically $500–$2,500) than rebuilding (typically $3,000–$8,000), but rebuilding is often cheaper over 2–3 years once you factor in ongoing repairs, slow page speeds losing customers, and security risks. The honest answer: fix it if the site is under 4 years old, built on a current theme, and has fewer than 5 active plugins causing problems. Rebuild it if the site is older than 5 years, uses a discontinued theme or page builder, has been hacked, runs more than 20 plugins, or you can't remember the last time it was updated. Anything in between needs a closer look.
When fixing is the right call
A repair makes sense when the bones of the site are still good and you're dealing with isolated problems. Specifically:
- The site loads in under 4 seconds and just needs cleanup, not rescue
- You're on a modern theme (Astra, GeneratePress, Kadence, or a current premium theme updated within the last year)
- The problems are specific: a broken contact form, a plugin conflict, a hacked file, outdated content, mobile display issues
- Your hosting is decent (SiteGround, Kinsta, WP Engine, Cloudways) — not $3/month shared hosting
- You like how the site looks and it still represents your business accurately
Typical repair work runs 4–15 hours depending on scope. A plugin audit, security cleanup, speed optimization pass, and content refresh usually lands around $800–$1,800.
When rebuilding saves you money
Rebuilds win when the underlying structure is the problem. Signs you're throwing good money after bad:
- The site was built on Divi, Visual Composer, or an older page builder that bloats every page
- You're paying for 5+ premium plugins to do things modern themes handle natively
- Mobile traffic bounces because the design wasn't built mobile-first
- You've been hacked more than once, or you have no idea who has admin access
- Adding a new page requires calling someone because the backend is a maze
- You want to add automation (booking, payments, lead capture) and the current setup fights you at every step
If you're spending more than $100/month on plugins, hosting, and patches just to keep an old site running, a rebuild typically pays for itself within 18 months — and you get a faster site that actually converts visitors.
The hidden costs people forget
The sticker price of a repair isn't the full picture. An old WordPress site usually carries ongoing costs that don't show up until you add them all up: $30–$80/month in plugin renewals, $200–$500/year in security cleanup when something breaks, lost leads from a contact form that silently stops working, and Google rankings that drop because page speed scores are poor. A clean rebuild on a modern stack typically cuts plugin costs by 60–80% and eliminates most of the recurring repair bills.
How to decide in 10 minutes
- Run your homepage through PageSpeed Insights. If mobile score is under 50, that's a structural problem, not a tweak
- Log into WordPress and count active plugins. Under 10 is healthy, 10–20 is a warning, 20+ is a rebuild signal
- Check your theme. If it hasn't been updated in 12 months, or it's a builder like old Divi or Visual Composer, lean rebuild
- Look at your last 6 months of "fix this" requests. If they're piling up, you're paying rebuild prices in installments
- Ask: would I be embarrassed to send this site to a new customer today? If yes, rebuild
When we look at a site for someone, we'll quote both options when it's a close call so you can see the math yourself. The goal isn't the bigger invoice — it's the site that stops costing you money every month.
Related questions
- What's the difference between Wix, Squarespace, and a custom-built website for a small business?
- How do I migrate my small business website to a new host without losing SEO rankings?
- Do I need a separate landing page for Google Ads or can I send traffic to my homepage?
See our Website Design service — plain-English, fixed price, free quote.
Have a question about your site?
Get a free, no-obligation website audit — we'll answer it in plain English.