Website hosting migration: shared host to VPS, zero downtime
Outcome: A dummy site, Maple Street Bakery (maplestreetbakery.example), moved from a crowded shared host to a faster VPS with zero downtime, working email the whole time, and a one-step way back.
How it works
- Back up everything: files, database, DNS records and email settings.
- Lower the DNS TTL to 5 minutes, two days before the move.
- Copy the site to the new server and test it privately.
- Switch DNS to the new server. Old and new both serve the site while it spreads.
- Watch for 48 hours, then raise TTL again and retire the old host.
Before and after
| Before: shared host | After: VPS or managed host | |
|---|---|---|
| Speed | Shares one server with hundreds of other sites; pages took about 3 seconds. | Its own server and caching; pages load in under 1 second. |
| Security | Old PHP version, free certificate renewed by hand. | Current software, automatic security updates, certificate renews itself. |
| Backups | Whatever the host kept, never tested. | Nightly off-site backups, restore tested before go-live. |
| Set up at the domain registrar. | Unchanged. Email never moved and never stopped. |
Downtime: none
Your customers never see a "site down" page. The new server is fully built and checked before anything changes. When we switch, the old server keeps running, so whichever one a visitor reaches, they get a working site. Orders or form messages that land on the old server during the switch are copied over afterward.
DNS: the address book for your domain
DNS tells the internet which server your domain lives on. Every record has a "TTL", how long computers remember the old answer. It is often set to a day. Two days before the move I lower it to 5 minutes, so on moving day the whole internet picks up the new address within minutes instead of a day. After everything is stable I raise it back.
SSL: the padlock in the browser
The new server gets its own free certificate before the switch, so there is no "Not secure" warning at any moment. Renewal is automatic, and I check that every address (with and without www) redirects to the secure version.
Email keeps working
Email is handled by separate DNS records called MX records. I write down every one of them first (plus the SPF and DKIM records that stop mail going to spam), and copy them exactly. Only the website address changes. Your inbox, phone mail app and contact form keep working, and I send test emails in and out to prove it.
Backups and rollback
Before touching anything I take a full backup of files, database and DNS settings, and restore it once on a test server to prove it works. The old host stays paid up and untouched for a week. If anything looks wrong, rollback is one change: point DNS back to the old server, and because the TTL is 5 minutes, visitors are back within minutes.
Move-day checklist
- Home page, menu page and order form load on the new server
- Padlock shows on every page
- Test emails sent and received
- Contact form messages arrive
- Uptime monitor and nightly backup running
- Old host kept for 7 days as the fallback
Maple Street Bakery is a made-up demo business. Typical moves: GoDaddy, Bluehost or HostGator shared hosting to a DigitalOcean or Hetzner VPS, or to a managed host like Cloudways or Kinsta.
Want this for your business?
Tell me what you would change and I will scope it in a reply.
Start a project