Note: This is reprinted from the original on my Medium profile here, since I thought people on TAZ may appreciate the article too.

As nearly everyone in the web development world is aware, WordPress is the most popular CMS in the world. Responsible for powering 35% of the web and growing, the software is used by everyone from small businesses to international conglomerates, and for everything from blogs to web apps. It’s hugely popular, and outnumbers pretty much every alternative in existence in terms of usage.

But where there’s a success story, there’s a market. And with WordPress having such a poor reputation with developers and engineers, the time seems almost perfect for an alternative to enter the fold.

So in this article, we’ll look at what it would take to compete, and what an alternative would need to do to dethrone the current king of the CMS market.

Make your software easy to setup
Starting with something most developers tend to completely ignore: the install process.

Because as annoying as it may be, the amount of work and knowledge required to install a script has a huge effect on how many people use it.

And this is especially true when you realise that most people in this situation are very non technical. Like, doesn’t know HTML or what a command line is level non technical.

So any script meant to appeal to then will need to take this into account. Docker? SSH? Nope. The solution will need to be a matter of uploading files and running a script, if that.


Caption: Ghost may be a great WordPress alternative, but its install process isn’t great for the non technical

Which surprisingly enough, is exactly where WordPress excels. Installing it is virtually idiot proof. You upload files, set up a database in CPanel, then copy details into an online form. That’s it. That’s all there is to it.


Caption: Installing WordPress is almost ludicrously simple

If you want to become as successful as WordPress, your script will have to work the same way.

However, that’s not all that’s required here. No, you also need to make sure your script works on low end hosting platforms too.

Since not only do most people who install WordPress not know sod all about programming or server management, but most don’t use hosts that let them do much of the latter in general.

That’s because, as painful as it may be, your average user or company is not using a VPS. Nor are they using a dedicated server in a data centre, or a cloud based system like AWS or Azure.

Instead, they’re using the cheapest, most useless web hosting services around. Which means EIG companies like Bluehost and Hostgator, or their equally mediocre competition like Lunarpages or GoDaddy. These hosts basically don’t allow anything not written in PHP or Perl (if minimalistic) or PHP, Perl, Python or Ruby (if not).

What’s more, they usually heavily limit server resources and access too. So anything using non standard ports, cron scripts or server functionality is simply not going to work here.

So create your software to work under those limitations. Embrace PHP and MySQL, allow it to be run on shared hosting accounts with harsh resource limits and don’t require any admin access to the server.

And get it included in systems like Fantastico too. That way, someone who wants to set up your script can literally just log in to CPanel and press a button to set up the entire thing in seconds.


Caption: Your script should probably be available in systems like this

Otherwise it’s immediately an non-starter on the hosting side alone.

But that’s not the end of the story…

Write damn good documentation
Since as important as an easily install process and a widely supported language choice are, they’re nowhere near as important as the documentation is. If you want to take down WordPress, you’ll need good documentation too.

And there are two main reasons for that. Helping the non technical, and helping people learn through examples.

The former is pretty obvious. Average Joe needs to figure out how to disable comments or change the main site title, and the documentation needs to be clear enough he can figure that out without any tech knowledge. Simple enough, but a lot of scripts struggle with it none the less.

However, the second case is where things get a bit more interesting. Why? Because one of the big markets for WordPress sites that often goes under the radar is that of the ‘semi technical coder/agency’. These are people and organisations who know a little about coding, but not enough to make anything substantial from scratch.

And the documentation for stuff like WordPress helps them learn by example. They can see an example of a working ********* or comment form, then modify to their liking by tinkering with a few variables and making small changes to the code.


Caption: This is very user friendly, and is easy to understand even for a beginner programmer

This eventually turns them from amateurs into pros, and takes from being able to merely paste in some code from Stackoverflow/random blogs to being able to write it from scratch.


Caption: Bootstrap also has this sort of documentation, and it’s equally user friendly because of that

But most scripts lack this type of detail. Indeed, most write their documentation under the assumption everyone using it in is a master of their field, and has years of experience writing code elsewhere. As a result, they get less newbies learning by example, and end up becoming something that’s only really usable by those with existing knowledge and experience.

So yeah, make sure to provide good documentation with a super detailed, example filled API document. It’ll help out a lot of people, and help turn hobbyists into experts over time.

Which is especially useful when you want to…

Encourage as many developers to make themes and add ons as possible
Because rule one of software success is that the solution with the biggest developer/add on community will almost always win.

Seriously, it will. It doesn’t matter if its operating systems, video game consoles or forum scripts, the one with the biggest community and the most third party software is going to sell/be downloaded the most. Just look at vBulletin and XenForo for instance. The former was huge for years, in part because acted like an almost insurmountable moat against competition. People kept making add ons and themes for it, so people kept using it.


Caption: In its heyday, every major version of vBulletin got well over 1000 mods. vBulletin 5… has 102.

