loading...
Cover image for Why wordpress?

Why wordpress?

fmctaggart profile image Fraser McTaggart ・3 min read

Why not Wordpress?

Without a doubt the most popular content management system in use today is Wordpress. It is said that 30% of the whole internet is run by WordPress. One of the reasons why WordPress became so popular is that it can be installed by anybody without any technical knowledge in under 5 minutes. Another reason is speed of development. As there is such a vast collection of WordPress Themes available, novice users can define the look & feel of their WordPress website by just choosing any of the free themes offered at wordpress.org. Installing a theme couldn't be easier - just login to your WordPress install, choose a theme, click "activate" - that's it. This is the perfect scenario for web developers looking to make money. It is simple, fast and profitable.

So why don't you use it?

Wordpress started as a blogging platform and added to and patched so it can power whole websites and even ecommerce sites. This wasn't the initial reason for Wordpress, so if it is used as anything more than a blogging site, the website site will most likely be bloated with unused code, making your site slower.

Are they all bad ?

No, I'm not saying that all Wordpress sites are slow or bad. If the website creator doesn't use a pre built template or template creator, then it is possible to get a fast site. The fact of the matter is that almost all Wordpress sites are using templates. This is definitely something to be concerned about.

Why would I worry about this?

Many studies have shown that a website's bounce rate ( the percentage of visitors to a particular website who navigate away from the site after viewing only one page. ) are higher when the site takes longer to load. For users with an average page load time of 2 seconds, the bounce rate is quite low - only 9.61%. This goes up slightly for those with an average page load of 3 seconds, to 13.0%. 4 second page load time having a bounce rate of 17.1%. This raises to 22.1% for a 5 second page load. And if users experience an average page load time of 7 seconds, the bounce rate is 32.3%. This is such an important factor for your website to be successful, and one that should not be ignored. Google also factors your page speed in its search engine rankings, so for great SEO you should be aiming for a blazing fast site.

So if not Wordpress, then what?

There are loads of other options available. I am an advocate for JAMstack sites. This means that when a change is made using the content management system of choice, this triggers a build and the site is compiled into static files and automatically uploaded. This means faster load times, more security and better search engine optimisation. For basic sites, I really like using a GIT based content management system. For a lot of uses this is sufficient. Any unwanted changes can be restored from the complete history. For more complicated sites, I have used Strapi and really enjoy the flexibility and simple user interface.

Have you used wordpress? Would you recommend it to clients?

mctweb.co.uk

Discussion

pic
Editor guide
 

WordPress is worthwhile for larger projects too.

I've done quite a few non - trivial projects in WordPress. To get this out of the way: Yes, like many CMS projects, WordPress was built by people who couldn't program and it shows. The architecture is a historically grown hodgepodge with some very strange things going on in it. Hardwired URLs and Shit. Totally bizarre.

However, this, strangely enough, comes with some counterintuitive advantages. For instance, because just about everything is procedural in WordPress, one error breaks your entire callstack which in turn has new bugs your project often show up immediately. That actually has turned out to be an advantage I didn't expect.

Advantages of WordPress
Here I'll give you a few advantages of using WordPress for your projects, even if they are larger.

Child Templates
Templating done right. No bullshit inner platform like blade or twig or smarty or whatnot. Existing templates (themes) get piped through child templates, and aside from some small boilerplate, you just put your changes into the child folder, all the rest gets fetched out of the parent folder. You can take a super sophisticated commercial theme and modify it just the way you like it without even touching the original. WordPress rules here.

Plugins
WordPress press may be shit, but you can work around that in 20 minutes or less. Writing a Plugin that integrates into WordPress is trivial. As is integrating your own dashboard pages. Auth/Auth, DB access, Rest Api with auth tokens and such is there and ready to use, the rest you can to yourself.

Time to market
Unbeatable. I'll have WP staging up and running including the custom post types that resemble the custom object types we need within the hour. The editors can start doing their thing before I write the first line of code.

Dashboard isn't scary for regular people
This is a big one. Getting a regular user familiar with WordPress dashboard goes very easy. Onboarding someone into you workflow can be done on the side.

