There are many great tools to help move a website from one server to another. My go to plugin is WP Migrate DB Pro. As a service I really like ManageWP. Any tool or service you use to move a website can only go so far. A successful website migration typically includes more then just moving the website. Other things to consider include domains, email, DNS and nameservers. Let’s take a look at each of those in briefly and then go over how they related and affect each other.
A domain is the registered name of a website. Like teslamotors.com is the domain for Tesla Motors. You can see where domains are registered by doing a WHOIS lookup. For Tesla a WHOIS reveals it’s registered through MarkMonitor.
Email services can be with anyone. Cheap web hosts typically offer a standard package included with their hosting plan. I use and recommend a 3rd party email service like Google Apps. You can use a tool like MX Toolbox to see which email service a domain is using. Following our Tesla example, it appears they are using a service called MessageLabs.
DNS is the digital record for a domain name. It specifics where things like the website and emails are located. While there are various types of DNS records, for migration purposes you are generally only updating A or CNAME records. You can use the same tool, MX Toolbox, to see various other DNS records. Here are A, CNAME and TXT records for teslamotors.com.
Nameservers simply tells where to go for DNS records. This might seem a little strange at first but it allows you to choose where your going to manage your DNS records. Typically this will be where you purchased your domain name unless you change it. Again you can lookup a nameserver just like DNS records using MX Toolbox like so. Tesla is using UltraDNS.
In the most basic of website migrations, you move the website from server A to server B and then update a few DNS records to make switchover happen. This makes a bunch of assumptions. Your assuming that the domain, email and nameservers aren’t tied to the old server or old hosting plan and are in no danger of going away. However most migration imply there is an old hosting account which is no longer needed. Before that old hosting account can be removed, you’ll need to examine each of the possible interconnected services. All of these lookups can be done as shown above with MX Toolbox.
Finding interconnected dependancies will take some practice as not all setups are easily identifiable. Let’s look at my own website anchor.host. Using MX Toolbox you should be able to reveal the following:
- Domain is registered with Tucows
- Email is with Google Apps
- Nameservers are with DNS Made Easy
This setup is ideal as there are no interconnected dependancies. Closing my hosting account won’t cancel my domain name. Moving hosting provider will not affect my website or nameservers. Changing domain providers won’t break my DNS as my nameservers are using a 3rd party provider.
A scenario which is a bit more difficult to solve goes something like this. Business has their domain name included with their hosting account through Bluehost. They decide to switch to a managed hosting provider like WP Engine. Oh did I mentioned they have 15 email accounts setup with the “free” allocations as part of their hosting plan?
This is a mess as there are multiple of dependancies. Making a smooth switchover requires some planning. In this situation I would handle in the following order.
- Copy over DNS records from Bluehost to a managed DNS service like DNS Made Easy
- Switch nameservers from Bluehost to DNS Made Easy
- Move website from Bluehost to WP Engine
- Migrate email from Bluehost to Google Apps
- Move domain from Bluehost to Hover.com
- Backup and shutdown Bluehost account
Next time you migrate a website, make sure you review where everything is located. That includes domains, hosting, email and nameservers. If you find any service dependent upon another make sure you plan ahead for a smooth and successful migration.