Find a new host and don’t rush into anything.
Assuming you haven’t committed to a long-term hosting contract you can start looking for a new host at any time. When you are ready to move, don’t rush to give your money away only because the host’s website looks trendy or they are having a promotional offer. Instead, be sure to do research at places like DNray.com and internet forums. Another good indicator of a host’s credibility is to check out the type of clients they are hosting. Be sure to check that the host’s IP addresses are not listed on Spamhaus, SBL, and other blacklists to avoid dealing with a company that hosts spammers. DNSStuff.com has great tools for verifying that a company’s IP addresses are clean. To get the company’s IP address, you can usually just ping their website and use that IP address in your research. If the host’s IP’s are blacklisted, chances are your outbound e-mails from your e-commerce store won’t ever get to your customer. Your e-mails to your customer will probably never make it either.
Make a full backup of your existing system.
You should be doing this at least a few times a week already, but if you haven’t now is the time to make a backup. This means that you should segment your backup checklist into the following categories:
- Downloading all your source code from your web directory to your local computer.
- Making a MySQL dump from your current host, using the command line or the backup tool in phpMyAdmin.
- Don’t forget to export or save your SSL certificate if you have one. You should backup all associated SSL files, particularly the “csr” and “key” files, otherwise you may have to pay for a certificate all over again.
Take inventory of installed modules, plugins, and extensions.
Having the right plugins is just as important as having your data and there is a possibility that your application may not work if modules like curl, gd, imagemagick, and other popular PHP extensions aren’t installed.
Open an account with the new web host and install your application.
In this step you should upload all your source code and import the database to the new host.
- Upload your files and import the database. Make sure the permissions of the folders on the new host match the permissions on the old host (i.e. 777, etc.)
- Make sure to save all the login credentials about your new host in a secure place.
- Modify your configuration files to point to the database at the new host provided in the control panel or your welcome e-mail.
- If you have an SSL certificate which needs to be installed, do it in this step. You may get warnings about the domain and the certificate being invalid, that’s alright because you haven’t pointed your domain to the new server yet.
Test your application until you feel comfortable that it works properly.
Check things like error logs to make sure you aren’t missing any modules. If you are, refer to the initial plugin list you made and install or request the extensions before switching over to the new host. If applicable, make sure to place several orders to confirm that your shopping cart works.
Setup your e-mail boxes on the new host.
If you are using Gmail as an external MX server this step should not affect you. Otherwise, add all the e-mail accounts you need, set the passwords, and store them in a secure place. You should also test e-mail connectivity by specifying the IP address of the POP/SMTP server of your host to make sure you can send and receive e-mails.
Set a switch-over date and time and make sure your team is available for the migration.
This step is an important planning step because it prepares you and your team for the transition. By setting a firm date and time you’ll reduce your cost, time, and stress because you won’t be running and searching for people on a Friday night.
Point your DNS to the new host’s DNS servers.
If you’ve switched hosts in the past, you probably already know that this is done through the registrar of your domain name. In some instances this can be your old hosting company, but more frequently it’s GoDaddy, Register.com, 1and1, or others. Don’t forget to take into consideration that DNS settings take time to update. In light of this, you may want to replace your default page (like index.html or index.php) to point directly to the new IP address. Alternatively, update your default page to say that the website is currently down for scheduled maintenance, or if your website has no backend database, leave the old website up and running so the transition is seamless for your customers.
Test your site for a week on your new host before terminating your old plan.
Although you may pay for an extra week, the wait is well worth it in case something goes terribly wrong. Confirm that the site is running properly and without error for up to one week. If you run into problems or things start to break, you will be able to move back to your old host immediately so that you do not experience extended downtime.
Cancel your old hosting plan.
Some will argue that this is the easiest step in the process, however, you may prove them otherwise. Like any other establishment, hosting companies don’t enjoy losing customers even if they are at fault. Don’t fall victim to extended sales pitches such as:
- “We’ll give you an extra month or two for free if you stay with us.”
- “We’ll waive your previous balance if you stay with us.”
- “Hold on a minute, my manager says I can upgrade you to a better plan at no extra charge if you stay with us.”
If you still have doubts make sure to remind yourself of all the reasons you are moving hosts: terrible support, constant down time, slow network, packet loss, billing issues, bad hardware, takes forever to set up an account, etc.
Summary: Be skeptical of anything a new host promises you. Larger hosts may cost more money and may care less about losing your business. On the other hand, they may have better support infrastructures, equipment, personnel, and networks. If you aren’t sure about which host to select visit www.DNray.com to view a list of certified web hosting providers. Have a website that is complex or do not know how to perform the migration? We recommend hiring an independent professional like Dan Khasis at www.dankhasisllc.com to assist with the move. Dan is available 1-212-201-0714 for a free 30 minute consultation.