Total cost of ownership
WordPress 3-Year Cost Use Your Invoices
WordPress can be cheap or expensive, and the invoice does not tell you which. Add up what you really spend: hosting, plugins and licences, whoever you pay for support, the hours your own team loses to it, the times it broke, and the changes you have planned. Then price the alternatives against that same list.
Commercial and platform references checked July 24, 2026.
Hassan Jamal·Feb 8, 2026·15 min read
The short answer
- ✓There is no defensible average three-year cost for every WordPress business site.
- ✓Use paid invoices, contracts, time records, incidents and approved roadmap work as the base case.
- ✓Compare maintain, optimize and migrate using the same features, traffic, service level and time period.
- ✓Do not count hypothetical traffic or revenue as savings unless first-party evidence and an attribution method support it.
- ✓A custom site still has hosting, dependencies, providers, maintenance and support responsibility.
This guide gives no single three-year total, no multiplier for hidden cost and no standard payback period. What a site costs depends on its hosting plan, software subscriptions, integrations, traffic, service level and how much internal time goes into editing, updates, support and recovery, so a figure drawn from someone else's sample tells you nothing about your own bill. Build the number from your paid invoices, contracts and time records, and price custom operation as a real cost line rather than as zero.
Invoices
Hosting, licenses, services, support and incidents.
Labor
Internal editing, updates, QA, recovery and coordination.
Forecast
Renewals, growth, roadmap, contingency and exit.
Compare
Same capability, service level and evidence rules.
The three-year TCO formula
+ planned renewals and usage growth
+ internal operating labor
+ contracted maintenance and support
+ expected roadmap work
+ incident and contingency allowance
+ migration or exit work inside the period
Keep the base case to committed or directly observed cost. Put uncertain items in low, expected and high scenarios with named inputs. Do not combine a worst-case WordPress scenario with a best-case custom scenario. For how the same inputs are gathered when the comparison is a move off the platform, see the WordPress migration cost breakdown.
Collect the recurring invoices
- ✓Hosting, CDN, storage, backups, staging and domain services
- ✓Themes, page builders, forms, SEO, security, cache and media tools
- ✓Commerce, subscriptions, bookings, memberships and payment-related extensions
- ✓Search, email, analytics, consent, chat, monitoring and integration services
- ✓Agency, freelancer, care-plan and emergency-support retainers
- ✓Taxes, currency, overages, seats and annual renewal changes
Use current invoices and renewal notices. Public list prices may differ from a contracted, grandfathered, promotional or usage-based amount. Record billing owner, renewal date, usage, dependency and cancellation effect for every line. An extension-heavy stack can also carry an operating cost that never appears on a licence line, which is what our guide to WordPress plugins and site speed works through.
Count internal operating work
- ✓Core, theme and extension update review, staging and release
- ✓Content, product, merchandising and campaign changes
- ✓Performance, accessibility, analytics and search checks
- ✓User access, vendor reviews, security monitoring and backup tests
- ✓Plugin conflicts, failed jobs, integration changes and support coordination
- ✓Procurement, finance and management time tied to the website
Multiply recorded hours by an agreed fully loaded internal rate. If time is not tracked, sample a representative operating period and label the estimate. Do not invent an industry maintenance retainer and apply it to a team that handles the work differently. If much of that time goes into chasing performance problems, work through the evidence-led method for fixing a slow WordPress site before you price anything else.
Handle incidents without a fake average
For prior incidents, record response labor, external invoices, downtime, failed transactions, data recovery, customer support, legal review and notification work. For future scenarios, use a separately labelled contingency or risk-adjusted model approved by the business. One public breach-cost statistic does not predict this site's loss. For the exposure that sits behind that contingency line, read our review of WordPress security risk in 2026.
Include roadmap and technical debt
List changes the business expects within three years: new markets, products, subscriptions, design, content models, CRM, search, payments, reporting or compliance. Estimate each option against the same capability matrix. A platform that is inexpensive today may require costly work for a future requirement, while a migration may replace mature features unnecessarily. If the roadmap includes a store, scope the commerce path on its own terms against our WooCommerce migration service.
Scenario A: maintain WordPress
- ✓Keep the current architecture and required capabilities.
- ✓Update supported software and retire unused or overlapping components.
- ✓Fund routine QA, security, backups, performance and incident readiness.
- ✓Replace fragile integrations only where evidence justifies the work.
- ✓Forecast current invoice renewals and capacity from actual contracts.
Scenario B: optimize or rebuild within WordPress
Separate content and feature value from implementation debt. A new theme, template system, hosting configuration, database repair or extension consolidation may solve measured problems without changing the content and commerce platform. Include migration within WordPress, staging, QA, launch and retraining in the comparison. Page-builder debt is a common part of that implementation cost, so test it directly against how Elementor affects SEO and how the Divi theme affects page speed.
Scenario C: migrate to a custom stack
Price the whole job, not just the build. That means working out what you need, designing it, building it, moving the content and data across, replacing whatever your plugins were doing, making it accessible, protecting your search traffic, getting analytics right, securing it, testing that money actually changes hands, the switchover itself, and support afterwards. Then add what it costs to run: hosting, the CMS, a database, email, search, monitoring, backups, whatever you use of each vendor, and the engineering time to keep it patched. A Vercel plan or other free allowance is not a permanent universal commercial-cost promise. Our WordPress migration service sets out how that scope is run, and the step-by-step WordPress to Next.js migration guide covers the sequence in detail.
Normalize the comparison
| Control | Use the same assumption for every option |
|---|---|
| Capabilities | Pages, editing, commerce, accounts, integrations and reports |
| Demand | Traffic, data, transactions, regions and growth scenario |
| Quality | Performance, accessibility, privacy, security and reliability acceptance |
| Service | Monitoring, response, backups, recovery, updates and support hours |
| Period | Same start date, three-year window, currency and tax treatment |
| Uncertainty | Same low, expected and high scenario rules |
How to handle performance and revenue benefits
Measure field performance and business events on the current site. If work is released, compare affected cohorts while controlling for campaign, price, stock, content, device, geography and seasonality where possible. Report observed association and experiment design honestly. Performance improvements do not automatically create a ranking, conversion or revenue result. Core Web Vitals explained sets out which of those measurements are field data and which are lab diagnostics before you attach any of them to a business case.
Calculate payback only after the inputs are approved
Annual verified savings = removed direct cost - new direct cost
Simple payback years = net migration investment / annual verified savings
Keep uncertain business benefits separate from verified direct savings. If annual verified savings are zero or negative, a cost-only payback does not exist. The migration may still be justified by capability, risk or strategy, but label that rationale directly.
When WordPress may still be worth it
- ✓The content and editing workflow fits the team.
- ✓Maintained extensions deliver required capability economically.
- ✓Measured performance and reliability meet requirements or are repairable.
- ✓The organization can own updates, security, monitoring and recovery.
- ✓A migration would recreate mature features without a material business benefit.
When migration may be worth pricing
- ✓Core workflows or data models repeatedly conflict with the current stack.
- ✓Required controls cannot be reached through a reasonable repair plan.
- ✓Direct recurring and operating costs are verified and materially reducible.
- ✓The target capability and lifecycle model is fully scoped.
- ✓Data, SEO, ownership, acceptance, cutover and support risk are funded.
PandaCodeGen planning terms
PandaCodeGen tiers start at $1,500 Starter, $3,500 Growth and $5,000 to $10,000 Scale, with custom work scoped separately. Standard payment is 30 percent at onboarding and 70 percent on delivery. Refund, deliverables, acceptance and remedy follow the signed scope. Starter includes 15 business days of launch defect support; Growth and Scale include 30. These terms are inputs to a comparison, not proof that migration is the lower-cost choice. What sits inside each tier is listed on the pricing page, and custom engineering covers work scoped outside them.
Related reading
To carry this comparison further, read the WordPress and Next.js platform comparison, the three-year cost comparison of WordPress and custom code, or how Cloudflare built its own WordPress replacement.
Frequently asked questions
Frequently Asked Questions
Bring invoices, not assumptions
We will compare maintain, optimize and migrate using your actual costs, capabilities and operating requirements.
Related Articles
Next.js and Sanity in 2026: Fit, Cost and Tradeoffs
A current guide to Next.js with Sanity: rendering and content roles, editorial workflows, localization, pricing, security boundaries and when to use a simpler stack.
WordPress in April 2026: Three Security and Product Records
A source-led review of the Smart Slider 3 Pro and EssentialPlugin supply-chain incidents plus a WooCommerce core team lead's public feedback thread and their limits.
Divi Theme Slow? A 2026 Diagnostic and Fix Guide
Diagnose a slow Divi site, test Divi 5 and in-place fixes, and decide whether to optimize, rebuild in WordPress, or migrate.