WordPress
Article

Lessons Learned from Migrating 1,000 Blog Posts to WordPress

By Sal Partovi

A corporate blog is a major cornerstone of any digital marketing strategy, right alongside the rest of the website, analytics, and of course email marketing.

Spinning up a blog is a crucial first step for many organizations looking to increase their profile and attract more customers with content marketing. Today there’s a flurry of blogging platforms to choose from, many of them free to start, that can help kick off the process and turn even the smallest business into a powerhouse content publisher.

But what if your company already has a blog?

And what if that existing blog, and the platform it is run on, has been around for a decade?

This is the story of the team that inherited a ten-year-old blog and migrated it to a new platform to redesign the entire user experience, juice up organic search traffic, and keep content writers from throwing their laptops out the window in frustration.

Time for a Change

I joined Campaign Monitor a year and a half ago to run digital marketing.

Campaign Monitor provides an elegantly simple email marketing platform for growing businesses. I’ve always been a huge fan of the product and team and was thrilled to be given an opportunity to be a part of it. The team has a rich and long history of blogging dating back to the early 2000’s. As a digital marketer, this is an amazing asset to inherit. Half of all of our content page views each month are attributed to our insightful blog posts on email marketing.

The flip side of inheriting a long-standing blog was inheriting a decade-old blog infrastructure. That part was a little less fun.

Our marketing team was growing quickly and we needed a modern content platform that could keep up with the scale of our content production. Our old blog infrastructure was incredibly difficult to use. Each post required a multi-step process of coding the pending blog post in HTML (most of the team used Dreamweaver to begin the process of publishing a final draft) and then copying and pasting into our platform for publishing. Any slight misstep in the coding phase had the potential to completely destroy the published post. This was a nightmare for our content team. Our content team is happy when they’re writing – not coding. Even when we did finally manage to publish a new post without issues the final product wasn’t SEO friendly or optimized for search. Our content production was the equivalent of pouring high-octane jet fuel into a rusty bicycle.

We owed our content team something better.

Campaign Monitor Old Blog

Given all of the pain we were experiencing we desperately needed a new blog, rebuilt from the ground up. Thus the “modernize our blog” project was born. This project would require some key internal alignment across a number of teams, including executives, product marketing, design, web development, operations, and content marketing.

Lesson Learned #1 – Get Organized Behind an Awesome Platform

To start we broke the project into major phases:

  1. Graphic design – Structure, categories, wireframes
  2. Digital design – Coding, responsive look and feel
  3. Data – exporting all URLs and categories, recategorizing and restructuring URLs, and server-side 301 redirects from the old to new URLs when live
  4. WordPress – Creating our new blog and hosting it, new commenting platform

Internally we used a simple spreadsheet as our “New Blog Launch Tracker”. The tracker contained the phases detailed above, as well as specific subtasks, owners, statuses, and dates. This tracker was meant to keep us all on track while also providing visibility to the other stakeholders involved. This was especially crucial as we had an international team working on the project across multiple timezones.

We aligned on WordPress as our blog platform for a few reasons. At my previous employer our entire web-presence was managed with WordPress. Both our head of content and head of organic acquisition had managed corporate WordPress accounts in the past. Our content planning tool integrated seamlessly with WordPress which would make publishing a breeze.

WordPress is a world-class blogging platform that our team knows well – it was the best choice for our needs.

Lesson Learned #2 – Partner with a Talented Digital Designer

We handled two of the first phases in tandem. Our digital designer (Mike Twigg) led the charge of creating our new blog look and feel while the data team took the first steps of exporting all our old URLs and recategorizing/restructuring them. Our design and product marketing teams spent time coming up with various options that would reflect our company and brand, eventually settling on a clean and simple three-column layout for the main page, with key hero imagery (a hero image is a big visual banner at the top of a page).

Our old blog design did not have a hero for our main blog pages or blog posts, so this meant that our design team was also taking on the hefty tasks of sorting out hero images for all of our existing content as well as our new ones. For our existing posts, we focused on our most recent and most popular posts and simply worked our way down. It was a tedious task, but was crucial to position our blog for future success.

Campaign Monitor is an email marketing platform for growing businesses. We wanted our new blog design to be crystal clear about that message. We stuck with three major themes that defined us as a company and brand:

  • Elegant
    • Clean and sharp design directly reflecting Campaign Monitor’s brand and messaging needed to be the top priority.
  • Simple
    • The majority of our blog traffic would continue to come from organic and email/marketing sources, not from site navigation.
    • Clear hyperlinks and CTAs are crucial for driving the best behavior for the user and for Campaign Monitor.
  • Readable
    • As a content platform we wanted to highlight the content and minimize unnecessary distractions.
    • We prioritized large fonts, title capitalization, hero imagery, supporting imagery and callouts (quotes, statistics, etc.) over anything not directly related to consuming the blog content.

Lesson Learned #3 – Partner with a Brilliant Network Engineer

While the redesign was moving forward, our network engineer (Tynan Young) from our operations team exported our 1,000+ historical blog posts so we could begin the recategorization phase. Picking our new categories and blog category URLs required alignment across our executive team as well as our head of organic acquisition.

