Getting started

What VPS size do you need for WordPress?

Size RAM, CPU and storage for one or several WordPress sites based on traffic, plugins and caching, and learn the signals that tell you it is time to upgrade.

BeginnerLinux server · Windows server4 min read

WordPress runs well on a modest VPS when it is set up sensibly. The plan you need depends less on WordPress itself and more on your traffic, your plugins and whether pages are cached. This guide helps you size RAM, CPU and storage for one or several sites and tells you which signals mean it is time to upgrade.

Before you start

Gather a few facts about your site or sites:

  • Monthly visitors and your busiest hour, from your analytics.
  • Whether it is a blog, a business site or a WooCommerce shop.
  • Heavy plugins: page builders, search, membership, LMS or analytics plugins.
  • Size of your media library and database, if the site already exists.

Most WordPress servers run on a Linux VPS with Nginx or Apache, PHP-FPM and MariaDB or MySQL. A Windows VPS with IIS can run WordPress too, but Linux is the more common and lighter choice.

What uses resources

A WordPress page view can trigger several steps:

  1. The web server receives the request.
  2. PHP runs WordPress, your theme and every active plugin.
  3. MariaDB or MySQL answers dozens of queries.
  4. The HTML is sent back.

PHP and the database do most of the work. Page caching skips steps 2 and 3 for most visitors by serving a saved copy of the page, which cuts CPU and RAM use dramatically. That is why caching matters more than any other factor in sizing.

Logged-in users, carts and checkouts usually bypass the page cache, so shops and membership sites need more resources per visitor.

Rough sizing

Treat these as starting points and measure after launch.

RAM

  • One small blog or brochure site with caching: around 1–2 GB.
  • A busier site, or a few small sites: around 2–4 GB.
  • WooCommerce, membership sites or several active sites: 4 GB and up.

Each PHP-FPM worker can use tens of megabytes or more, depending on plugins. The database also needs a memory budget. See how much RAM a VPS needs.

CPU

  • Cached sites: 1–2 vCPUs handle a lot of traffic.
  • Uncached or dynamic sites, shops, many logged-in users: 2–4 vCPUs or more.

Storage

WordPress core and plugins are small. Your uploads folder and database are what grow. Add space for backups you keep on the server and leave at least 20–25% free.

Make a small server go further

Before you buy a bigger plan, apply the cheap wins:

  • Turn on page caching, either at the server level (for example Nginx FastCGI cache) or with a caching plugin.
  • Add an object cache such as Redis for dynamic sites.
  • Use a current, supported PHP version.
  • Remove plugins you do not use, especially heavy ones.
  • Compress and resize images before upload.
  • Replace WordPress's built-in visitor-triggered cron with a real system cron job.

Check it works

After launch, watch the server during your busiest hour:

Bash
free -h
uptime

On Linux, free -h shows memory (watch available) and uptime shows load averages. Load that stays above your vCPU count, or available memory that keeps dropping into swap, means the server is under strain. Also test a few pages with your browser's developer tools or a speed test tool, comparing logged-out and logged-in times.

Troubleshooting

  • Site is fast for visitors but slow in the admin: the admin area is never page-cached. Check heavy plugins and consider an object cache.
  • "Error establishing a database connection" under load: the database may have been killed for lack of memory. Check RAM and see the dedicated guide on fixing database connection errors.
  • CPU spikes at random times: often bots hitting wp-login.php or xmlrpc.php, or WordPress cron. Rate-limit or block them.
  • Time to upgrade: memory regularly near full, steady swap use, or load above core count at peak after caching is in place.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.