How to Migrate WordPress Website to SNBD HOST (Zero Downtime)
SNBD Host Team
Migrating a WordPress site to a new host sounds risky. You're moving live files and a database, changing server settings, and updating DNS — any of which can go wrong and take your site offline. The zero-downtime approach avoids the risk by running the new server in parallel with the old one, testing everything thoroughly before switching, and then cutting DNS over quickly. Your visitors experience no interruption.
This guide assumes you're moving an existing WordPress site to SNBD HOST's BDIX shared hosting. The process works whether you're coming from a local host, an international host, or another Bangladesh provider.
Before You Start: What You'll Need
- Access to your current hosting account (FTP/SFTP or cPanel)
- Your current site's WordPress admin credentials
- Access to your domain's DNS settings (at your registrar)
- A new SNBD HOST account with cPanel access
- About 2-3 hours (most of it is waiting for files to transfer)
Step 1: Create a Complete Backup of Your Current Site
Never start a migration without a fresh backup. Even if the migration fails completely, you need to be able to restore your current site exactly as it is.
The fastest method using a plugin:
- Install UpdraftPlus on your current WordPress site
- Go to Settings → UpdraftPlus → Backup Now
- Check both "Include your database in the backup" and "Include your files"
- Click Backup Now and wait for completion
- Download the backup files to your local computer from the UpdraftPlus dashboard
The backup produces several files: a database file (.gz), a plugins archive, a themes archive, an uploads archive, and an others archive. Keep all of them.
Alternatively, if you have cPanel access on your current host, use cPanel's built-in backup tool under Backup Wizard to download a full backup.
Step 2: Set Up the New Environment on SNBD HOST
Log into your new SNBD HOST cPanel account. Before transferring any files, set up the destination:
Create the Database
- In cPanel, go to MySQL Databases
- Create a new database — name it something recognizable (e.g., snbd_mybusiness)
- Create a new database user with a strong password
- Add the user to the database with All Privileges
- Note down the database name, username, and password — you'll need them in Step 5
Step 3: Transfer Your WordPress Files
There are two methods. Choose based on what's faster for your situation.
Method A: All-in-One WP Migration Plugin (Easiest)
This plugin creates a single exportable file containing your entire WordPress installation — files, database, themes, plugins, uploads, and all settings.
- On your current site: Install and activate All-in-One WP Migration
- Go to All-in-One WP Migration → Export → Export To → File
- Download the generated .wpress file to your computer
- On your new SNBD HOST account: Install WordPress fresh using Softaculous (any placeholder content)
- Install and activate All-in-One WP Migration on the new WordPress install
- Go to All-in-One WP Migration → Import → Import From → File and upload the .wpress file
The plugin replaces all content on the new install with your exported site. The import can take 5-30 minutes depending on site size.
Free limitation: The free version of All-in-One WP Migration has a 512MB upload limit. Sites larger than this need the premium version (around ৳2,000) or Method B.
Method B: Manual Transfer via FTP + Database Import
For large sites or when you want more control:
- Download WordPress files from your current host via FTP (FileZilla is free) or cPanel's File Manager. Download the entire public_html directory (or wherever WordPress is installed).
- Export the database from your current host's cPanel → phpMyAdmin → select your WordPress database → Export → Quick → Go. Save the .sql file.
- Upload files to SNBD HOST via FTP to your new account's public_html directory
- Import the database in SNBD HOST's cPanel → phpMyAdmin → select your new empty database → Import → choose the .sql file → Go
Step 4: Update wp-config.php
WordPress connects to its database using credentials stored in wp-config.php. After migrating, these credentials need to point to your new database on SNBD HOST.
Using cPanel's File Manager (or FTP), open wp-config.php in your new WordPress installation and update these four lines:
define('DB_NAME', 'your_new_database_name');
define('DB_USER', 'your_new_database_user');
define('DB_PASSWORD', 'your_new_database_password');
define('DB_HOST', 'localhost');
DB_HOST is almost always 'localhost' on shared hosting. SNBD HOST will confirm in your welcome email if it's different.
Step 5: Test the New Site Before Switching DNS
This is the critical step that enables zero downtime. You need to test your new site while the old one is still live. Do this by editing your local hosts file to point your domain to the new server.
Find your new server's IP address in the SNBD HOST cPanel (under Server Information or in your welcome email).
Then edit your local hosts file:
- Windows: Open Notepad as Administrator → open C:WindowsSystem32driversetchosts
- Mac/Linux: Open Terminal →
sudo nano /etc/hosts
Add a line at the bottom:
NEW_SERVER_IP yourdomain.com www.yourdomain.com
Save the file. Now when you browse to yourdomain.com in your browser, you'll see the new SNBD HOST server instead of the old host. Your visitors still see the old server — only you see the new one.
Test thoroughly:
- Browse to every main page — home, about, contact, blog, product pages
- Test any forms (contact form, newsletter signup)
- If WooCommerce: add items to cart, proceed to checkout, check payment gateway connects
- Log into WordPress admin and verify all content is present
- Check images are loading correctly
- Verify SSL is active (padlock shows in browser)
If everything works correctly on the new server, you're ready to switch DNS.
Step 6: Switch DNS (The Cutover)
DNS propagation takes time — typically 30 minutes to 2 hours in Bangladesh, though it can take up to 24 hours globally. During propagation, some visitors see the old server and some see the new one. Neither should experience downtime — both servers serve the same content (assuming you don't make changes to the old site after migration).
- Log into your domain registrar
- Find your domain's DNS settings
- Update the A record to point to your new SNBD HOST server IP
- Save changes
- Remove the temporary entry from your local hosts file
Within a few hours, all visitors will be hitting the new server. Monitor both your old and new server for a few hours after the cutover to catch any issues.
Step 7: Keep Your Old Hosting Active for a Few Days
Don't cancel your old hosting immediately after the DNS switch. DNS propagation means some visitors may still reach your old server for 24-48 hours. Keep it active for at least 3 days after the DNS change, then cancel.
Also: don't publish new content or process new orders until DNS has fully propagated. New data on the old server won't exist on the new server.
Common Issues and Fixes
Site shows old content after DNS switch: Clear your browser cache and try again. Also clear any caching plugin caches from the WordPress dashboard.
Images not loading: The database might contain hardcoded URLs pointing to the old server. Use the Better Search Replace plugin to find and replace your old domain/URL with the new one throughout the database.
WordPress admin loop (redirecting repeatedly): A URL mismatch. Go to wp-config.php and add:
define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');
Database import failed (too large): Use BigDump or ask SNBD HOST support to import via command line. Large databases (50MB+) sometimes exceed phpMyAdmin's upload limits.
SNBD HOST offers free site migration assistance for new customers — if you'd prefer to have the team handle the technical steps, reach out to support before starting. They're experienced with WordPress migrations and can often complete a move faster than doing it yourself the first time.