Good security
Stop laughing. 200 million active installs make for very good security. All bugs and severe exploits are shallow and fixed within days. There is a huge market for third party security services and cdns for WordPress. Makes things very easy.

Existing plugins
An abundance of 3rd party plugins for all problems you can think of. Including some you wouldn't think of. WordPress orchestration with a Plugin for instance. Cluster management at app level if you will. Very strange, but it works.

Lots of FOSS tools and libraries
WP CLI, WP model, etc. All finished and ready to use. For every WordPress problem there is people have already made a solution.

That's a shortlist from the top of my head. Further reading and details here: richdale.de/into-the-abyss/

My 2 cents.

 

I appreciate your response. You make many valid points!
Security for the core is great, however I've heard that there are issues with some plugins
and that this would be the main source of a security issue? This is just what I've read however.

At what stage would you not consider Wordpress for a project? Do you feel that Wordpress is the best tool for websites full stop? Would you be able to provide an example of a larger non-trivial site using Wordpress ( not using the REST api )?

 

If you know you're application is going to be microservices from the get-go and there is a clean app-model in place and the core technology will not be PHP then not using WP is pretty much a no-brainer.
If you're going to have applications and APIs as a first class citizen in your project and it must scale along multiple dimenions, WP is a bad choice. Especially if you have a team of experts and the PO/Customer knows what he wants and the architecture is properly designed. Using WP in such a scenario would be silly.

However, if time to market is your constraint and you're dealing with a customer who doesn't know what he/she wants, then WP is a very good choice. Prototyping a larger app in WP can be hackish, but time to market is next to none.

WordPress can also make sense as a pure CMS with the application streched out behind it with tons of microservices and some gluecode to handle editing and content distribution. If you have caching and search and all the tiny tidbits seperated out, WP is small enough to still service as a neat editing environment.

 

Security for the core is great, however I've heard that there are issues with some plugins and that this would be the main source of a security issue?

Your computer operating system is secure, but the software that you have installed isn’t. The operating system might have it’s own secure and closed API, but the external softwares that depend on the operating system may still be able to use the parent language that is more raw.

WordPress has their own secure and closed API, but every plugin can still be able to use the parent “language” of WordPress, that is PHP.

At what stage would you not consider Wordpress for a project?

IMO, any project that does not contain blog posts.

Correct me if I'm wrong, as I haven't created a plugin for wordpress. But plugins can be created and submitted quickly and easily judging by the comments below. They can then be installed easily and without thought, by users that don't know the implications. Perhaps giving plugins unregulated access to server-side code isn't ideal?
The list of vulnerabilities and exploits is pretty extensive for wordpress plugins - surely there must be a better way?

They can then be installed easily and without thought, by users that don't know the implications.

You can install a plugin with syntax error in it and then just get a blank screen.

Perhaps giving plugins unregulated access to server-side code isn't ideal?

It’s your web hosting provider duty.

Surely there must be a better way?

Just keep it up to date, and follow the support forums related to the plugin. Security holes sometimes come from old plugins that are no longer updated (but you don’t know and just install it anyway).

Using official plugins or paid plugins must be better (since you could easily complain about things).

 

That's more than 2 cents! 😼

 

I mostly build custom sites on WordPress. I believe that a major distinction that needs to be made is that between a custom made theme and setup of a ready-made theme from ThemeForest or elsewhere without touching the code most of the time. Most of the drawbacks mentioned in the article are related to the second approach.

