Multiple Approaches to Prevent Website Downtime During Migration
When migrating websites, several methods exist to ensure no downtime, and the best choice will depend on your site’s needs. Some techniques require more technical expertise or attention than others.
What About the Database?
Your database will be transferred to the new server as part of the migration. If your database doesn’t change often, such as when you only update content with new posts or pages, the risk of losing data during the migration is minimal.
However, if your site is frequently updated, such as forums or user-generated content platforms, it's important to ensure no data is lost during migration. There are a few ways to ensure this.
Advanced Method 1: Configure the Old Server to Access the New Database Before Changing DNS
This method involves setting up your website on the old server to connect remotely to the new server’s database. As a result, updates made to the site, regardless of whether visitors access the old or new server, will be saved to the new database. This ensures the new database remains up-to-date with all current information.
Though this technique requires more technical effort, it helps minimize downtime for all visitors. It will require you or your web designer to modify the site during migration.
Simplified Steps:
STEP 1: Transfer all files, databases, and settings to the new server.
STEP 2: Test the site on the new server to ensure it’s working properly.
STEP 3: If any database changes occur during the transfer, migrate to the latest version of the database (skip this step if you complete step 4 immediately after steps 1 and 2).
STEP 4: Adjust the database settings to allow the old server to access the new database.
STEP 5: Update the DNS and name servers to point to the new server.
With this approach, it doesn’t matter which server a visitor accesses during DNS propagation, as both servers will update the same database.
Advanced Method 2: Disable Database Updates on the Old Server during Migration
This approach involves stopping the old server from accepting database updates during the migration process. This method is suitable if you’re progressing quickly with migration or don’t mind a small number of users seeing the old site during DNS propagation. It’s ideal for sites where the database isn’t frequently updated by user interactions.
Depending on how your site is built, this may involve setting the site to a read-only mode, enabling maintenance mode on your CMS, or temporarily disabling the database with a message informing users that the site will be available soon.
To minimize issues, this should be done just before transferring the latest database version to the new server. Once the transfer is complete, update the DNS to point to the new server.
While DNS propagation is in progress, visitors will see either the new or old server, but only the new server will accept database changes.
Simplified Steps:
STEP 1: Transfer all files, databases, and settings to the new server.
STEP 2: Test the site on the new server to ensure it works as expected.
STEP 3: Disable database updates on the old server.
STEP 4: If any database changes occur, migrate to the latest version of the database (skip if step 3 is done before or after step 1).
STEP 5: Update the DNS and name servers to point to the new server.
During DNS propagation, some users will see the old server while others will see the new one.
Tips to Minimize DNS Propagation Time
After migrating, you can create an A record in the existing DNS (typically on the old server) to quickly direct visitors to the new server, which is faster than waiting for name server propagation.
You can also create an MX record to ensure emails are delivered to the new server without delay.
Once A and MX records are updated, you can update the name servers at any time.
Migration Timeline
Migration requests usually take 72 hours or longer. The completion time depends on factors like site size and network speed. If you need faster migration or more control over the process, you can choose to handle the file migration yourself.
Note that the free migration service doesn’t cover coding or configuration changes, such as altering database settings on the old server or name server updates. The more control you need over the migration, the more involvement from you or your web designer will be required.