Just Use [insert CMS here]! Or, Why I Still Love WordPress

Chris Coyier //

I somewhat regularly ask questions about WordPress stuff on Twitter. Usually when I don't know how to do something or I'm seeing behavior that I didn't expect. I did write a book about WordPress at one time, but even when I was immersed in that, I wasn't an expert on every aspect of WordPress. Especially the deep developer-y stuff. When I ask a question, I'll always get at least a few responses like:

Just use Jekyll / Octopress!
Just use Kirby!
Just use Drupal!
Just use ExpressionEngine!

As if up and changing which CMS I'm using would somehow solve this small issue I'm having. Sometimes it's a friendly poke, sometimes it's trollish, but more often than not I think they truly believe that moving CSS-Tricks off WordPress to whatever their favorite CMS is would be a smart move.

I don't think that. I figured I'd write up my reasoning.

The move would be tremendously difficult.

CSS-Tricks is a fairly complicated site. There is no simple automated export/import procedure for moving a site like CSS-Tricks.

There is a blog with over 1,500 posts and 62,000 comments. This tends to be the thing that is easiest to move between platforms. So moving on, there are about 1,200 pages. These represent things like videos, almanac entries, and snippets. These use about 20 different unique page templates in a moderately nested structure. That's a lot of custom content in custom structures at custom URL's.

There are forums on the site with about 130,000 unique posts. Only recently have I gotten the forums into WordPress itself which was a huge win. I wouldn't move unless the new CMS supported this forum structure as well. There is also a custom post type I use for The Gallery area on the site which is a totally different unique structure.

There are public user accounts on CSS-Tricks. At the most basic level they are just an identity for people so they can comment on the blog without entering their information each time. But they are also tied to the forums so you can have an identity and forum-specific functionality there. They are also tied to The Lodge, a paid-access area, so payment profiles and permissions are involved there. And then there is permissions in general. Any given user might be a basic subscriber, or a forums moderator, or forums admin, or site admin, or blog contributor, or lodge member at one of the different levels, or any combination. The new CMS would need an extremely sophisticated user management system.

Moving all the data and maintaining the structure of URL's, as well as all the users, would be a monumental task.

There would be no gains.

So moving would be hard. But people do hard things all the time on the web. We shouldn't be afraid of doing hard things if it's the right thing to do. But moving CMS's for CSS-Tricks isn't the right thing to do because there is very little to gain.

I think the biggest perceptions of what I would gain are:

  1. Features
  2. Security
  3. Speed

Features is out. There is nothing I wish I could do but can't on WordPress.

If the potential CMS change was to a static site generator, security and speed are definitely benefits of those. They are safe because there is no public database or backend code in which to hack. They are fast because it's essentially a pre-cached site. However, I don't have big problems with either of these things, and I require a database because of the user accounts and comments. I'll go into more about security later.

I'm not worried so much about speed because it's a fairly fast loading site anyway. Good servers that are overpowered if anything. Everything is cached. Assets are on a CDN. And I use Mobify Performance Suite. The caching and CDN? WordPress helps with that. I used W3 Total Cache which works with MaxCDN.

The time commitment would be huge.

I can't even imagine. I don't even want to think about it. Just planning out all the things that need to change and how would take weeks. I'd have to hire the majority of it out, so in addition to the time, the cost would be huge.

Again, there is no automatic export/import that is going to get anywhere close. This would be an entirely custom job.

I like almost everything about WordPress.

Possibly the most important point: I like WordPress. I like the software. I think it works great. I like the UI. I like the APIs. I think building sites with it is practical and productive.

When I have a complaint or problem, it's usually something fairly minor and absolutely not a show-stopper. I wish that thing was better, but I move on with my life. I recently was slightly annoyed that the_excerpt() didn't work as I expected it to. So I filed a ticket. Chances are someone is going to look at that and either fix it or tell me why they aren't going to. That's satisfaction, one way or another.

WordPress is (and always has been) under strong active development.

The releases are frequent, impressive, easy to install, and nicely varied in focus including frequent security and clean-up releases. The (large) team not only care about the software, they care about the vision behind the software, they care about the company, and they have incentive both personal and business to keep it working well.

I have lots of WordPress friends and acquaintances.

I started writing out a list of people here, and it became so long it was distracting and I started feeling bad because I knew I would forget people. You know who you are and I love you all.

When I have issues, I have a great support network. Why would I leave that behind?

The WordPress community all around is excellent.

Outside of my friends and acquaintances in the WordPress community, I find I tend to generally like and get along with other WordPress-lovers. Kinda like how you might enjoy mountain biking partially because you like the activity of mountain biking but also because you generally like mountain bikers. I've been to a couple WordCamps and they were good fun.

I feel safe on WordPress.

That may seem surprising because of how often you hear about WordPress sites getting hacked. I have been as well, many times on various sites. But I know how to deal with that on WordPress. I'm good at dealing with it. And it hasn't happened in quite a while because I'm also good at preventing it now. If I moved to different software, I wouldn't be good at it until I spent years getting more comfortable with that.

I'm just one person.

99% of the hours spent working on and building CSS-Tricks was just me. It didn't take a team. I feel like CSS-Tricks is a pretty large/complex site to be handled by one person. And it's not even the primary focus of my time. Combined, I spend much more time on CodePen, ShopTalk, and administrative busywork. That's a powerful and understated testament to the software right there.

Anyway.

I remember back working at Wufoo it seems like everybody and their sister had a feature request for us. "It's easy!" they would tell us - knowing nothing about how our site was built, the history, and the challenges involved. We get some of that now at CodePen too although a bit less since it's smaller, newer, and we can be more nimble - but we still get it.

It's impossible to know from the outside what's going on in the inside of other people's websites. Best to just be helpful when you can.