How to build a content hub

As a marketing agency, we generate a lot of content. Over the years, we’ve used various processes to manage the ideation, creation, review, and publication of all the content we generate. For a long time, we used GatherContent for this, but things changed with that tool recently and we had to either:

  1. Change all our content processes, OR
  2. Build our own tool

We decided on option #2, and so far it’s working great. Since we built our content operations hub off of opensource tools, we decided to share the details of our setup with the world. If you work at a company that generates a lot of content – or if you’re just looking for a cost-effective alternative to GatherContent – this post is for you.

NOTE: This post is a bit of a break from our regular auto parts and accessories ecommerce content. Unless you’re a big etailer/manufacturer spinning out lots of content, you may find this post boring. Sorry.

First, A Review Of GatherContent

We started using Gather Content in March of 2014. At that time, it was the answer to all our prayers. Prior to March 2014, we were trying to juggle all our content using a very complex process:

  • First, we’d generate a list of content pieces we need and put them all into a Word doc along with notes about each piece.
  • Next, we’d send that doc to our writer via email, with a file name that included the client’s name and a due date for the writer to reference.
  • When the writer sent our doc back, they would change the file name so we’d know it needed review. We’d have someone review the piece, and either make edits or send it back for some updates.
  • If we sent it back, we had to change the file name again to indicate it was a rewrite/update, and then wait for it to come back.
  • Once content passed our review process, it might have to go to the client for approval. That process would get complex all on its own. Clients would change file names, fail to enable the “track changes” feature so we could see what they did, and sometimes we’d forget to follow-up when they took weeks to get back to us.
  • Even after we got the content reviewed and approved, it still had to be loaded. And along the way, we needed to come up with images.

This process got ugly, as you might imagine (and weren’t trying to be controversial with our content in that way). Use the wrong file name, use a bad email subject line, make a mistake and forget to mark something, and you make extra work for someone. Still, when we were really small – three staff people – it was OK. But as we grew, it got unwieldy.

juggling content
Here’s a picture of our content process, circa 2013.

GatherContent fixed all of that. With GatherContent, we could:

  • Keep the content in one place, so we didn’t have more than one version floating around
  • Assign each piece of content a status that would trigger the next activity
  • Communicate about changes/edits/ideas using the built-in comment system
  • Upload images to go along with content earlier in the process, which saved time
  • Export HTML to make publishing content really easy
  • We wrote a script for bulk idea uploads, leveraging the GatherContent API

It was great! We liked GatherContent so much we used it for years.

Then, it changed. A new version was launched in May 2018, and it broke a lot of our stuff. The API function we depended upon no longer worked. The new version changed the way we pulled content out of the platform. Our workflow had to adjust, and that’s easier said than done. While we were able to stay on the legacy version of the platform for months, eventually we were forced to move over to the new version that didn’t really work for us.

Building Our Version Of GatherContent, But Better

Once we realized we couldn’t work with the new version of GatherContent, we needed to either find a new tool or build our own.

  • We considered Google Docs – a lot of agencies use it – but it’s not quite as elegant as GatherContent when it comes to assigning statuses to content, and the bulk upload/creation tools are limited. We could use Zapier to bulk create folders and even Docs in Google Drive, but we didn’t like the idea of completely changing processes.
  • We seriously considered moving all our content creation to Basecamp, but again it wasn’t as elegant as we wanted it to be.
  • We considered building our own content hub/platform with WordPress, and using some of the plugins we use in ecommerce.

The last option was the most appealing, and so we started to sketch out our structure. But then we stumbled upon an amazing free plugin called EditFlow.

Developed in part by Automattic, EditFlow is a top-notch plugin that has nearly all the tools we needed to build our own content hub.

EditFlow was damn near perfect for us right out of the box:

  • We could assign custom statuses to content and tag people on the team when it was time for them to take the content and run with it.
  • EditFlow would send emails to people on the team when they were tagged
  • EditFlow would show us a calendar of all content pending (only we’d have to tweak it a bit to work the way we wanted it to)
  • We could use the WordPress media uploader to manage all the images we had for content as well as videos, PDFs, and anything else

With some additional customizations, we could do everything we wanted to:

  • We could use Advanced Custom Fields (ACF) to collect data for specific types of content…URLs to content we published, SKUs and other metadata for product descriptions, and more.
  • We could use custom post types to organize different types of content – blog posts, static website content, product descriptions, press releases, etc.
  • We could use custom taxonomies to assign content to clients and create interesting relationships between content pieces.
  • We could use WP All Import and WP All Export to move content in and out of the platform with ease.
  • We could use WP Offload Media Lite* to put all our media on S3, where it can be hosted indefinitely without worrying about losing data or managing server resources.
  • We could use Admin Columns Pro and Add Admin CSS to customize the look/feel of our WordPress install so that it was clean and easy for our content team to use.

Since we already owned copies of many of these plugins, the setup cost and effort was minimal. Within a few hours of deciding to build our own content hub, we had one. It was one of the easiest setups Spork had done in recent memory.

*Note: Beware the premium version of WP Offload Media. Their pricing structure is extraordinary (and not in a good way).

Our New Content Hub Built Off WordPress and EditFlow Is Awesome

Since we migrated to our home-rolled content platform/hub/tool, we’ve added more features and capabilities. When someone says, “Wouldn’t it be neat if we could…”, we don’t have to make a feature request. We just do it (it’s just WordPress, after all). As a result, our content process is even better and more efficient than it used to be.

We also don’t have to cough up several thousand dollars per year for a content platform.

Seriously.

Now, there are some downsides:

  • We’re fully responsible for our tool. Any security updates, database issues, and plugin compatibility problems are on our shoulders.
  • We do NOT have the fancy UI that we had in GatherContent. Our system is #basic.

We anticipate migrating from WordPress + EditFlow to some Node.js+Vue+WP CLI setup in the future, but whatever. Maybe we’ll just lock the current system down, freeze all the plugins and WP core updates, and see how long we can go.

Still, it’s important to note that home-rolled tools come with a hefty long-term cost. It’s not always cheaper to build your own system (as we’ve learned with other ventures).

Summing Up

The content portion of our business was dependent upon a SaaS provider that up and changed things on us, and that was both frustrating and disruptive. However, it forced us to take a good look at the marketplace, and we stumbled onto a nearly free alternative to the software we were using that had almost all the features we need.

If you’re a web developer looking for an inexpensive tool that you and your team can use to manage content, we’d encourage you to check out EditFlow. It’s an older plugin, but it isn’t out of date, and the creators made a website with documentation and code samples you can find here. If you’re willing to do some WordPress customization and configuration, it’s a great alternative to a paid solution from GatherContent.

And to the creators of EditFlow, thank you.