ProcessWire compared to WordPress

If you are a current WordPress user looking to better understand what ProcessWire offers relative to WordPress, this page offers a few points for comparison that you might find useful.

Foundation and purpose

WordPress has its foundation as a blogging engine. ProcessWire does not. WordPress has a niche in creating blog-oriented websites that are based entirely upon an existing design theme or template (non-original websites). ProcessWire is different in this respect—it is well suited for cases where you are creating something original (in terms of design and/or markup). Unless you are already career employed as a professional WordPress developer (and thus locked into the system), we're certain you'll find that it is far simpler (and more powerful) to create something original in ProcessWire than it is in WordPress.

What makes ProcessWire a better CMS than WordPress? For starters, you can define your own fields to be used throughout the system. No plugins or custom functions required, which have always been a real turn off for me … with ProcessWire you can set it up to go with your site’s structure, while with WordPress I feel it is more about adjusting your site to fit as a template. —Michael Sunarlim

Web professionals

ProcessWire is a tool adopted by professional web developers and designers that create original websites, as it ultimately saves them a lot of time and money (relative to a theme-based product like WordPress). That's not to say you can't use ProcessWire with existing themes (even those from other CMSs)—you can, and it's quite simple to do so. But ProcessWire's niche is on supporting and enhancing the web development processes rather than bypassing them completely. Whereas WordPress is more likely the tool for people that want to just put something up, perhaps with no web development at all.

WordPress is a provincial supermarket, while ProcessWire, a gallery of fine arts. —Alexander

Web developers tend to adopt ProcessWire after they've outgrown WordPress. When it comes to developing websites or applications, ProcessWire is a more powerful tool with a much better designed and more powerful API. Yet ProcessWire's API is much simpler to learn and use than WordPress’s API is. With the right 3rd party plugins, WordPress can become a powerful tool as well, but this doesn't improve the API situation, nor do we consider it desirable for a product to derive much of its power and value from 3rd party plugins. In this respect, WordPress-powered sites beyond simple blogs tend to be a mashup of different plugins and products. Whereas ProcessWire does it all with the core product.

WordPress; like a lot of CMS platforms; relies heavily on plugins for extra functionality over and above the core services. The main issue, however, is that these plugins are not actively vetted out (or tested) by core team members to ensure they use optimized code and are safe for your site. This means that by installing a plugin, you can bring down your whole site and cause yourself mountains of headaches all because you wanted to add some extra functionality. —CMS Critic

Mashups vs. original creations

If you are satisfied building a small website built entirely upon an existing designs/themes and plugins, WordPress excels in this area. This is what we call mashup websites (or mashed potatoes). Such websites can be created without any knowledge of how websites are created. There's certainly a demand for that and this is perhaps why WordPress commands such a large audience, as web developers represent just a small part of their audience. While ProcessWire can certainly be used in a similar manner, it's not our target and we are not interested in being a tool for mashup websites. We are instead focused on being the tool behind your creation much more than being the creation itself. We are focused on supporting you in your job. Web developers and designer/developers creating websites and applications for clients are our audience. Granted it's a much smaller audience, but it's our niche and we serve this audience much better than WordPress can.

With ProcessWire, most of the capability we require is already present within the system and anything over and above this can be added quickly and easily. —CMS Critic

Security considerations

Another key differentiation point to consider is security. ProcessWire is built from the ground-up for security, and we are not aware of any ProcessWire-based website ever becoming compromised as a result of the product, nor have we ever had to issue a security advisory or security-related update. We consider security our #1 priority and very proactive in maintaining the security of the core. Every bit of code added to the core goes through a security review by the lead developer. On the other hand, it's rarely surprising for a WordPress website to be compromised. I've been hired to clean up compromised WordPress installations on multiple occasions, and it's always quite a mess.

The real issue was that the software upgrades virtually once a week. Vulnerabilities, malware, security issues are magnets with WordPress, if you don’t upgrade. Most clients don’t upgrade till mishap hits them in the form of a lock down by the host, by a hacker, or a malware detection. —Pigtail Pundits

In fairness, WordPress is a target due to its audience and scale, and ProcessWire is not so much of a target. It's not always WordPress itself that is the problem, but rather than plethora of plugins and themes that most WordPress installations are dependent upon. WordPress derives much of its value from these plugins. Your mileage may vary, but in my experience, if you setup a WordPress website and don't continuously babysit it, there's a good chance it'll become compromised at some point. On the other hand, our experience has been that you can install any version of ProcessWire on a website and it'll remain secure from that point forward, regardless of any further updates.

Strengths of ProcessWire vs. strengths of WordPress

By Jonathan Lahijani

ProcessWire has too many technical strengths to name here, but the one that immediately stood out to me when trying out ProcessWire back in 2012 was how custom fields were done in the system and how it's a native, first-class feature. Simply put, everything is a custom field, which in-turn makes the API easy to work with and querying data from these fields is super simple.

