a public resource for all things web hosting, systems administration, and dedicated server management.

A process for web hosting migration of large numbers of websites

Migrating a website from one hosting company to another is part of the daily routine at any sizeable web hosting company. Once you've performed a few it's a straight forward process. Migrating a few hundred websites on the other hand can be a more challenging task whoever you are.

This article looks at some different approaches to moving large numbers of websites from one hosting environment to another as well as delving into the finer details of the steps involved.

A few definitions to start with for terms that will be used frequently in this article:

Whilst on the point of definitions we'll define our scope as well. In many cases websites, email and dns services are hosted together or with the same provider. In this article we'll only be dealing with migration of website and dns services in depth. Whilst email migration is most often a part of the migration process it's a big topic that we'll tackle in another article.

Use case scenarios

Before diving into this topic it's worth considering why a large scale migration may be required so that we can understand some of the constraints that the discussion and guides below are attempting to work with.

By large scale website migrations we are specifically referring to relocation of a large number of websites as compared to moving a single large website (which would just be a slightl expansion on our website migration process article).

People that have large numbers of websites to migrate are generally limited to website design firms that provide web hosting services to their customers and hosting providers or ISPs themselves.

Some possible reasons for moving:

The original hosting arrangements will define the options which exist for migration:

  1. Websites are hosted under a reseller plan or some form of shared hosting in which the client does not have control of the server and root access cannot be provided. Websites may or may not all be hosted in the same place or with the same company.
  2. Websites are hosted on a server (either in an office or a data centre) that is dedicated to the client and which they have full access to and control over.

Major challenges associated with large scale website migrations

It's worth taking a look at what we consider to be some of the major challenges in large scale website migrations to help you identify some of the issues that you will need to consider:

Possible approaches to large scale website migration

One at a time

Moving a large number of websites one at a time is a very flexible approach but also very time consuming.

Moving a large number of sites one at time is obviously simply a repetition of a single site move procedure. The major difference between the two (aside from the time of course) is the need to maintain very accurate records for the status of the migration tasks for each of the websites being moved. This becomes important as each site will take time and in practice the people performing the migration tasks will be constantly working on multiple sites concurrently as they wait for responses from clients, completion of testing, DNS propagation etc. The risk of steps being skipped, tasks forgotten, response missed etc is increased.

All at once

Moving everything in one hit can be fraught with risk not to mention nerve racking. There are some very solid reasons for this approach though as described below. If you are able to get past the constraints associated with this move approach the biggest advantage on offer is that can involve significantly less time to complete than a "one at a time" approach.

Generally if all sites are able to be moved at the same time the interaction with the end client or owner of the website will typically be much lower if anything at all.

Reasons this approach may be required:

  1. IP address constraints It may be possible and highly desirable to maintain the same IP addresses on the old and new infrastructure. If the migration is occurring across infrastructure within the same network provider (for example migrating from co-location to dedicated servers or vice-versa with the same hosting company) it is often possible to keep the same IP address. A major motivation for the "All at once" approach will be if there are many references to the existing IP addresses which are not directly controlled (Eg external DNS, hard coded IP address in third party applications, IP specific source/destination firewall rules). In such cases the new infrastructure can be prepared on alternative IP addresses and at cut-over time the original IP address is simply moved across, eliminating the need for DNS changes and so forth.
  2. Common dependency constraints The nature of the way in which the websites have been developed in some cases may make it difficult to have a varying numbers of sites operating from varying locations across the migration period. This may be due to a shared code base or common database backend etc.

Pre-requisites for an all at once approach to migration:

Core components of a large scale website migration plan

Since every migration is very different there's no sense in trying to provide a generic one size fits all migration plan. We can however put together a series of modules from which we can draw upon to produce a custom migration plan.

Existing infrastructure analysis

For controlled infrastructure the existing configuration should be analysed to ensure there is a clear understanding of the starting point. Including:

Confirm viability of proposed migration

Before any significant amount of work is carried out on the migration it is prudent to ensure that it will be possible to complete the process within both technical and financial limits. This should include consideration of:

Migration tracking register

Migration of a large number of websites will inherently involve a multitude of tasks and independent websites. To complete a successful migration a mechanism must be in place to track the status of all migration tasks. As the process will almost always involve multiple people, use of a format which promotes collaboration such as a wiki is recommended.

At the start of the migration process the information that is to be tracked should be identified and template for the register created.

Rollback plan

Any change to a live system has its associated risks. A roll back plan for any changes which have the capacity to effect any live service should be in place for the migration project. Importantly:

Identify sites/applications being migrated

Create a list of the domain names which have services that are to be migrated. This list should form part of the migration tracking register identified above.

For controlled infrastructure, extract lists of the following:

For non controlled infrastructure:

Validation of list of actively hosted sites

Check the accuracy of the list created above using an automated script. The script should check for each domain name that is to be migrated that the relevant addresses (Eg www or mx) are pointing to the IP address or range of IP addresses which are used as part of the original web hosting infrastructure.

This automated check identifies sites that may have been moved away without notification to the provider. There is no value in migrating services which are not active.

Identification of DNS services

Similar to above, a script should be used to identify and validate the name server settings for all domains to be migrated. This information should be incorporated into the tracking register.

Sanity check of server configuration

From the information collected and vetted above a sanity check should be completed to ensure that both the correct services and required services are being migrated. This should consist of the Client manually auditing lists of user accounts, domain names etc produced above to ensure accuracy.

DNS migration

If DNS is to be migrated as part of the process it should be performed at least 1 week prior to migration of any other service. If DNS is currently not controlled by the client but it is to be, this is of particular importance.

DNS migration should occur as follows:

Server security

Web server configuration

Database server

Mail server configuration

In most migrations consideration will need to be given for the way in which email is dealt with. As previously discussed mail server migration will be dealt with in a separate article, suffice to say it will need some attention in the migration plan.

User account configuration

Initial file system data replication

Website statistics

If Website statistics which are generated from server log files are in use, consideration should be given to the effects of the migration on these.

Testing testing testing and more testing

With file system data copied over and snapshots of databases imported, initial testing should be carried out on the migrated sites.

Items requiring caution whilst testing:


See also:


Did did you find this article useful? Then See also articles on: Web hosting support, dedicated server administration and useful hosting tools