The Trouble with WordPress
WordPress started off (and technically always has been) as a blog platform. It was never designed to host anything other than blog posts. Some people however, wanted to add additional non-blog pages to their WordPress site, so plugins were developed to add this functionality. Eventually drag and drop site builders and eCommerce solutions were added. But WordPress was never designed with this in mind, so all of these plugins are built on a shaky foundation.
WordPress sites use a dynamic backend, meaning that the website isn’t prebuilt before the the end user wants to connect to the site, it instead loads a set of preferences set by the developer, and builds the page when the user requests it. To put it in simple terms, a static backend is like buying a ready-made meal whereas a dynamic backend is like ordering takeaway.
When the user loads a page on a WordPress site, they not only have to wait for WordPress to load, they also have to wait for the whole suite of plugins to load. And because WordPress uses a dynamic backend, the web page has to be rebuilt by the server every time a user wants to load the site. This can be partially mitigated by using a caching plugin in WordPress, but sometimes that just adds more loadtime and sometimes causes even more trouble than it fixes.
WordPress can also more often than not make it harder to develop a site. The features designed to make developing a site more ““user-friendly”” (The double quotation marks is intentional), also remove many of the abilities that would exist without it. Any developer who knows a basic level of CSS (one of the languages that make up a website) would be able to create massive changes to a website with just a few lines, but WordPress makes this very difficult to do, and when you do work out how to do it, it usually ends up as a bodge-job.
So what are some good alternatives to WordPress? Well for most websites, a static site generator such as Hugo is a good option. You can still download themes for it in the same way as WordPress, and with tools such as Netlify CMS, they provide a user-friendly way to edit the pages. Since it is a static site generator, all pages end up prebuilt before the requests the site, making page loading times extremely fast.
If you need an eCommerce site, there are a couple options. If you just want to sell a product or two, SnipCart provides an easy way to sell items through a static site. If you want a full blown eCommerce site, Magento is a dynamic solution that provides similar functionality to WooCommerce without having to deal with WordPress.