Cardinal Path’s response to COVID-19 Cardinal Path is sharing all we know to help marketers during COVID-19.  Learn more.

At some point everyone realizes that it’s time for a website migration. Moving to a new platform can open up opportunities for further development, and help fix the perilous mish mash of old and new technologies that a website develops over the years.

We recently relaunched our website, moving the entire thing over to Drupal. Half expecting the kind of horror stories that econsultancy reported, we nervously checked and double checked all of our SEO factors. With enough planning and care we managed to achieve very little drop in organic traffic.

Here’s the steps we went through to maintain rankings while migrating our site to Drupal:


Perhaps the most important part of your site migration. Writing your 301 redirects keeps links pointing at your pages, users reaching your content, and your rankings from plummeting through the floor.

If you don’t know anything about rewrites and redirects I suggest you read our post on 301’s.

Drupal modules pathauto and path redirect can also help with this.

Title tags & meta descriptions

Title tags were considered the 4th most important ranking factor in seomoz’s top 5 ranking factors of 2009, and Meta descriptions, while not as important, play a role in convincing users to click and/or qualifying them for conversion. So naturally being able to define both are a key factor in choosing a CMS.

This is actually a pretty common problem. Even Drupal had poor page titling, requiring your on-page H1, page name, and title tag to be the same. Fortunately there’s a great plug-in called Nodewords which allows some pretty powerful page titling options and meta tag creation.

URL structure

Are you changing your URL structure? If so are you going with a flat site architecture or a folder-based site architecture? And can your chosen CMS support them?
Static URL structures are all the rage, in no small part because they allow you to embed keyword and avoid duplicate content issues from URL issues such as session IDs.
Some quick guidelines for URLs:

  • Keywords in the first 3-5 words: Cutt’s himself says that Google weights words beyond the fifth as having less value.
  • Upper/Lowercase: URLs are case sensitive. Maintaining a standard for upper and lower case URLs can save you a lot of headache down the road. We went with entirely lowercase URLs. Further, though this might have been because of a redirection module, we found that Drupal would treat upper and lowercase URL’s as the same (redirecting one to the other) which produced duplicate content problems. Fortunately we caught these before launch.
  • Word Separation: How are you separating words in a URL? Dashes have a slight advantage, since Google does them as separate words, according to Search Engine Journal.

Is it crawlable?

Most sites use menuing systems made from HTML and some server side coding. Any that use JavaScript or Flash could cause problems (I say ‘could’ because Google can index JavaScript and Flash now, and while poorly made menus can cause problems, well made ones shouldn’t). Most CMSs are (or should be) completely capable of having search engine friendly menuing.


Have one. They’re easy to create, and help make sure that bots can find any new content that you add during your move.


Don’t have them. Before launch run something like Xenu Link Sleuth to make sure that none of your inner links are 404ing. This also helps since it lets you see what your title tag and URLs are, picking out anything that fell through the cracks earlier in the process.

Once you launch you can also use something like our tracking 404’s with Google Analytics technique to track what 404’s are left, but that’s a topic for another log post…

There you have it. I am sure there’s more you could do (there’s probably more our SEO team would have us do), but this helped us minimize our organic traffic loss.