There always tends to be a little bit of an “us vs them” attitude between SEOs and developers. A lot of developers think SEOs = spammers and a great deal of SEO’s don’t understand enough about architecture, language and data structures to have a meaningful conversation about development. So when things do go wrong it’s very easy to point the blame at the other party.
The aim of this post is to hopefully bring us a little closer together and provide a checklist for a site migration, if you avoid these issues you will go a long way to not destroying your clients search performance followed by that dreaded phone call. I personally consider these to be in the remit for both developers and SEOs and they should definitely be checked on the testing environment.
This is a major one and the one that is so easy to avoid. When you copy the files from the test environment to the live environment it’s too easy to include all files. Make sure you check your robots pre and post launch and then follow up by checking Google webmaster tools for an increase in crawl errors due to robots.txt for the first week of site launch.
This is an easy one to get right if you are thorough and are prepared to test. You should test this first on the test environment. Grab a list of URLs linked to from Google webmaster tools, then change the live domain with the test domain and visit that URL. If you get a 404 then it’s clearly not implemented correctly. Configure it so that your old content goes to the most relevant new content and if its no longer on the site redirect to the home page.
One of the most frustrating things to find is that the development agency has used 302’s instead of 301’s. 302 is a temporary redirect and will mean that the link juice won’t be transferred. This is especially prevalent in Microsoft asp and asp.net where the Response.Redirect() function is actually a 302. Again easy to rectify but super important to do so.
I know this is starting to sound like a redirect only post but it is super important to get it right. Multiple 301s result in lost link juice therefore if you have a number of conditions for redirection ensure that you create a string variable execute all the conditions you need against that variable and then redirect. Redirecting each will result in multiples that will slow response speed, annoy crawlers and devalue inbound links
This is somewhat more rare but I have seen a site go live with test meta robot directives that deny access to crawlers.
Mixed case URLs cause canonicalization but in extreme cases I have seen that the menu structure has not rendered correctly resulting in all the deep pages on the website being invisible to Google. This can be set up easily in the URL rewriting module of your website. Again Microsoft tech sites are usually more susceptible as they are not case sensitive like Linux based technologies so it’s another thing to check for.
This is a major bugbear for SEOs as it’s saying to the engines that every page on the website has got the same content. It’s a killer for crawling and ranking and can destroy any rankings that you may have had before.
There are a huge number of great posts about the use of rel canonical but the short story is that it’s a directive that tell the engines that one page is the same as another. The major issue here is that if you set the rel canonical tag to be home page for every page in your site, you destroy the chances of ranking for anything except the home page. Another good one to avoid.
I am sure there are a great deal more common issues that SEOs have run into so please leave them in the comments!