๐ŸŽ‰ Mid-Year Sale โ€” Get up to 78% OFF all hosting plans + free domain. Claim deal โ†’
Migration guide

Move your site
without breaking it.

Three ways to migrate, depending on how hands-on you want to be. All of them keep your site online. None of them cost extra. We've moved 47,000+ sites to HostingDon โ€” most in under 90 minutes, with zero customer-visible downtime.

Free white-glove migration on every paid plan
Website migration illustration
Pick your path

Three ways to do this,
your call.

Most popular

We do it for you

Free white-glove migration by our team. You sit back. We move everything: files, databases, email, DNS, SSL. Cutover at a time of your choosing โ€” even 3 AM if you want.

  • โœ“ Zero downtime, guaranteed
  • โœ“ Typical timeline: 24โ€“72 hours
  • โœ“ Up to 100 sites per migration ticket
  • โœ“ Free SSL provisioning included
Request a migration

Guided DIY

Want to do it yourself but want a tested playbook? Follow our 6-step guide below. Most engineers complete it in 1โ€“2 hours. Hit a snag? Open chat โ€” we'll help in real time.

  • โœ“ Full control, your timeline
  • โœ“ Live chat help when stuck
  • โœ“ Pre-flight checklist below
  • โœ“ Common-issue troubleshooting included
See the 6 steps โ†“

Quick checklist

For experienced ops folks who just want a checklist to make sure nothing's missed. Skip the explanations โ€” go straight to the pre-flight items.

  • โœ“ 18 pre-flight checklist items
  • โœ“ Cutover playbook
  • โœ“ Post-cutover validation
  • โœ“ Rollback plan if something breaks
Jump to checklist โ†“
DIY walkthrough

Six steps,
no surprises.

Total time: 1โ€“2 hours of active work, plus DNS propagation. We recommend running through this once on a low-traffic site or staging copy before doing it on your main site.

1

Back up everything from your current host

Download files via SFTP/rsync. Export databases via mysqldump or your host's backup tool. Don't trust any single backup โ€” make two and verify they restore. Save email contents if you're keeping email accounts.

Estimated: 15โ€“60 min depending on site size
2

Provision your HostingDon account & create the site

Sign up for the plan you need. Create a new site shell in our dashboard. Note your account's SSH / SFTP credentials and the temporary preview URL we give you.

Estimated: 5 min
3

Lower your DNS TTL (24โ€“48 hours ahead of cutover)

In your current DNS provider, change your A record's TTL to 300 (5 minutes). This makes the eventual cutover propagate fast. Do this 24โ€“48 hours before you actually cut over.

Estimated: 2 min ยท plan ahead
4

Upload files to HostingDon

Use SFTP, rsync, or our migration importer. For WordPress, upload everything in public_html/. For other stacks, upload to ~/htdocs/. Verify file counts match the source.

Estimated: 10โ€“60 min depending on size
5

Import the database & test on the preview URL

Create a database in our dashboard, import your .sql dump via phpMyAdmin or mysql CLI, and update your config files with the new credentials. Visit your temporary preview URL โ€” your site should load. Click around. Test forms. Test logged-in pages.

Estimated: 15โ€“30 min
6

DNS cutover & SSL

When ready, change your A record at your DNS provider to point to your HostingDon IP (in your dashboard). Because TTL is 300, propagation is near-instant. Trigger Let's Encrypt SSL provisioning in our dashboard. Verify HTTPS works on your real domain. Done.

Estimated: 5โ€“15 min ยท plus 5โ€“60 min DNS propagation
Pre-flight checklist

The 18-point
cutover checklist.

Print this. Tick boxes. Don't skip.

Before you start

  • Two complete, verified backups of the site (files + database). Don't trust just one.
  • List of every domain name pointing at the site (apex + subdomains).
  • Access to your DNS provider with permission to change records.
  • List of all email accounts that need to keep working โ€” and their MX setup.
  • List of cron jobs / scheduled tasks running on the source.
  • Inventory of any third-party integrations using the IP/hostname (webhook destinations, allow-listed IPs).

24โ€“48 hours before cutover

  • Lower DNS TTL on all relevant records to 300 seconds.
  • Files uploaded and verified file count matches source.
  • Database imported and config updated with new credentials.
  • Site loads correctly on the temporary preview URL.
  • Forms submit, payments process (in test mode), logged-in pages work.
  • Cron jobs / scheduled tasks recreated on HostingDon.

At cutover

  • Final database sync if there's been activity since first import.
  • Update DNS A records to HostingDon IPs.
  • Trigger Let's Encrypt SSL provisioning on real domain.
  • Verify HTTPS works on apex + www + any subdomains.

Post-cutover

  • Click through key pages on real domain โ€” homepage, contact form, login, checkout if applicable.
  • Restore TTL to a reasonable value (3600 or higher) once stable.
  • Keep old host's account active for 7 days minimum, in case of rollback.
Troubleshooting

Common issues
& how to fix them.

My WordPress site shows "Error establishing a database connection"
Almost always a credentials mismatch. Check wp-config.php โ€” DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST must match exactly what HostingDon's dashboard shows. DB_HOST should usually be localhost on us, not the IP your old host used.
My site loads but images and CSS are broken
Hardcoded URLs in your database. WordPress: run wp search-replace 'old-domain.com' 'new-domain.com' via WP-CLI. Other stacks: use a search-replace SQL script or Better Search Replace if no CLI access.
Email stopped working after DNS change
You probably changed the A record but forgot the MX records. If you're using us for email too, set MX records as shown in the dashboard. If you're using Google Workspace or Microsoft 365 for email, leave their MX records exactly as they were โ€” they shouldn't have changed.
SSL certificate fails to issue
Let's Encrypt verification needs your domain pointing at us first. If DNS hasn't fully propagated, retry SSL issuance in 15 minutes. If your domain has a CAA record, ensure Let's Encrypt is allowed (or remove CAA temporarily). For wildcards, you'll need DNS challenge โ€” chat with us.
Visitors see the old site, I see the new one
DNS propagation. Your local resolver has cached the new record but theirs hasn't yet. With TTL of 300, this should resolve within 5โ€“10 minutes. Check via dnschecker.org for a global view. If certain regions still show stale data after 1 hour, your DNS provider has a slow propagation problem โ€” open a chat and we'll help diagnose.
I need to roll back to my old host
This is why we recommend keeping the old account active for at least 7 days. To roll back: change your A record back to the old IP. With TTL still at 300, propagation is near-instant. Once stable, we'll happily refund any unused HostingDon time.
Got questions?

Talk to a
migration engineer.

Our migration team is staffed 24/7. Median first reply: under 2 minutes. They've moved sites of every shape โ€” from 5-page brochures to 50,000-product WooCommerce stores. They've seen what you're trying to do.