Migrating Your Domain to a New Web Host
Web host migration is like skydiving: you know there’ll be a lot of adrenalin, and you hope there won’t be a loud thud at the end.
I’ve migrated a few domains recently for myself and others. So far, no thuds. Here’s the process I used.
The following assumes (1) you already have a website hosted somewhere and (2) you want to move it to a new web host, keeping the same domain name. (You’ll probably find this guide helpful even if one of those two assumptions is wrong.)
The Scenario
So. Let’s say you’re going to move your nonprofit’s website:
- Domain name: peace-n-hope.org
- Old web host: evil-R-us.com
- New web host: HopeSpringsEternal.net
Overview
- Pick a good web host.
- Sign up for an account.
- Set up the new web host.
- Prepare the new host to receive email.
- Change your domain to point at the new web host.
- Watch for the change to happen.
- Do some final testing and tweaking.
- Kick back and bask in your geekiness.
Important Background: Domain Name Servers
Computers on the Internet don’t refer to each other by name. They refer to each other by their Internet Protocol (IP) addresses. The most common internet addresses look like four numbers separated by periods. For example, your current IP address is 38.107.191.108. (I’m not making that up; I just checked.)
When you enter www.peace-n-hope.org in your browser’s address bar, or when you send an email to i…@peace-n-hope.org, somehow that human-friendly domain name has to get converted into a computer-friendly IP address.
The gadget that handles the conversion is called a Domain Name Server (DNS). It sits on a computer somewhere out in the Internet, and it has an enormous table of entries saying “requests for domain name X should be routed to IP Address Y”. At most recent count there were just over 2.3 gajillion domain name servers scattered around the Internet.
Some DNSs are cooler (more authoritative) for certain things that others, but let’s not get into that right now. For now all you need to know is that when anyone uses a domain name for anything, there’s a DNS somewhere that decides which computer that request should get routed to.
So to start with you have one web host, and all of the DNSs in the Internet point at it. Your world looks like this:

Your initial setup: you have one web host and all of the world’s DNSs are pointing at it.
Pick a Good Web Host
A good host makes all the different if migration turns ugly. There’s a good chance you’ll hit some glitch or another: probably minor, and possibly your fault. Maybe you can figure it out yourself, but a good host might figure it out it faster. And often you’ll need the host’s help to actually fix it.
I recently offered statistics to help you choose a web host. You can use my numbers or research on your own, but look before you sign up for an account.
Information you need
Your new host, HopeSpringsEternal.net, should have given you the following information. If not, ask for it:
- The location of a web page (often called a “control panel” page) where you can manage things like email accounts, file access, etc.
- Login information for the control panel
- Information on transferring files to/from the site using File Transfer Protocol (FTP)
- The addresses of the new host’s DNSs
Limbo: Set Up The New Web Host
Once you’ve created an account with HopeSpringsEternal.net you have two hosts:
- Your active host, evil-R-us.com, which everyone is using for peace-n-hope.org’s email and website, and
- Your dormant host, HopeSpringsEternal.net, which no one knows about but you.
For the next steps you’ll need some way to move information from your current evil-R-us.com host and to your new HopeSpringsEternal.net host. FTP is the most widely available way to do this is through. When you signed up for an account, HopeSpringsEternal.net should have provide you with information on connecting to your account via FTP.
If you don’t have this information for your old or new web hosts, you’ll need to contact them to get it.
Some hosts offer other file transfer methods. In the worst case you can download your current website by using a web copier program, or (ugh) by visiting every page through your web browser and doing a “Save As” to save the page on your local hard drive. But only do this if there’s no other way around it.
1. Back up your site.
Download all of your content from your current web host. You should make a backup on your local computer plus additional copies just in case—to CDs and/or DVDs and/or a secondary hard-drive and/or an online back up service.
Be sure to get all of the content from your site, for example:
- Web pages;
- Log files;
- Other files from your site that you’d like to keep;
- The contents of any databases; for example, if you use a blogging tool or a Content Management System (CMS) follow the tool’s backup instructions;
- Maybe other stuff: poke around thoroughly in your current account to see what’s there
2. Upload your site to your new host
Remember everything you did in step 1? Now do it backwards.
Upload the files to your new web host, probably using FTP, and set up and restore databases as needed.
If your upload will overwrite existing files on the new host, download copies of those files and save them somewhere safe just in case. You’re probably not overwriting anything critical, but if so you’ll want to be able to revert.
If you’re using a CMS or another database-based application, you’ll need to either create login accounts for the database, or update your configuration files to use the new logins created by your new host.
3. Test
Problem: nobody knows about your HopeSpringsEternal.net account but you. Not only does that mean the world is still visiting your current (awful) evil-R-us.com web host, but you can’t test your new site simply by visiting http://peace-n-hope.org: doing that will just take you to the website files stored on evil-R-us.com. In other words, your world looks like this:

