Insights


Are you still using WordPress?
Helder Cervantes, Web specialist
2016-09-26
The world’s most used CMS wasn’t nominated for this year’s CMS Critic Awards. Shocker?
Full disclosure: I’m biased. I love ProcessWire and I hate Wordpress. I’m on a quest to make ProcessWire as popular as I believe it deserves to be. This article will reflect that and compare both platforms. But I will not lie. Promise.
With that said, yesterday I got a newsletter from CMS Critic calling for votes on this year’s CMS Awards.
If you don’t know it, CMS Critic is a site dedicated to content management platforms. There you’ll find reviews, tips, and all sorts of news dedicated to just about any CMS out there. And every year they have the CMS Critic Awards. In their words:
“The CMS Critic awards were started three years ago in order to fill a gap that was missing in the business software industry. While there have been similar awards in the past that have been given out, none have been truly focused on ensuring fair exposure and opportunity to all players in the market. This is the reason the CMS Critic awards were created.”
At first I was surprised for not seeing Wordpress nominated for ANY of the 20 categories. Note that these include “Best Open Source CMS”, “Best Free CMS”, and “Best Blogging Software”. There’s also, ironically, a category dedicated to “Best WordPress Managed Hosting”.
To me this comes as evidence that Wordpress, despite being the most popular CMS today, is no longer the best solution. I’ve known that for years, but now it seems enough people are agreeing with me.
What the hell is wordpress for?
Initially, for those who remember or witnessed WP’s birth, it was a blogging platform. I loved it when it came out. It looked clean, pretty, organised, and far better than the proprietary platform I used back then. It was so good that people started trying to make more than blogs with it.
This is where things start to go wrong for WordPress. You design a platform that’s specifically targeted at blogs, and when you try to do something else with it you have to hammer out hacks, add plugins, widgets, and you end up with a mess of a CMS that has users scratching their heads wondering how to do specific tasks of their content managing lives.
Over the years, Wordpress became a mess. It’s complicated to implement and no longer user friendly.
Examples
One example — note, this was many years ago and something better surely exists by now — is the way I had to implement a multi-language site in WP. After installing a plugin for multiple languages, I literally had to write both versions of a text in the same field and separate them with a special code, something like {//english//}, that I had to write by hand in the text field. I don’t remember the exact code, nor do I want to. But the point is that the workaround was so dirty I had to explain my client that whenever creating a new page, just edit an existing one, copy the text, paste on the new page and replace content.
Exhibit two is a site I’m currently working on. A client bought a template from ThemeForest. It was cheap and looked really good. Now that client is paying me to figure out how to get stuff done on the CMS. I’m getting paid to explore the admin area, discover how to do specific tasks, and write a manual.
Exhibit three. Same site. I had to rewrite a page template to display other articles by the same author at the end of the page. After doing it, I was so appalled by how dirty that code was that I went and wrote the same thing in ProcessWire. Here’s a side-by-side comparison:

See how much cleaner the code on the right is? You don’t even have to be a programmer to get an idea on what’s going on there. The code on the left, you’ll get a tip of the hat from me if you can write that code without googling something.
Exhibit four. This screenshot:

This is editing a page on the website I mentioned above. Two things come to my mind:
- What the fuck?
- Look at this mess! Where do I begin?
- Good luck figuring how to use that visual composer. The client doesn’t know what a query is? Well he’ll have to construct them so better start googling.
That’s actually three, I know. The first two are the same, I just separated them for dramatic effect.
So why am I biased towards ProcessWire?
Because experience!
I’ve started using ProcessWire about a year ago and I had one of those eureka moments where I thought “This is EXACTLY what a CMS should be like.”
There it was, a CMS that made zero assumptions of what I was going to build. You get a blank slate, and you start by outlining the fields necessary to the content you have. Take a news article for example. Think of that as a type of page, or as it’s called in PW, a template. You create a template for news articles, and you add fields: title, date, body, photo. Need photos to be multiple? Set the number of images on the photo field to unlimited. Need an extra field for summary? Add that. You put in exactly the fields you need and nothing more. Now when you create a new page of the “news article” type, you get a neat form that explains itself:

Then you do that for your products, your basic pages, your contacts page. Add a field for header image, add a checkbox to define if that page outputs a call-to-action in the end. Whatever the hell you want.
Then in the frontend, ProcessWire provides an incredibly simple way of loading up content. For each template you create on the admin, there is a PHP file on the templates folder with the same name. Start by slapping your HTML there and then where the title goes replace with $page->title. Where the date goes, replace with $page->date. Text body, replace with $page->body. Image url, replace with $page->image->url. It’s the same principle from beginning to end. Call the field by its name, get the content.
ProcessWire doesn’t have functions that output a fully formed link to an article. Instead you read the URL and title from the page and output those wherever you need them in your HTML. You end up with A) more control, and B) free neurons to think more what you want to build instead of how to build it. If you know your PHP and HTML, you can do anything with it.
Simple != basic
- If you need different size versions of images, just output $page->image->size(200,100)->url. ProcessWire generates that image, saves it to reduce processing the next time around, and returns the url.
- You can set that pages of X template allow only Y templates as children. Or no children at all. Under that news page you get only articles, and under the articles you don’t allow subpages to be created.
- The $pages->find() method is like queries on steroids. Search anything, filter by any field, sort by any field, as simple as jQuery selectors.
- You can use ProcessWire’s user control for authentication on your site. Users are pages as well, you can modify the fields on them too. And you can create a type of user (role) that logs in at the frontend but has no access to the CMS. Clients on your store perhaps.
- It’s inherently secure. In fact, in this Reddit post, a user asks why there are no documented security breaches on ProcessWire yet. Maybe this is because the architecture is closed to begin with, and developers open it up just as much as they need. ProcessWire Modules (plugins) for the most part just add new field types and output capabilities, never doing too much on their own, thus not opening up holes.
- It’s really fast. I’ve built all kinds of sites, including an ads portal with thousands of entries and complex searches take milliseconds.
- At first, the fact that you do everything on the page tree seems strange. We’re used to having separate modules for news, products, etc. The tree will grow on you. Content editors will find things easier because menu structure = content structure.
- And these are the ones I can come up with from the top of my head.
I’m out
I’ve got work to do and lunch is just about ready, so I’ll stop here. If you’re a developer, I strongly suggest you have a good look at ProcessWire and see for yourself. If you’re a client, I believe you’ll be better off using ProcessWire on your next site because you’ll get a much cleaner, organised and future-friendly platform. But then again this writer is biased AF.
Loving is sharing
Share this article
Let's work together
Get in touch and tell us about your project. We're always open to the next challenge.