How to Migrate Your Site to a Different Host

Nearly every week we get requests from organizations that want to move their web site to our service. For most people this is a mysterious process and we end up answering the same questions over and over. This post is an attempt to explain the process of site migration, not to our hosting necessarily, but from any system to any other.

Why move?

There are many reasons why you might wish to move your site from one hosting service to another. The primary reasons for moving are cost and level of service. Many hosts do a wonderful job on the front end luring you in with low prices and/or extraordinary claims such as 100% up time or unlimited bandwidth. But once they have you, sometimes service drops off and support requests go unanswered. These companies can get away with this because for many site owners moving from one host to another can be a confusing process so they are willing stay with an unsatisfactory hosting company rather than take on the task of migrating a site. The problem, of course, is finding a reliable host to begin with.  That’s subject for another post altogether.

The Steps Involved

Let’s say you have found another hosting company you believe you would like to work with. While for most sites moving hosts is not a difficult process, there are several steps involved. These steps should be taken in the following order to minimize any disruption of service:

  1. Confirm the new service supports your web site’s needs. For example, if your site is managed using Cold Fusion scripts or ASP or PHP, be sure your new host supports these services.
  2. If your site uses one or more databases be sure you understand the process for migrating your database. This can complicate the issue as an Access database will typically have a different structure than a SQL database. You should check with your web developer about this as he/she will probably need to support this migration if databases are involved.If you are simply moving a MySQL database to another MySQL database, then the process is pretty simple if you can use a tool like PHPMyadmin. With this web based interface to a MySQL database you can simply export all your data from your original host and then, once you have set up the database on your new host, import it. Many hosts now have this pre-installed as part of your hosting control panel.
  3. Gather information about your hosting account regarding what needs to be migrated besides standard web site files and databases. For example email accounts (including usernames and passwords), mailing lists, etc.
  4. Be sure you have full access to all files and data on your current host. This means File Transport Protocal (FTP) access and any database access if necessary. Download all files and data.
  5. Be sure you have control over your domain name and can access the account where your domain name is registered. If you’re not sure what this means you might want to review this previous post on domain name registration basics.
  6. Create the hosting account on the new host server. You should receive new hosting account access information once your account is created. Don’t lose this! In our case we send out a ton of information in our welcome email. You may not need it all, but most will come in handy when you have a question about the service.
  7. Upload your files to your new hosting account. If necessary create any databases and import any data to the new databases.
  8. If you have scripts that connect to databases these will have to be reconfigured to match the new databases access information.
  9. Once everything is uploaded and imported test your site at the new location to be sure everything works properly. You new host should give you a web address where you can test your site before your domain name gets transferred.
  10. Create any domain name based email accounts at your new hosting service. If you don’t have a record of the passwords from the original accounts you will need to make sure your mail clients (Outlook, Outlook Express, Mail, Thunderbird, etc.) are updated to match the new passwords. Hosting companies often have different requirements regarding how email is accessed. Be sure you understand how to configure your mail client or you will get frustrated once your domain name is transferred to the new host.
  11. Login to your domain name registrar account and change the Domain Name Servers (DNS) to point to the new hosting service. This transition can happen very quickly in most cases, but can also take 24-48 hours to propagate throughout the Internet. Because of this potential lag time it’s possible some people who send you email may have their messages routed to the old host while others will have their messages routed to your new host. It’s best to time the DNS switch when email traffic would be the lightest. You might also be able to retrieve any latent messages from your old host by accessing their webmail system. This depends on how their webmail is set up. You might want to check in to that before you start the migration process if missing even one email would be of concern.
  12. Wait until you are satisfied you have all data from the old host and only then cancel that hosting account.

If you are not clear about any of these steps, be sure and consult with your webmaster and/or new hosting service provider for assistance. For our part we often help small sites move at no cost. If your site is database driven, has an ecommerce component or other more complex issues are involved, the migration can become more complicated. While these steps may seem complicated, they are really not for an experienced host or web developer. Don’t let them discourage you from moving to a system that offers better service, support or value.

Saving the Web, One Site at a Time