Once the team was aligned on our new categories, I moved the project to Excel, and recategorized and restructured all of our existing blog posts. (Nerdy side note – a few of my favorite Excel formulas, particularly for a project like this, are the simple text-to-columns, concatenate functions, and the trusty VLOOKUP). As we were working on this phase of the project on the data side we had our hands full keeping up with our content team as they continued to publish new content on the existing blog platform.

Here’s an example of one of the existing blog URLs at the time, and its new counterpart:

Example: The 15 most powerful words in subject lines

Once we were ready with all the new URLs our network engineer handled all the 301 redirects from the previous URLs to make sure we drove all our historical traffic to the right place.

Lesson Learned #4 – Partner with a Brilliant Web Developer

The next step was to begin the build of our new blog. We chose WordPress as our content management system, Disqus as our commenting platform, and Rackspace as our hosting provider. From here we changed the mold a bit and took a unique approach to our blog infrastructure.

Our web developer (Ash Durham) wanted “the best of both worlds” for our blog: (1) the ease of use and familiarity that WordPress would give our internal users, with (2) the inherent security and speed of our marketing website for the final “product”. This custom setup allows us to have a WordPress environment accessible by our employees to create, organize, draft, and publish new blog posts. That environment sits behind our internal network with the WordPress environment acting as our staging environment. Once we are happy with the modifications at any given time, we kick off the process to “generate files” from within WordPress. This process utilizes a number of technologies (PHP, Python, Bash, GIT) to eventually make the static files of the blog live on https://www.campaignmonitor.com/blog/.

Traditional WordPress plugins that require interaction back and forth between published blog posts and WordPress will not work with our setup but that’s a tradeoff we were happy to make to have the speed and security of our website for all our blog posts.

When we were finally ready to make the actual push and go-live our web developer and network engineer took over. We did a final migration of any of the most recent blog posts we might have missed, as well as any of our latest comments on any of our historical posts, into our new platform.

We chose to go-live late on a Sunday. We took down the old blog and pushed the new WordPress blog live in its new home. We then pushed the 301 redirects and our new blog to the world.

Campaign Monitor New Blog

Results

Most marketing projects are measured by some sort of success metric.

For this project I was mostly concerned about failure.

Any hiccups in our blog migration would have large negative impacts to our search volume, traffic, organic rankings, and therefore our revenue targets. If we restructured 1,000+ blog URLs on an entirely new platform and saw no effect on our traffic numbers I would be thrilled.

The actual results of our blog migration, from a data standpoint, were outstanding.

While we were hoping to move to a new platform without breaking anything, we saw a 50% increase in organic search traffic to our blog month over month, leading to an 8% increase in total unique users to our marketing website month over month. Our original platform really wasn’t doing us any favors, particularly on the organic search side, and was often delaying or complicating our ability to publish new blog posts on-time. Combine that with the benefits of a very modern blog infrastructure optimized for organic search and the results definitely speak for themselves. Our content team loves the new platform. Key integrations keep our content production on schedule and our content producers happily writing instead of performing other mundane tasks.

Come check out our new blog and let us know what you think: https://www.campaignmonitor.com/blog/

  • http://www.fastconversion.com/ Kumar Samar

    It is a very informative post for platform transformation from HTML to WordPress. We define it each step very clearly .

  • http://w3guy.com Agbonghama Collins

    Am i write to assume your setup basically create a static file of any published blog post and then use your in-house static site generator to append the posts to the blog?

    Sort of like: WordPress is being used as the content delivery service much like contentful and prismic.io services.

    • Sal Partovi

      We use the WordPress interface to draft and stage posts and the “Generate Files” custom button creates or appends the static files for our published posts.

      • Ven Francis

        Hi Sal. Can you share some thoughts regarding that and the differences from using caching method. Great article btw.

        • Sal Partovi

          Sure thing! I’ll do my best. I think one simplified way I’d break it down is as follows – static files (aka published posts living as webpages and not as wordpress blog posts):

          – PROS: Better security (i.e. less likely to have someone gain access to our environment through some risky plugin).
          – CONS: Limited plugin usage. We can use plugins like SEO Yoast and similar plugins that mostly interact with draft posts prior to being published, but once a post is published we cannot use a plugin that would require constant interaction with the live post.

          We were very happy to make that tradeoff but obviously it is dependent on any given company’s situation. I hope that helps!

  • affinyzedotnet

    Nice post! Agree with all your lessons:) It’s so true.

  • http://www.grixel.com Brian Mantuano

    The new blog looks clean and works well on both desktop and mobile. Kudos to you and the team for pulling it off without a hitch. I have to say though that the “jet fuel into a rusty bicycle” sounds like it could be fun.

    • Sal Partovi

      I agree, Brian! It does sound like fun. Might need to pack a parachute or something though as an emergency backup though.

  • Peter Wade

    Good article, but why no Search field on your Home Page? I wanted to look at the article on “15 most important words” but no way to find it.

Recommended

Learn Coding Online
Learn Web Development

Start learning web development and design for free with SitePoint Premium!

Instant Website Review

Use Woorank to analyze and optimize your website to improve your website to improve your ranking!

Run a review to see how your site can improve across 70+ metrics!

Get the latest in WordPress, once a week, for free.