The main benefits I find on WordPress are the following:

  1. Great documentation and a vast community. It is very rare that you have a question that hasn't been answered already. Even if it doesn't, though, it's fairly easy to dig into the core, figure out how things work, and build it yourself as a plugin.
  2. A great content editor that is familiar to most people due to the project's popularity. I've seen a lot of clients asking beforehand for the site to be in WordPress because they are already familiar with its environment.
  3. Easy to find support. being open source and so popular makes it easy to find support. A few years back I've worked with a few companies promoting their own custom CMS and clients preferred them. In the long run, it turned out that most of the time it was a drawback, as this locked them to that company, which charged excessively even for simple tasks, and because of the custom implementation they couldn't assign the support to someone else. WordPress, on the other hand, is probably the most convenient when you need to find someone to support your site. After a few years, those clients came back asking to remake their site, this time specifically with WordPress, for the aforementioned reason (and some of the companies ditched their own CMS for WordPress).
  4. Good backward compatibility. That has been criticized by many developers and in some regard, it can be considered as a drawback too, but it sure has its benefits, as I've been updating websites built almost a decade ago with no issues.
  5. Gutenberg. This has been one of the most controversial topics, as people who prefer to build sites based on ready-made themes tend to hate it. Personally I love it because if you are a developer making custom themes, it can give you unprecedented freedom to build your backend however you like, very easily. In fact, the way Gutenberg works by default, outputting plain HTML, allows you to build a very fast website, minimizing the database queries.
  6. You don't have to use WordPress for your frontend if you don't want to (see Headless WordPress). You can build the backend with it and implement your frontend in whatever technology you like (e.g. JavaScript), using the WP Rest API.
  7. Due to its popularity, WordPress is often the first (and sometimes the only) CMS to be supported by a new service with official plugins.
  8. WordPress is a very much live project, constantly evolving, with a clear roadmap for the next few years.

Of course, that doesn't mean that WordPress is perfect or that it is the right tool for every job. Having started as a blogging platform inherited some problems that are hard to get rid of. For example, the database structure could be better, there could be less focus on backward compatibility in favor of embracing new technologies and multilingual support should be implemented to the core instead of relying on third-party plugins (fortunately, the latter is something that will, eventually, happen as it is in the roadmap).

 

Thanks for the thorough response! I believe that I did make it clear that the main issue I had was with premade templates. You mention that you don't use prebuilt templates - how do your sites perform in lighthouse for example? I have seen near perfect scores, yet this is very rare and realise that templates add a lot of unneeded bloat. Is this an issue with the premade templates, or are there more fundamental issues?
It is a huge community, that is a great point. It is something that is easily overlooked. I haven't needed to use the community for Netlify CMS or Strapi as the both work as described in the docs.
I have read about the REST api for wordpress, however haven't used it. Perhaps I'll give it a shot.
As I mentioned, I see that Wordpress can work in many scenarios and can see why people use it. I've been asked to use it a few times, but turned away the jobs instead.
Do you feel that you are locked into using wordpress now? Do you just do wordpress sites, or do you do other things too?

 

Premade templates aim at satisfying a broad audience, so they inevitably come with too many features that you don't need. Also, they rely too much on third-party libraries and frameworks (Bootstrap, jQuery, etc) that bloat the end-result even more. So, it is very likely that you end up with much more CSS than you actually need and load dependencies like jQuery that you could avoid if you aim at a high score on PageSpeed tests, which, by the way, I don't think that it should be an end in itself. The important thing is for your site to load fast to your users without compromising functionality.

In general, frontend issues that PageSpeed scores report have nothing to do with WordPress and can be dealt with like they would in any other solution. You can build a theme in WordPress with any HTML markup, CSS, and JS you want, without a CMS-specific restriction.

On the other hand, WordPress, as a CMS, queries the database, and if you implement every piece of your content using meta fields you might end up doing a lot of queries, some of them expensive, that could be avoided. Caching can do a good job at speeding things up, but on this subject, the new Gutenberg editor helps even more, because it can store your content in plain HTML, no matter how complicated your content's structure might be (unless, of course, you have very specific requirements on some occasion). If you know JavaScript and React, I believe that you might like Gutenberg, as it gives you a lot of freedom when it comes to building your site's backend.

In the end, it is not too hard to build a fast website with WordPress. In fact, even improving the speed of a site with a ready-made theme isn't always out of the question. It just depends on the quality of the theme, on the amount and the quality of your plugins, and the site's general functionality. Of course, custom or not, a WordPress site will never be as fast as a static one, but I think that this should be the case with any dynamic CMS.

At the end of the day, it depends on the project's requirements. If the site is relatively small and doesn't get updated very often and speed is the absolute priority, a static solution, with Headless WordPress or something else, would be better. If, on the other hand, it is big and needs to get updated too many times even within the same day, then maybe a more classic approach is preferable as the rebuilding process can be time-consuming in a static solution, as far as I know.