You have an account with your new web host, but nobody knows it has anything to do with peace-n-hope.org.
Since you can’t preview your site using your usual domain name, HopeSpringsEternal.net should have given you an ugly-but-functional URL you can visit to test your website on the dormant host. For example, this might look something like www.HopeSpringsEternal.net/~peace-1/www. You can visit this URL to confirm your website looks good before you make the big leap and tell everyone else about it.
Test your entire site, and spend special time testing anything tricky: for example, a part of your site that reads from or writes to a database, or that collects information through a web form, or that sends email. You could run a program that checks whether every link is broken, but you’ll be safer (and probably feel better) if you manually click every link in the site, assuming that’s practical.
You might have trouble testing some simple parts of the site (like hyperlinks) or more complicated parts (like entry forms) if they redirect you to your current domain name: right now anything that takes you to peace-n-hope.org will take you to your current/old host, since the Internet doesn’t know yet that peace-n-hope.org has anything to do with your new host HopeSpringsEternal.net. Take this catch into account when you’re testing.
4. Leave a Trace
Make some small change to your website and upload it to your new host, but not to your old host. That way you’ll be able to tell when your new host becomes the active host: as soon as you browse to your website and see the small unique change, you’ll know you’re looking at the files on your new host.
Email Springs Eternal: Prepping the New Host
Besides uploading your website files to your new host, you need to prepare it to receive peace-n-hope.org’s email.
Just as with web traffic, right now anyone sending an email to anyt…@peace-n-hope.org is sending it to your old web host, evil-R-us.com. Again, that’s because all of the world’s Domain Name Servers only know about evil-R-us.com, and don’t know yet that you’re about to switch to a new host.
1. Create mailboxes
Before telling all the DNSs about your new host you need to create mailboxes there for all of your peace-n-hope.org email accounts. All good web hosts will give you a nice administrative web page where you can add, edit, and delete mailboxes. The details vary greatly from host to host, but your new host should have sent you information about this when you signed up.
2. Test mailboxes
Once your mailboxes are set up you won’t be able to test them fully: any email you send to your domain name will still go back to the mailboxes on your old host. But your new host probably provides a web-based way for you to check email, so if nothing else you can at least log into your mailbox via the web to confirm it’s set up.
3. Gather connection information
If you plan to download your email from the web host to a mail program like Outlook or Apple Mail you’ll need some information about accessing your new mailbox. This is most commonly done via the Post Office Protocol, which is almost always referred to as “POP” or “POP3”. This information is normally:
- Incoming (POP) mail server name
- The port number for email (110 unless specified otherwise)
- User name
- Password
- Maybe: whether the server requires encryption
- Maybe: the type of encryption it uses
Your web host should be able to give you this information. In fact, if they have an FAQ page you’re almost certain to find help there since these questions are, you know… frequently asked.
Once you have the information it would be an excellent idea to test your email program using the new host, just to be sure everything works as you would expect. You should do this by adding a new account in your email program rather than by replacing your current email account information, since you aren’t yet ready to switch over to the new host for your email.
After setting up the new accounts in your email program, send yourself an email using the new account/host. The email will be routed to your old host, but that’s ok. If you were able to do this it means (1) your email program is able to send mail via your new host, and (2) your email program was able to log in to your new host and check for email, even though none was there yet.
4. Download email
If you’ve been using webmail directly through your old web host, or if you’ve been using an email program like Outlook/Apple Mail but leaving the email on the web host rather than downloading it to your local computer, you’ll want to download some or all of the information from your current webmail account so you can access it later. Consider not only email but contacts, calendar entries, and other notes that your current host lets you save in your email account.
Taking the Leap: Changing Your DNS Entry
You’ve created your account with HopeSpringsEternal.net, uploaded and tested your web files, and created and tested your new mailboxes, so now it’s time to tell the rest of the world that your website lives at HopeSpringsEternal.net instead of evil-R-us.com.
1. Schedule a time
The DNS update process shouldn’t cause significant problems with people reaching your site, but to minimize the risk you should pick a time when your website traffic is low. Maybe you know when this is already, but if not you could review your website’s log files if you have the tools to do that.
You should also take into account when your email traffic is highest. During the domain transition it’s possible you could lose email unless you protect yourself. See the sidebar (“Email Through the Cracks”) for steps you can take to prevent that.
You might want to inform people who visit your site or who email you, though if all goes well they shouldn’t see a disruption. You’d mainly be warning them so they’re braced in case all doesn’t go well.
2. Update Your DNS Entry
How do you update the DNS entry for your domain? In the old days you had to call, email, or sometimes even ground mail instructions to the organization that manages your domain—the domain registrar. Today most DNS changes can be made by the person who owns the domain (hopefully you) by completing a simple web form.
In most cases you can make these changes whether or not you’re formally listed as the domain’s Administrative Contact: if you have the login information for the site, you can make the changes. This can be a significant issue for nonprofits, where turnover in certain roles is sometimes high. But even if the person who registered the domain is no longer with your nonprofit, anyone else working there who has the login information can make the change—even a (trusted!) volunteer or consultant.
Maybe you’re an organizational guru, and just after you originally registered the domain name, you filed away the location of your registrar’s web page and your login information. If so, you’re golden. Make the change at the time you’ve scheduled.
- Log into your registrar’s web site.
- Find a page that lets you edit your DNS entry for the domain.
- Find the place on the page that lists the current DNSs for your domain. You’ll most likely find two DNSs, one primary and one secondary.
- Replace these old DNS names with the DNS names that your new web host provided.
3. Can’t figure out how to update your DNS entry?
If you don’t have login information for the site that lets you manage your domain name, you’ll need to contact your domain registrar for help.
This will almost certainly throw a delay into your domain transfer process, so allow extra time: certainly days, but to be safe a week or two in case you need to resort to old-school methods like ground mail confirmation. If you’re not sure who your registrar is, see the sidebar “WHOIS My Registrar?”
4. Wait
As I mentioned earlier, there are gajillions of DNSs sprinkled around the internet. You’ve specified which two servers are the coolest (most authoritative) for your particular domain, but all of the other DNSs in the world need to gradually get word of the change. So the change you made above really just kicked off a process of information propagating through the Internet to all the other DNSs. Propagation takes a while to complete.
It’s reasonably likely that you and people near you will see the new host within 3–4 hours, but 12 hours isn’t unheard of, and it might take 72 hours before all the DNSs in the Internet are up to date. In the mean time your world will look like this:

