Over the years I think I have migrated about 30 sites (normally to different CMS platforms) and there are always unique issues involved in every migration. Although each migration is unique there are some common issues that need to be addressed in almost every migration:
1. 301 Redirects
Unless you are just moving a site between two server and using the an identical platform it is likely the page urls will change which means that all inbound links and search engines will be looking unsuccessfully for the old page urls. A 301 redirect from the old page to the new page is the method all search engines prescribe for switching page urls.
In Apache this can be done in the htaccess file or each of the old pages can have a 301 redirect header to point to the new page (this is the only method available of ASP.NET sites).
2. Prevent Pages from Being Indexed on the Staging Site
Before the site goes live the content will be migrated to the new location and there will be testing of the new site which means it will be visible on the internet. Whilst it needs to be visible for testing you will not want search engines to start spidering your site and attempting to index the content under its testing url. The testing url is typically not published anywhere but search engines always seem to find new site – for example when you are communicating with other site workers or freelancers sometimes they will put a on a forum.
Simply add a robots.txt file to the root of the site with the text :
User-agent: *
Disallow: /
This will prevent any indexing, but be sure to remove this when the site goes live.
3. Communicate with Site Users
If the migration is accompanied with a redesign it is usually obvious that a migration has occurred but you should always inform site users of what is going on with the site that they visit. Normally a notice on the site, email, and twitter notification is best. Try involve site users as much as possible to make them feel more engaged with the site and also help in the trouble shooting – ask users to let you know about bugs or usability issues and maybe run a small competition with a giveaway.
4. Watch For Errors
Regardless of your testing, there will be errors once your site goes live. Firstly, an error landing page should be made to let the site fail gracefully and also encourage users to communicate with you if there is a persistent issue. Bugs should be tracked, normally through a bug capturing database but just looking at site logs can be sufficient for simple content sites.
Once the live is live you should also closely watch the site’s response time for indications of site issues or problems with the new host. Pingdom is a good tool for this.
5. Backups
Backup the entire legacy site and include everything that is required to recreate the site, database, config files, web pages etc as you may need to reestablish the site later.
6. Image / File Links
Most migrations will involve a change in directory structure so images in the pages and links to files or downl0ads will need to be changed. A migration is an ideal opportunity to host all images and files with a CDN.