Website Migrations – Things you need to know!

November 11, 2021   5 min read

Over the years we have built, migrated, changed, updated, and done pretty much everything you can with a website. With the tools available today it is a lot easier to migrate a site than it used to be.

Remembering back to the very early days in 1999, everything was built using tables, when you wanted rounded corners, you had to make an image, and get all the corners to match with the sides.

We did not have CSS, everything was inline. There was no PHP Includes so a menu was duplicated on every page. I still recall one site which we still look after today, though that has been modernised, this site had hundreds of pages, each with a menu, so when we had to add a new link or change one, we had to do a find and replace, then FTP each page up to the server.

So, what does this has to do with migrating a site today, nothing really! We think technology has moved on so much making it far easier. There are however some things that have not changed, the fundamentals and the little glitches that can cause an issue.

Domain Name System (DNS)

Okay so what is this DNS stuff, for many you’ll already know, but many take on the role of building and moving a website who are not technical.

This is an important part of the migration, get this wrong and, well, it just won’t work.

What does the DNS do though? It is the glue that holds it all together. DNS records can be held at a different location to the place where the domain name was purchased, the domain registrar. However, if this is going to be done then you need to change what is known as the nameservers to point at the new DNS provider.

There is a lot to DNS as it holds everything together, but the fundamental part is that it allows a domain name, for example, google.co.uk to point at a computer number known as an IP address (IP = Internet Protocol) 142.250.187.195. To confuse issues, we have IPV4 and IPV6. The latter is not widely used and if the server you are migrating the site to does not have IPV6, then remove it from the DNS record, otherwise, you will have issues.

So, what is happening when you type in a web address?

First, your browser will query your Internet Service Provider (ISP) to see if it can resolve the address to an IP. For very popular sites like youtube.co.uk, this will probably be stored at your ISP. If you open the command prompt (cmd) and type in nslookup youtube.co.uk it will return the IP address, if it is cached at the ISP as it was in my case it will show it first resolving to that cache then show the IP address. Try the following nslookup mobixweb.co.uk, for us it was cached but it may not be for you.

The first thing you want to do before you start migrating any website is to know.

  • Where the Domain name is held, the registrar?
  • Is the Nameserver held here or elsewhere?
    • Then you’ll know where the DNS records are, as you will need to make some changes.
Email

When this goes wrong it can be disastrous. That is not to scare anyone, but there have been horror stories. Many businesses do not look at their website daily, so unless someone mentioned the site was down, they would not know, unless it is a transactional website.

One they do notice is when the email stops working, but why?

Well, email is a major communication channel and when it goes down, emails don’t get delivered, can be bounced back to the sender, meaning you may miss an important mail. For the user this is normally the first indication the site is down. (Not true is you host your email separately from your website, more on that in another article)
What does migrating a website have to do with this?
It is important before you make any changes to understand what is happening within the DNS. Where each record is pointing to. The DNS does not just look after the record pointing the name to an IP, it also looks after many other functions one is the email records (MX) as well as other associated records.

With emails, you need to check the following.

  • Is the email account an Office 365 (Microsoft account)
  • Or Google account and not a Gmail but the paid email service.
  • Is it held with any other paid provider?

If it is any of the above and you are changing the nameserver on the domain then you need to ensure you copy all these records and insert them into the DNS record.
Is the email address currently held in the same location/server as the website?
If yes, well this is more of an issue as you will have to migrate the emails from the old server to the new one, then reconfigure the clients’ email clients and phones to connect to the new service. It is a headache you can do without.

We have had the horror stories though of this not being done and the client losing access to all the emails. This is a major issue as it can cause a company some real problems, to the point of closing. It is your responsibility as a professional to make sure this does not happen.

Compatibility
This is a simple one, but it has bitten a few. Make sure the server you are moving the site across to has the required infrastructure to run the site. In the past a few sites were running on the older PHP version of 5.4, version 7 has a lot of breaking changes so will not run correctly.

Most servers will be fine as they are all very similar, it just helps to make sure that there will be no compatibility issues.

Backup

Always make sure you have a backup of any databases and files, this is something that should happen regularly, but when it comes to migration, especially on a transactional site. The best way of doing this is, if the software allows, place it in maintenance mode, take a backup of the DB and then carry out the migration. If you are moving from Plesk to Plesk that has a great migration tool that saves a lot of hassle. If it is a WordPress website there are some great tools to allow you to quickly migrate this is one such tool Migrate DB Pro

All migrated, now test it
Great so you’ve migrated the whole site, now test it. Visit each page if you can, make sure all the links still work, if it is a big site use a link checker. Check it has not lost any of its formattings, that the style is still correct. If it is a transactional site run a payment through it. If it has contact forms make sure these still work.
Does the site auto redirect to HTTPS from HTTP, have you checked the analytics package is working correctly?

Pop over here to get a helpful checklist for migrating a website.