Once again we have found ourselves working to save some web sites abandoned by their developer. What’s going on out there? Bad code, bad business practices, bad choices, really bad communication. Is it time to turn web development in to a real profession with standards and certification like doctors and lawyers and contractors? I don’t know. I certainly don’t know what the mechanisms are for creating such a system. And I certainly don’t mind helping people clean up after the mess they made (clients are always somewhat at fault in these fiascos one way or another).

But maybe there’s a market out there for salvaging sinking web projects after all. I half facetiously mentioned this in an earlier post. One commenter suggested that there is no guarantee the fixer would do nothing more than make matters worse. Of course, that’s true of any profession.

Sometimes these salvage projects have more to do with hosting services than development so that stretches into another service that may need some regulation or certification. How do you know if a company is trustworthy until things start to go really wrong? And most site owners do not have enough technical understanding to  discern a quality service at a good value from one that is not.

On a whim I registered (for web emergency medical technicians) and stuck Drupal on there. No content yet. But it’s a whim. I’d love to hear what anyone else thinks of this idea.

Email Communication Can Suck

Yesterday, wearing my web hosting service provider hat I sent out an email to the main contact for each hosting client. My attempt was to update each client regarding a change in policy regarding invoicing and  payments. The policy change really would only affect 2% of all clients. But I thought it fair to inform everyone. I also felt I needed to put the policy in to context by explaining why I felt the step necessary (it had to do with actually implementing an already state policy of suspending delinquent account after a rather long grace period). Unfortunately, I think because I personalized the message by letting the email software insert each client’s first name in the salutation, I had many clients believe I was addressing them personally, setting off a bit of a panic. I had to respond to a fistful of worried email messages and phone calls. Eventually, I felt I had to send out a follow up message apologizing for the confusion.

The thing is, I spent days crafting and thinking about that dang emai (except for the first sentence which I injected at the last minute and so contained TWO TYPOS!! I thought it was clear and thorough, so I was really taken aback by the response. Usually, email goes to one or maybe two people (unless you’re in the habit of forwarding jokes and rumours to your address book). So, when you make an error in your message and it goes out a whole host (pun intended) of people, the reaction can be rather, uh, disconcerting.

I think I have learned some lessons: 1) You can’t be too careful when crafting an email to a big list of people, especially clients; 2) No matter how careful you think you are being, don’t have a stroke when a bunch of people make it clear that what you thought you were saying was really something else; 3) Keep smiling!

Yahoo Mail Issues

Running a web hosting service can be frustrating, especially where email service comes in. A web server with a bunch of shared virtual domains can mean hundreds of mail users passing email through the server throughout the day. On top of that, the server has to deal with 10s of thousands of spam messages per day. When I bother to look at the statistics about 80%-85% of the mail that hits the server is spam and the overall amount seems to grow weekly. Controlling spam takes a huge amount of resources from servers.

Some mail services have started taking extraordinary steps in an attempt to handle the spam issue. Apparently, one of them is Yahoo Mail. Unfortunately, for their users (anyone with one of those free accounts – I have one) their policies mean that email may be delivered only after long delays or sometimes, not at all.

It’s difficult to explain exactly what they are doing, and I only became aware it recently when a couple of my customers started complaining about lost or long delayed email going to through our mail server. I started looking at our mail queue and Bahoo!tracing what was happening to email addressed to people at

Time and again certain messages going to certain addresses were getting delayed error responses from  This has been going on for quite some time as I discovered at this forum thread. A casual Google search finds this is a widespread issue.

What’s really frustrating is that it seems totally capricious. Some messages get delivered immediately. Others get delayed. If I force a particular message that is stuck in our mail queue, it may get delivered, or it may get delayed. But sometimes if I do it a second time it will go through. What kind of a system is this? Repeated attempts to get through to Yahoo support have ended only in canned responses and no resolution.

If email continues to get delayed, eventually it will get deleted from server mail queues. So, unfortunately, mail users may not even know how much email they are missing.

As a result of this, I recommend no one rely on accounts for anything critical. Switch to gmail on hotmail or something else. Given this situation, not ISP or web host can guarantee delivery of email.