In WordPress, there are a handful of built-in fields (title, content, excerpt, date), and then there's WordPress's approach to custom fields (key value pairs). However it's an extremely basic implementation unless you use a plugin to take it to the next level. Every advanced WordPress developer has heard of Advanced Custom Fields (ACF) or similar plugins. But even then, the way the field data is stored in WordPress's database ('wp_postmeta' table) quickly leads to performance bottlenecks and querying the data is awkward.

I believe WordPress's strengths are related to it's opinionated setup as opposed to those that are technical. For example, with a fresh installation of WordPress, you are by default given blogging capability, a page system, a menu builder, categories, tags, a media library and a handful of themes, none of which ProcessWire has with a blank site profile, nor which are standardized.

Of course, these are only strengths depending on the developer's skill level. Early in my career, I would rely on these features, but as I started to build more complex websites, these features came to be seen as bloat and would oftentimes go unused. For example, how many WordPress websites utilize the Blog/Posts feature of WordPress? I would guess fewer than 50%. What if you need a few extra custom fields on WordPress's standardized Categories feature? Things get tricky from there, while in ProcessWire creating categories is just fields, templates and pages, like everything else.

WordPress vs. ProcessWire video series

36 videos hosted at YouTube, by Jonathan Lahijani

Watch the WordPress vs. ProcessWire video series

This series compares different aspects of both WordPress and ProcessWire CMS. I made this series to introduce ProcessWire to advanced WordPress developers after having searched for an alternative to WordPress. I worked with WordPress for over 8 years and became unsatisfied with many aspects, such as the reliance of plugins that should really be in the core (for example, Advanced Custom Fields), major security issues, performance problems, and wanting true control of my frontend. After evaluating dozens of content management systems, I found ProcessWire to be beautifully architected and extremely fun to work with. The community is amazing as well. Most importantly, because they are both PHP/MySQL systems, the transition was not too painful. The videos in this series will answer major questions in that regard. —Jonathan Lahijani

After I watched quite a handful of Johnathan's insightful videos today, I knew right then and there that I will soon be saying goodbye to WordPress—for good. My jaws literally dropped when I saw how bloody easy it was to do multilingual sites. Very intuitive. My eyes were keenly focused on the screen and then I was shocked in disbelief after I saw the other videos on Database structure (waaaay better!), Custom post types/ Custom Fields, Flexible Content/Section builders, Plugins, Documentation (cheat sheet) et al… –DarkMatter

Read more about the WordPress vs. ProcessWire video series in this blog post

When should you stick with WordPress?

As you may have gathered here, ProcessWire and WordPress are very different animals. This website is about ProcessWire and that's where our enthusiasm lies. But we are web developers first and and more interested in the best tool for the job than we are in any specific CMS. In most cases, we think ProcessWire is the best tool for the job. But there are also cases where we think WordPress is a strong fit:

  • If your needs do not extend beyond a blog, and using an existing theme is okay, WordPress can be a very good solution.

  • Consider WordPress when the scope of the project is small and neither original design nor web development is needed.*

  • If you have no background in web development and your needs are simple, WordPress can be a good entry point.*

  • Even if your needs aren't necessarily simple, if web development/developer isn't an option, you may still be able to build roughly what you want as a mashup of plugins. Just be careful.

  • There are a lot of plugins for WordPress and if a particular plugin is high quality and happens to fit your primary and very specific need, it's usually better to use something that's already built (even if in WordPress) than to try and build it yourself.

  • If you aren't familiar with web hosting and have simple needs that can be fulfilled by a dedicated WordPress hosting service that manages updates/security for you (like WordPress.com), this is worth considering.*

  • If you are employed as a developer of WordPress-specific plugins and/or themes, then of course stick with it—the scale of the WordPress audience vastly exceeds that of ProcessWire. Though we'd encourage you to try ProcessWire too.

The above list describes much of the WordPress audience. If your needs don't coincide with those listed above, we'd suggest that ProcessWire would be a better fit.

*For needs indicated with an asterisk, also consider dedicated services like Wix or SquareSpace.

Twitter updates

  • ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core. More
    8 November 2019
  • ProcessWire 3.0.144 core updates: Upgraded overrides section in the field editor, a new Inputfields JS API, and more— More
    1 November 2019
  • ProcessWire 3.0.143 core updates — 26 commits and 18 resolved issue reports, plus some other useful improvements and additions. More here: More
    25 October 2019

Latest news

  • ProcessWire Weekly #288
    In the 288th issue of ProcessWire Weekly we'll cover the latest core updates, introduce WireMailSendGrid, host a new weekly poll, and showcase a new site of the week. Read on!
    Weekly.pw / 16 November 2019
  • ProcessWire 3.0.145 core updates
    ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core.
    Blog / 8 November 2019
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer