10. Best Practices to Prevent Accidental Changes to the Live Site
Migrating a site can be stressful, especially when coordinating changes between an old live site and a new server. Here are some best practices to ensure you don’t accidentally affect the live production site or lose data during the transition:
Freeze Updates on Live During Migration: While you are in the process of migrating (which might span hours or days of preparation and testing), it’s wise to put the live site in a sort of “content freeze.” Avoid publishing new posts or, on an e-commerce site, consider disabling new orders (maintenance mode) if possible. Otherwise, any new data on the old site won’t be in the migrated copy. If a content freeze isn’t possible (say, a busy WooCommerce site), you’ll need a strategy to sync changes or schedule a very narrow cut-over window. For standard blogs/company sites, usually scheduling a maintenance window is fine.
Use a Hosts File or Staging URL for Testing: As mentioned, do not point the real domain to the new server until you have thoroughly tested the site on the new server. The hosts file trick is incredibly useful: on your local computer, map
yourdomain.com
to the new server’s IP. That way, you can navigate the site in a browser asyourdomain.com
(so cookies and relative links all behave normally) but you’re actually hitting the new server. Other visitors will still go to the old site. This method prevents the need to change site URLs in the database for testing – you can keep them as the real domain. Once you confirm everything works on the new server via this method, you know the migration is good. Remember to remove the hosts entry after going live.Double-Check
wp-config.php
References: It’s surprisingly easy to accidentally leave a reference to the old database in wp-config or some custom config. Ensure the new site isn’t accidentally pointing to the old site’s database (that would be disastrous if you started changing content on what you think is the new site, but it’s editing the old database!). This typically won’t happen unless you manually setDB_HOST
to an external server where the old DB lives. Still, worth checking that you are indeed connected to the correct database.Disable Scheduled Posts/Emails Temporarily: If the site sends out emails (newsletters, order confirmations) or has scheduled cron jobs, be mindful that when you bring up the clone on the new server, those might trigger. For example, a scheduling plugin might suddenly send a batch of emails when the cloned site goes live (thinking it’s the real site). To avoid duplicate actions, either disable those plugins until final switch or use a plugin like WP Crontrol to clear scheduled events that shouldn’t run on the staging copy. Also, if you have forms that send emails, consider setting them to a test email or disabling outgoing mail using an SMTP plugin set to a dummy server while testing.
Block Search Engines on Staging: We mentioned it earlier but it’s worth reiterating – you don’t want the staging or new site indexed by search engines until it’s the official live site. In WordPress, go to Settings -> Reading and check “Discourage search engines from indexing this site” on the new server while it’s in testing. This adds a robots.txt directive to prevent indexing. (Don’t forget to uncheck it after going live, or your site’s SEO will suffer!)
Final DNS Switch: When you’re confident in the new site’s functionality, update your DNS A record to point the domain to the new server’s IP. It’s often wise to lower the DNS TTL a day in advance to make the switchover propagate faster. Once switched, monitor traffic – some users may still hit the old server for a few hours (due to DNS caching). It can be helpful to put a banner or notice on the old site indicating the site moved, or even set the old site to maintenance mode that says “We’ve moved servers, if you see this you might be seeing an out-of-date version. Clear your DNS cache.” After the TTL period, the old site can be taken down.
Keep the Backup and Old Site Handy: Don’t immediately delete the old site’s files or database. Keep them for a while (or at least have a backup of them) until you’re absolutely sure the new site is running perfectly and all data is intact. This is your safety net.
Document the Process: It’s good practice to document the changes you made during migration (like “set FS_METHOD direct” or “increased PHP memory” or “had to update plugin X settings”). This documentation will help you or teammates in future migrations or if any issue arises later on the new site, you know what custom tweaks are in place.
By following these best practices, you minimize the risk of downtime and avoid accidentally messing up the live site during the transition. As a final check, once the new site is live for everyone, do a thorough walkthrough: click through pages, test contact forms, login/logout, if it’s an e-commerce site perform a test transaction in sandbox mode, etc. Also, keep an eye on your analytics or error monitoring in the first day or two after launch to catch any lingering issues.
Discover more from TechBooky
Subscribe to get the latest posts sent to your email.