Move a website from shared hosting to a VPS

Shared hosting runs out when the site outgrows its slice: slow admin, resource-limit emails, a PHP version you cannot change, a cron job that never runs on time. A VPS gives you the whole machine. It also makes you the person responsible for it, which is the part to decide before the move.

When a VPS makes sense

  • The host keeps sending resource-limit or CPU-throttling notices.
  • You need something shared hosting will not run: a specific PHP version, Redis, a Node service, a long cron job.
  • A store or membership site where a slow checkout costs real money.
  • You want server-level caching and tuning rather than another caching plugin.

What you take on

On an unmanaged VPS from DigitalOcean, Linode, Vultr or Hetzner, nobody updates the operating system, watches the firewall, renews the certificate or takes backups unless you set it up. A managed VPS platform such as Cloudways, or a managed WordPress host that runs on cloud machines, does those parts for a markup. If you do not want to think about servers, pay the markup; it is cheaper than one bad week.

What the move involves

  • Building the stack on the new server: web server, PHP with the right extensions, database, and a firewall.
  • Copying the site and matching the PHP version and settings from the shared host.
  • Issuing the SSL certificate and setting up automatic renewal.
  • Setting up server backups, because the shared host's backups do not follow you.
  • Sending email through a mail service, since a fresh VPS has no reputation and its mail lands in spam.
  • Switching DNS once the site is tested, with no downtime.

How we do it on your server

We work from a temporary user on your VPS with sudo for the length of the job, added with a key, never a shared root password. Every command run with sudo is written to your server's own log. When the job closes we remove our own access and show you where to delete that user.

Questions people ask

Is a VPS automatically faster?
No. A VPS with a default configuration can be slower than good shared hosting. The speed comes from the setup: PHP-FPM tuning, opcache, server-level caching and a database that fits in memory.
Managed or unmanaged?
Managed unless you or someone you pay will maintain the server every month. The move itself is the same job either way.
What about my email?
Keep the mailboxes with a mail provider, not on the VPS. If they are currently at the shared host, they need a new home before that plan ends.