Then Internet Brands killed the modding community by making vBulletin 5 awkward to modify (and unpopular with the developer community overall), and it promptly died. XenForo took over as the leader in the market, and it’s remained there since.

Same things happens with video game consoles and download services. Whether its the PlayStation 1 and 2, Game Boy or Steam, they all had far more options for games than their competitors did, and the results showed for themselves. The PS2 sold 155 million units worldwide, the Game Boy sold 118 million units worldwide and Steam has at least 90 million active users with over a billion accounts between them. Point being, the network effect is a very real thing when it comes to people’s choices here.

So focus on building that community as quickly as possible, and do whatever it takes to get more third party support than WordPress if you want to defeat it. Otherwise, you are doomed to fail.

Make installing mods and styles easy
What’s more, those mods and styles should be as easy to install as possible too. How easy?

Well, look at WordPress and XenForo for examples of scripts that do it right, at least from an end user’s perspective. There you can literally just upload a zip file and it’ll install the add on or theme right there in the admin panel.

Hell, in WordPress’ case, you don’t even need that. You can just search the add ons directly straight from the dashboard, and install whatever you need right there and then. It’s super simple, and as idiot proof as such a thing can possibly get.


Caption: This is probably the one plugin install interface even my parents could figure out

So take some inspiration from it. Make sure your solution is as simple as that. No phpBB style ‘add this new code after line 200 in user.php’ instructions here!

Try and Keep Mods/Themes Roughly Intercompatible Too
Similarly, you should also set up your theme/plugin infrastructure in such a way that multiple add ons aren’t going to conflict with one another, and that a new theme won’t break everything the user has already set up.

Because for better or worse, most people are not particularly careful when it comes to installing a reasonable number of add ons. No, they’ll install them by the bucketload, with some of the most customised sites I’ve seen literally having hundreds of extensions installed at once. People will install an entire 200 file extension to change 3 lines of code in the footer.

So your solution should be somewhat stable when that happens. Keep add ons somewhat firewalled from each other, make sure that multiple add ons using a hook doesn’t break anything and keep things set up in such a way that upgrades won’t take down entire websites.

Do that, and you’ll greatly cut down on the support threads and screaming users over on the support forums.

Offer a hosting service

Additionally, consider offering a hosting service too. That way, even the most clueless users can get a site up and running with your system, without having to delve into the technical site in any way whatsoever.

Don’t Advertise Based on Privacy and Decentralisation
The majority of the population doesn’t care. They don’t hate either concept, and they won’t pick centralised services for ‘ethical’ reasons, it just doesn’t factor into their decision making any in any real way.

Instead, they go with solutions that make things easy for them, and provide what’s needed. So advertise that side of things, at least on the normal user side. The other aspects can be a nice extra for developers and techies, like the open source license is for WordPress.

Focus on mobile first
Still, the above points are all the baseline. They’re all things WordPress already does well, and which a new competitor will probably have to match if it wants any chance of taking its throne.

But WordPress isn’t perfect, even from a completely non technical end user perspective. In fact, it also has numerous flaws and design drawbacks that hurt it ever more as the years go on, and which could allow for a competitor to gain ground if exploited.

And one of the most important of those flaws is mobile usability. Put simply, using WordPress on a smartphone… is not a pleasant experience.

It’s slow, it’s clunky, it causes you to have to scroll down a hell of a long way if you’ve got lots of add ons, and it’s about as far from a modern editing experience as you could probably get.

Make sure your system is different. Make a mobile first editing experience that’s enjoyable to use on everything from a smartwatch to a desktop computer, and make it compete with the likes of Twitter or Discord or Facebook or whatever as a mobile first experience.

Improve the account system
Finally, take advantage of WordPress’ other major flaw too. Namely, the terrible account system the software currently has.

Because at the moment, WordPress has nothing resembling a sane permissions system. You can’t easily choose what users can do based on their account type, you can’t easily create new usergroups without installing a plugin or writing custom code, and you can’t set up content on the user side to be only visible with said permissions either. It’s basically just an interface for guest blogging, with the assumption that you trust everyone who ever registers on the site being baked into the very core of the system’s design.


Caption: Something akin to the User Role Editor plugin is vital for any WordPress site with more than 10 users

So do better with your own one. Create a usergroups system that’s as powerful as your average forum script’s one, and let admins choose exactly what any one user or group can do at any one time. Do this, and you’ll strike right at the heart of WordPress’ biggest weakness and gain many users who want more than just a mere blog or hacked together CMS.

Either way, those are my suggestions on how you can compete with WordPress. They’re not revolutionary by any means, and they’re not going to please everyone, but they’re what you’ll probably need if you want to defeat WordPress and create the next internet changing CMS.

Still, what did you think of the list? Do you agree with the items on it? Or do you feel that a different solution will eventually bring about WordPress’ downfall in an entirely new way?

Tell me your thoughts in a response to this post, or on social media today!