As for the last question, before WordPress, I used to work with Joomla and I had some experience with Plone too (waaaaay back). I also do a lot of frontend-work (not always for WordPress) and occasionally some small PHP-only and JS-only projects. Before getting involved with development I was an Information Architect, which didn't have much demand on Greece, so I shifted my interests.

I wouldn't say that I feel "locked" in WordPress in any way. I like building themes and plugins and there is always something new to learn, which keeps me from getting bored. In fact, JAMStack with a Headless WordPress is something that I intend to try at some point, as I find it to be a very interesting approach for many scenarios.

If the user was looking for a basic 'brochure' style site, would you ever use a website creator, such as square space or wix? Why or why not?

I agree that page speed isn't the most important factor, yet it isn't something that can be ignored. Page speed has some sort of weighting in Google's search rankings and can be a good place to start when reviewing a site's performance.

I hadn't heard about Gutenburg before your original post, I'll have to go and take a look. Being Scottish, I like (freedom)[youtube.com/watch?v=lLCEUpIg8rE].

In regards to jamstack, I agree that it usually doesn't make sense to rebuild 100 times a day. For 'really' dynamic content I would use an api call instead. But there have been many advances with rebuilds and I can only see it getting faster. Gatsby and Nuxt ( and I'm sure many more frameworks ) have atomic deploys where it can take less than a second to rebuild.

I'm glad the post has sparked a bit of discussion! I have also used Joomla, a bit of a blast from the past. I just checked and they are still in active development. TIL.
I suppose I feel that the nature of wordpress, with plugins etc. makes it easy for someone to make a bad performing and bloated site. I feel it's important to strive for the best solution, which I usually find isn't the quickest one. But that is just my own view and I appreciate that not everyone has the same mindset.

But Philip has raised some very valid points as well which has helped me see the other side of the coin.

If the user was looking for a basic 'brochure' style site, would you ever use a website creator, such as square space or wix? Why or why not?

Personally, I wouldn't for the sole reason that I am not familiar with it and learning it would require some time. I might prefer using a ready-made WordPress theme instead. I wouldn't be against using Wix, though, if it was for a small site that you are certain that you will not need to extend with extra functionality that needs custom development in the future.

I've seen nice implementations even with Wix and ready-made WordPress themes.

Knowing your tools well and being able to make the most out of them depending on the occasion is often more important than using the "best" tools that there is in a suboptimal way.

 

Have you used wordpress?

Have just experimenting with it.

Would you recommend it to clients?

I would recommend Mecha. It only weigh around 300 KB uncompressed 😄

 

This is why it pays to read through comment sections. I’m definitely bookmarking Mecha. I do use WordPress for my personal blog but now I’m tempted to switch. Hmm 🤔.

 

I've never heard of Mecha but it looks great at a glance. At that size, who could complain!
I personally don't use the LAMP stack anymore, but if I switch back then I'll definitely give it a shot

 

Another upside is the number of folks who can help a client maintain and update a WordPress site. They typically don't want to pay a full stack developer to perform menial tasks. There's a pool of less expensive talent to choose from for that sort of, day to day, thing.

 

I totally see that. There are an abundance of local wordpress developers that can offer that sort of service.
On the flipside, I suppose that any menial updates etc. should be able to be done inhouse anyway, that is ideal scenario of a content management system?

 

Probably. I find that a lot of my clients opt to hire "web designers" who then install page builders like Elementor and go to town on the site. While the core of the theme I build is typically still there a lot of it is masked by what they do "in-house". 🙂

There is nothing worse than seeing something you worked hard on be butchered by users, I suppose it is the nature of the job. I'm usually quite strict with what things I allow the client to change now. :/

 

🖐 I developed themes & sites for clients And agencies using WP for many years.

Lately it feel like the core team is hostile to new developers, by tying our hands with Gutenberg, limiting tech to old versions so that it’s hard to learn how modern code is written, and making development hard with an inconsistent api.

I moved to the JAMStack because I can see what WordPress team want it to be: a Wix competitor, or a tool for non techies to use.

