HomePricingDomainsVPSBlogSupportContact

← All guides

Migrations · 5 min read

Zero-downtime migration in 24h

Moving hosts doesn't have to mean a maintenance page. This is the exact playbook we follow for every free migration — steal it.

Step 1 — Lower the TTL (24h before)

Set your DNS TTL to 300 seconds a full day ahead. TTL is how long the internet caches your DNS — lowering it first means the final switch propagates in minutes, not hours. This is the step everyone skips and regrets.

Step 2 — Full backup of everything

Files, database, emails, cron jobs, SSL notes. Two copies, and verify the database dump actually opens. A backup you haven't checked is a rumor.

Step 3 — Build the copy on the new server

Deploy files + DB to the new host and preview via staging URL or a local hosts-file entry. Never test with live DNS — that's how you get a split-brain site.

Step 4 — Test like a visitor (and like an owner)

Homepage, checkout/contact forms, login, search, email sending, scheduled tasks. Click everything. Then have someone else click everything.

Step 5 — Final sync during a quiet window

Re-copy only what changed since step 3 — new uploads, orders, comments:

rsync -avz --delete user@old-host:/var/www/site/ /var/www/site/
mysqldump -u user -p dbname > db-final.sql

The --delete flag matters: without it, deleted files resurrect on the new server.

Step 6 — Flip DNS and watch

Point the A record at the new IP, then monitor both servers' logs. Some visitors still hit the old box until caches expire — put it in read-only or redirect mode for a day rather than shutting it off.

Step 7 — Keep the old host 7 days

Don't cancel immediately. A week of overlap is cheap insurance against "wait, the old contact form wrote to a different database" discoveries.

Or let us do all of it

Free migration on every plan: files, database and email moved within 24 hours, tested on staging before DNS flips. Request migration →