Skip to content

How to migrate to DigitalOcean

Moving an existing site to DigitalOcean — what they handle for you, what you'll do yourself, and the safe order to do it in.

Free migration not advertised
Support during your move: ticket, community, knowledge base

Choosing a DigitalOcean Droplet Size

Start with your current resource usage. The $4/month 512MB plan handles static sites, while the $6 1GB plan fits basic WordPress. For databases over 500MB or high-traffic sites, jump to the $24 4GB droplet (2 vCPUs, 80GB storage). Match your existing RAM and storage — DigitalOcean's increments are clean (0.5GB → 1GB → 2GB → 4GB → 8GB → 16GB).

Pre-Migration Prep

  1. Back up everything: Export your database and compress site files.
  2. Lower DNS TTL: Set it to 300 seconds (5 minutes) at least 48 hours before migration. This speeds up the final switch.
  3. Note credentials: Database users, FTP logins, and any server configs (like .htaccess).

Transfer and Test

  1. Spin up a droplet: Pick your size, select a datacenter near your audience (9 options, including Singapore, Frankfurt, or New York).
  2. Upload files: Use SCP or rsync for large directories.
  3. Import the database: Restore your dump file via SSH or a tool like phpMyAdmin.
  4. Test privately: Edit your local hosts file to point the domain to the droplet’s IP, or use the server’s temporary URL. Check forms, logins, and static assets.

DNS Cutover and Post-Move Checks

  1. Update DNS: Point A/AAAA records to the droplet’s IP. Changes propagate within your TTL window (5 minutes if prepped).
  2. Monitor: Track server response times — we measured 94ms processing and 149ms total request time in tests. Use dig or a propagation checker to confirm global DNS updates.
  3. Watch uptime: DigitalOcean showed 100% uptime over 30 days in our measurements. Keep old hosting active for 72 hours as a fallback.

Support channels: tickets or community forums if you hit snags. No need to overcomplicate — droplets are unmanaged Linux VMs, so everything from here is standard server admin.