To be fair WordPress has been used by agencies that want a fast turnaround for a quick profit. These places can be difficult places for developers to work in.

I think we should not be afraid to be moving on, WordPress will always have it’s uses but as developers we have huge buying power. The JAMStack has a way to go, but it has barely begun, one day soon it will parallel WP in terms of capability.

More: deliciousreverie.co.uk/post/dont-f...

 

Thanks for your additions. I appreciate your viewpoint that it is taking work away from developers and into the hands of users. This isn't something that I considered to be honest. I don't think this is something to attribute to wordpress though, as change always happens and we have to move with the times. ( which I appreciate you are doing )
I agree with the sentiment that they are aiming at non-techies on the whole. That is why there is such a large userbase, so it makes sense for them to focus on this route I suppose.
Is there anything in particular that you feel the jamstack is lacking at the moment?

 

Thanks. I feel it’s important to show the team are no longer improving any of the developer experience and this impacts employability as well as the experience. Therefore as the work decreases more people will find themselves less employable as I was starting to experience.

What is the JAMStack lacking? Only 2 things:

  1. Notwithstanding my previous comments 🤣 low-code or no-code launching, though Stackbit, Gatsby and others are working on this.
  2. Ability to preview content as you write. This is something high on the list for the content team I work with. We’re pretty close though, As well as Gatsby Preview & Prismic previews, TinaCMS connected to a backend is probably going to be a good solution to that one.
 

Yes, I'm activly using Wordpress for my gaming clan's website.
The advantages I see with wordpress is that it's not much effort to maintain and offers a good editor for content. And if there's something missing, there's usually a plugin for that.

Also I've already developed some plugins for clients at work and while it takes some time to understand how everything works internally (or at least the parts i've touched so far), the development process is pretty easy.

So if you'd ask me, I certainly would recommend Wordpress. But it all depends on your clients needs if wordpress is the best tool for their use case

 

I appreciate you taking the time to write this up. I must say as a developer I really dislike wordpress and do feel it's on decline with the advent of react and vue. WordPress is so sloppy and ridden with security problems. It's just that wordpress was all we had. Now there are new options it puts light on how annoying wordpress really was. Clean front end HTML javascript with a headless cms is probably the continued wave of the future.

 

I use WordPress for small personal blog projects. If there is any customization at all though, I build it in Drupal.
Why? While WordPress plugins tend to solve a specific problem, Drupal modules work together to extend functionality. Drupal 8 is built with Symfony components, which are very well written.
Drupal has a steep learning curve and the defaults suck, it's true. However, I couldn't imagine trying to build anything reasonably custom on top of WordPress.. unless it was just a blog or brochure-site.

 

I am giving a presentation this Friday at Drupal Camp ATL on how to enhance the Drupal editorial experience, you may be interested in checking out

drupalcampatlanta.com/2020/session...

I use this approach to create marketing / brochure websites with Drupal and have received excellent feedback from customers.

At this point, I loathe working with WordPress, it feels like a toy. Though my biggest complaints aren't so much WordPress but the approach of so many "WordPress jockeys" who opt for commercial plugins and themes. These rarely update with WP CLI, and the "developer" typically doesn't give the owner access to renew the licenses. This leaves the owners site in a compromised position, difficult to maintain.

While the premium and freemium WordPress market has made people a lot of money, I feel it's ultimately bad for the WordPress ecosystem. Also, the WordPress plugin issue queues suck. Why can I not filter results by version?

 

So if not Wordpress, then what?

Yes, Wordpres is force. But for example, I use Laravel for complex sites or Hugo for simple static sites.

 

Absolutely agree with Phillip. WordPress is a powerful source for website development nowadays, though it has decent rivals like Drupal.
However, I hear more and more complaints about the last version of Drupal. Can't say anything myself here, 'cause I've never really worked in Drupal, but I tend to believe my web friends.

As for me, I like working with WP cause it seems simple when it comes to design (which is my specialty). I've been working a lot on my project, and thanks to resources like themeforest, which help with design a lot.

The 'tech guy' of my project also prefers working in WP, he claims it to be the most ' user-friendly' soft. Also, a big plus is lots of plugins for WP. You can find a plugin for your needs easily.