How to Redesign your Website Without Losing Your SEO
As many of you have already noticed we just re-designed our website :), we did this for several reasons, the most important being that we needed a new look! Our old site was beginning to look a little stale for our taste so we decided to re-vamp the lab. Now for most people a website re-design can do a lot to increase conversion rates and lower bounce rates, but if you don’t do it correctly you could end up losing your precious SEO rankings and losing major traffic as a result. This was clearly a concern of ours as we are currently working to optimize our site for several local keywords. So we made sure to follow all necessary steps and we didn’t lose any rankings whatsoever and it worked! We successfully replaced our entire website with a brand new install of WordPress with a brand new theme without one drop in rankings for all our target keywords.
Here are the steps we followed to ensure our SEO efforts would not be lost:
(NOTE: this process details replacing a new wordpress install, but the main points are still relevant for any website/cms)
Step 1: Develop your new site in an environment that Google Cannot Crawl
This is a step that many people overlook, but can have pretty catastrophic effects on your rankings even before the new site has gone live. In our case we installed a new WordPress on the extension /v2, we then added the following text to our /robots.txt file:
Now what this does is tell Google not to crawl our new site while we develop it, unfortunately this doesn’t always ensure that your site doesn’t get crawled (and a lot of times it does actually get crawled). So we must also add the following code to the <head> portion of the Header.php file of the wordpress theme you are using for your new site
<meta name="robots" content="noindex" />
This should ensure that your new site is now crawled during development which is very important because if Google sees duplicate content on a bunch of new pages on your site you might get hit with a penalty before you even finish the new site :/
Now if you are using WordPress to develop your new site I would also highly recommend you use Under Construction plugin on the development site so that peering eyes don’t get to jump on your site (Note: DO NOT use this plugin with any kind of a WordPress Caching Plugin like WP SuperCache or W3 Total Cache as it is a huge pain to get rid of it if you do)
Also – Be sure to remove the no index meta tag to your site once you have successfully launched your new website.
Step 2: Find out which pages on your site are ranking and indexed in Google.
Firstly finding out which of your pages are ranking in Google is not a very cut and dry process and there are several tools that help with this process, namely Google Analytics & Google Search
Let’s Start with Google Analytics:
First Make the Dates in the top right as far back as they go (we started in November 2011 and went to July 1, 2013)
Then Goto Content>Site Content>Landing Pages and it should look something like this:
This is going to give you a list of all the pages that people have landed on your site coming from Google search, note all of these urls and start collecting them in a spreadsheet as they will be used for possible 301 redirects in the future.
Now on to Google Search:
Now we’re gonna do a site search in Google to see all the pages on your site in their index, goto Google.com and type this:
with “www.yoursite.com” obviously being replaced with your site’s url
That will return something like this:
This is going to show you every page Google has indexed of your site, note all of these and add them to your spreadsheet , a lot of these urls are already going to be on your spreadsheet from your earlier Analytics research so you can just add any that weren’t on that list and skip over those that you have already noted.
Step 3 – The Spreadsheet
Now that we have gathered all URL’s that are both indexed in Google and are bringing your site traffic we are going to need to make sure that every one of those are redirected to the relevant page on your new site and we can start adding those new URL’s to our master spreadsheet leaving us with something like this:
We are going to use this spreadsheet to ensure that all of our indexed/ranking URL’s in Google are redirected to the new page after the site is redesigned.
Step 4 – Re Creating the Old Ranking (And Non Ranking) Pages on the New Site
So now that we have our new site being developed in a Google Free zone and we have also gathered all the important URLs on our old site we can begin to recreate the pages on our site that are ranking (and not) so that when Google re-crawls our site they won’t find huge differences in tags or content that might cause them re-assess and drop our sites rankings
The first step I did was export all Blog posts on the old site (This part is unique to wordpress or other blogs/cms) I did this by going to the WordPress Dashboard and finding Tools>Export and selecting Posts and downloading the xml file that resulted. I then went to the Dashboard on the new site and went to Tools>Import and imported that xml file, putting all my old blog posts/comments on the new site.
Now Ideally I would follow that same process with the pages on my old site but because of the fact that the pages on my old site were formatted with a bunch of shortcodes unique to the old theme and because of the fact that the images were all in the old media gallery I decided to simply recreate those old pages using the new themes shortcodes and re-uploading all the images to the new site.
While I re-created the pages on the old site I made sure to keep the site extensions, content, title tags, & meta tags EXACTLY the same as they were on the other site.
So if I had a page on my old site that was /seo-company with the title tag “seo company”, the extension on the new site for the same page was /seo-company with the same title tag “seo company” I also made sure that the content and meta tags were exactly the same so that the pages would be almost indistinguishable in Google’s eyes.
To ensure that was the case I used the “All in One SEO Plugin” and just copied and pasted all tags from the old pages to the new pages.
Step 5 – Backing Up Everything
Before we begin the process of actually replacing the old site with the new site we get to one of the most crucial parts of this process – BACKING UP ALL OLD AND NEW FILES. This is a step that no one should ever look off when building a new site as it can rescue you from any mishaps that could happen along the way. In WordPress this means backing up the database for both the old and new site as well as downloading all the site files for both sites. So Now that we have the new site totally developed with the same pages, content, meta-tags, url format, & title tags as the old site we simply need to replace the old site with the new one.
There are several ways to get this done, if you are using WordPress, you can create a new database in MySql and then importing the database from the new install into the database we just made in PHPMyadmin. We then just need to change the wp-config file in the new site files to reflect the new database information and we are ready to upload our new site!
Step 6 – Going Live & 301 Redirects
Before we delete the old site files in our server and replace it with the new ones we want to make sure that we have the correct 301 redirects in place in case any of our pages have changed names in the process. This is when our big spreadsheet of old and new URLs comes in place. Let’s pull our spreadsheet up and start writing some 301 redirects.
Now if you are using WordPress there are 2 options for you, my favorite option is the redirection plugin which looks something like this:
As you can see you can very easily add redirects from old URL’s to the new ones using this plugin and that is why I use it :). If you do elect to use this option you would first delete all your old site files (after backing them up of course), then simply upload the new site files and add the necessary redirects with this plugin (just don’t take too long, you don’t want Google to crawl your site with the redirects not in place).
If you are not using WordPress, or you just wanna do it the old fashioned way then we will be creating a .htaccess file to write these redirects. This is done by simply creating a new file in your favorite text editor and beggining to add the necessary redirects in this file using this format
Redirect 301 /oldpage http://www.yoursite.com/newpage Redirect 301 /oldpage2 http://www.yoursite.com/newpage2
Once you write all the necessary redirects save the file as .htaccess (no file extension) and save it in the root folder of your site.
So Now that you have recreating all pages on your site and you have set up the necessary 301 redirects, you can delete all the old files and upload the new site files with the .htaccess in the root folder. (if you don’t see the .htaccess folder in your explorer you should be able to see it in your FTP client because it is by default a hidden file type)
and Ta Dah! you now have a brand new site design with all the same SEO power and clout as your old design, but without the high bounce rate 😀