WordPress Development in Bristol
I’ve developed sites in WordPress for a long time and I don’t think it can be beat in terms of ease of use. If you need a website that is easily updatable, then WordPress is the CMS (content management system) for you. There’s a reason that around 40% of websites are built with it.
Other CMSs are Available…
I have used other CMSs such as MODx, Expression Engine and Drupal, and whilst they are powerful behind the scenes their client facing interface is not great. WordPress is unbeaten in flexibilty, customisation and ease of setup. Ultimately as a developer it either helps or gets out of my way – it does not dictate how I have to build the site and I can fully customise it to the users needs
Developer Experience vs User Experience
There are some CMSs out there (probably many in fact) that have a better developer experience. Craft CMS is the main one that springs to mind. Craft and other CMSs may be more pleasant to work with as a developer – things like nice tools, shortcuts, quality of life improvements for code etc. The thing is, this doesn’t affect the end product, it doesn’t even speed up the build and unlike Craft (something like $300 plus a recurring annual fee), WordPress is completely free.
At the end of the day using a different CMS is usually just a personal developer preference. You can build something of quality using most tools, it just comes down to how user friendly you need it to be for the person updating and maintaining the site. With WordPress being so ubiquitous it’s easy to find people to do the work and you are not locked into a niche ecosystem.
Security and Plugins
One of the criticisms I hear about WordPress is security and plugins. WordPress has a large range of plugins and lots of them are free. This means there is a lot of junk out there, and when people don’t know what they are doing they can end up installing crappy plugins that leave a gaping hole in their websites security. If this is left and not updated for months (or even years) on end then this can lead to your site getting hacked.
The solution is simple – don’t install lots of junk plugins! WordPress has a very mature ecosystem, which means there are lots of chancers out there trying to make money with shoddy plugins. Any WordPress developer worth their salt uses as few plugins as possible. Keeping a website running does require some maintenance but all CMS that use plugins have this issue.
There are simple ways to mitigate this, such as daily backups and settings plugins to auto update. Yes, there is a small risk to this and it will only work 99% of the time, but that’s what the backups a for!
WooCommerce and WPML
Speaking of plugins, amidst the sea of junk WordPress has some really good ones. When it comes to building shopping cart websites, there are only two real players in the game – Shopify and WooCommerce. WooCommerce is a free plugin that works on top of WordPress whilst Shopify is a whole new CMS. It’s crazy that you can take a working WordPress site and convert it to an online store so easily. It has some serious flexibility to it and you can even write your own completely custom front end and shopping cart if you want to and use the API under the hood.
Then there are plugins for membership sites like Memberpress, Education and courses like LearnPress and internationalisation plugins like WPML. A lot of these come with restrictions in terms of functionality. Unlike the rest of WordPress they do require you to work a certain way, and sometimes have a certain look to those aspects of your site. I’d argue that the speed with which you get functionality out of the box makes it worth it.
My Process with WordPress
I only ever build bespoke custom themes in WordPress. I stay away from page builders because as well as looking low quality they are next to impossible to fix if and when they break. These page builders tend to give users way to much choice and not enough sensible constraints which more often than not leads to a messy inconsistent website.
I use the absolute work horse that is the Advanced custom fields plugin (ACF for short) to build reusable blocks and templates that really fit the needs to that specific project. I try to strike a balance between super generic and highly reusable modular blocks and clients ease of use. Sometimes breaking things down too far leads to too much abstraction and leaves the end user confused as to what each block actually is. ‘Generic block 1’ is going to be much more easily misunderstood than ‘Homepage carousel’. As ever it involves some common sense and pragmatism.