Part-way through the update process, not all DNSs will know about your site’s new location.
That means for a while some people will be seeing your old host and some will be seeing your new host.
It also means some people’s email will go to your old host, and some to your new host. Which is potentially ugly: once the DNS update is complete for you, you might not be able to get to your email on your old host any more: visiting mail.peace-n-hope.org (for example) will now take you to your new host. See the sidebar for a tip on dealing with that ugliness.
While you wait for the changes to take effect, don’t make any changes to the site. If you absolutely have to, make the changes to both the old and the new site since both sites will be in use by some people for the next few hours or days.
All Done… Mostly
You’ll know you’re looking at the new web host as soon as you can browse to your domain and see the unique new change you made above (“Leave a Trace”). So now your world looks like this:

All DNSs are pointing at your new host. Goodbye old host!
As soon as possible, do a good re-testing of the site, again paying special attention to the most tricky or complicated parts of the site. If your site produces any RSS feeds, check those too. If something’s wrong, well… fix it.
If you have a local email program like Outlook or Apple Mail, you should update it to start using your new web host. As discussed above, your host should have provided the necessary setup information. If you don’t have it, contact your new web host for help, and in the mean time use your new host’s webmail option. Test your email program by sending a message to yourself at your domain name.
If you’re using Google Webmaster Tools or another web analytics package, you might need to re-verify that the package recognizes your site in its new location. (If you don’t know what I’m talking about, ignore this paragraph.)
Once your new host is live you should leave your account active with the old host for at least a week, and ideally a month. This is mainly in case you realize you’ve left something behind. Once you cancel your old host, your files will become inaccessible.
And once you’ve cancelled your old host account, congratulations!
You’re done!
Other Resources
You might find some of these pages helpful in providing other tips and details.