This article is part of our ButterCMS vs WordPress Series
In our first article in this series, we explained the high-level differences between a headless CMS like Butter and a traditional CMS like WordPress. Now we can take a look at a more concrete example of a typical project journey.
Let’s say you’ve got an existing website built using a modern tech stack like React, Node.js, Ruby on Rails, etc and you want to add a blog to it. You’ll have very different experiences doing this with a traditional CMS than you will with a headless CMS. Below, we’ll see how.
Let’s go through what this project will look like if you use WordPress and your site is built on Rails.
First, you’ll need to decide whether you want to self-host or not. Since this example scenario involves you already having a website and you want to add a blog to it, then you’re likely going to have to self-host WordPress. Initially your costs for hosting may be low, but as your site gains more traffic, the costs will increase. Additionally, self-hosting means you are responsible for keeping current with WordPress updates and also for backing up your data.
Once you’ve gotten basic WordPress installed, it comes with a default theme that you’re going to want to change so that your blog matches the look and feel of your existing website. This means either buying a theme that is close to what you want and hacking it apart or starting from scratch and building it from the ground up. Both paths involve your developers cracking open the WordPress source code and navigating the WordPress template + theme systems.
A simplified process of building a theme to match your existing brand will likely involve the following:
Plugins are an integral part of WordPress. There are a lot of them. For example, here’s a WordPress link to its most popular plugins. As you can see, for everything that you want to add to your blog, you’ll need to find the right plugin.
Let’s just take a simple example and say you wanted to be able to have a contact form, a way to screen for spam in your comments, add Google analytics (we’ll talk more about analytics later), and have eCommerce capability on your blog to sell your product.
You’ll need to find, install, customize, and configure any plugins you want to add.
For these capabilities you’ll be adding four plugins:
Out of the box, these plugins may not quite fit with your existing site design. If that’s the case, you’ll need to go into the config / source code to make changes so that everything blends seamlessly.
You may also want additional plugins for social sharing (Twitter, Facebook, Instagram, etc.) and SEO (Yoast), which will also require some configuration.
With the level of customization you’ll likely need with a WordPress-powered blog, it’s important to keep in mind that customization isn’t the only change developers will be considering. Remember, there’s already an existing website built in modern technology. The engineering team has a set of tools and processes to develop and deploy this primary site. By adding a traditional CMS like WordPress to the fold, engineers now also have to think about:
Your engineers aren’t the only ones who will be affected by a WordPress integration. From a marketing standpoint, here are a few key things your team will need to consider:
Once your engineers and marketing team are on board and have done all the legwork to add a WordPress-powered blog to your site, there are a few considerations that remain on the horizon:
Now that we’ve peered under the hood of a WordPress-powered blog, let’s take a look at what your project would look like using ButterCMS assuming we have an existing Ruby on Rails website.
First, you’ll need to set up a ButterCMS account. You can do this for free.
Then run the Rails Generator to create URLs, application code, and Rails templates. Note that these templates live in your existing website’s codebase. Butter is a headless CMS, it doesn’t control the look and feel of your blog, your website controls that. Butter simply provides the raw content via a Content API.
Here’s a 60 second video showing the entire process:
Butter provides your content editors the same easy-to-use experience as WordPress.
Butter also provides built-in SEO, scheduling capability and more. No plugins to install and hassle with.
Now let’s look at the same engineering considerations we did with WordPress and see how they look when using Butter.
You deploy it the same way you deploy in your current process. ButterCMS melts into your existing tech stack. Your deploy process stays exactly the same.
It doesn’t.
Assuming your existing app uses source control (and you are, right? ;) ), source control automatically happens since the code to integrate with Butter’s API lives in your existing application.
Same as the rest, this part is easy, as it’s part of your app so your app controls the URL’s. Butter was designed to make achieving your blog at www.yoursite.com/blog dead simple.
Your marketing team will also have questions, but Butter makes the transition to its CMS smooth.
Butter allows you to directly manage metadata and SEO in the pre-existing templates so you can add tags, descriptions, metadata, and other information with ease. Butter’s transparency makes it easy to see exactly what you’re doing.
No. Existing tags in your main website layout carry over to your blog automatically. Also, if your main website or app has login capabilities and user accounts, you don’t need to worry about integrating analytics across everything. People viewing your blog will be authenticated with your existing user accounts database since the blog and site are all part of the same app.
In this article, we’ve taken you through the inception of a project (adding a blog to your existing site or app) through two solutions: a traditional CMS like WordPress and a headless CMS like Butter. There are three key areas where you can see significant differences between these two solutions:
A traditional CMS is a massive piece of software. WordPress has over 1.5 million lines of code. WordPress comes predefined, with tightly coupled templates, logic, and database. You start with everything — often more than you need — and then you customize and hack it to mold it to your needs.
ButterCMS is the opposite. You start with a clean slate and build up. Instead of hacking the guts and actual source code of the CMS, you use Butter’s content modeling to create exactly what you need. It was built for that purpose, with no assumptions or limitations for the kinds of content you want to manage.
A traditional CMS requires you to download and host and maintain yourself. As an alternative, you can pay a professional WordPress service to do this for you.
ButterCMS is delivered as an API-driven service, and has nothing for you to host or maintain. Butter hosts the data, the CMS dashboard, and API platform. You simply query our API to pull your content into your application.
A traditional CMS is separate from your existing site or app. Any changes you make (branding, etc.) will need to be made twice: on your existing site and within WordPress. Additionally, any login/user info you have on your main site will differ from that of WordPress, which has its own user and authentication system.
ButterCMS slides into your existing site or app. Changes to your main site will be reflected in your CMS. And you don’t need to worry about login for your blog: people viewing your blog will be authenticated with your existing user accounts database.
Unless you have developers who have the time and know-how to work fluidly with a traditional CMS like WordPress, there is an unavoidable time-sink involved with using a traditional CMS that requires you to get under the hood to really customize your blog. A headless CMS like Butter means a shorter project timeline and a lighter burden on your developers and marketing team.
Originally published at buttercms.com.