WordPress is the most popular platform for building websites for small businesses and not for profit organisations.
In my opinion WordPress is a terrific platform for building websites. I am in good company because there are millions of web developers who that have been built sites with it. Its strength lies in its open architecture which allows third party developers to add functionality through plugins. Most of them are free so this is a good choice for a small business.
There are thousands of plugins. You can almost guarantee that any functionality you want, there is a plugin that provides it. The plugin architecture provides enormous flexibility but can also create problems. Firstly you need to be aware that plugin authors vary greatly. Some plugins will be created by a single developer others by a development house with a mature development process and clear road map.
Secondly some plugins are involved in the rendering of your website pages and will therefore affect performance but others are back-end tools that will not directly affect the web pages (for example a plugin used to create a copy of your website).
Compatibility
Problems arise with compatibility between plugins. That is, a plugin may prevent another plugin from working properly and that could stop your site working properly. While you might easily detect this when first installing a plugin it is much more likely to occur with an upgrade to a plugin and it might be months or even years after the launch of your website. Upgrading your plugins to the latest version is recommended by WordPress because there may be vulnerabilities in the software the hackers will exploit. The upgrade will include bug fixes and often new functionality and that is where you could discover compatibility issues.
Fixing Compatibility Issues
WordPress forums are full of posts declaring that a website is broken following a plugin upgrade and the advice is always the same: disable all your plugins and then activate them one by one until you find the culprit. When you do find the culprit you will have to leave it deactivated until a fix is released or abandon it and look for an alternative.
Plugins Golden Rules
Here are the key points to consider about plugins:
– keep the number of plugins to the absolute minimum
– every plugin must absolutely offer essential functionality to your website
– use plugins that have hundreds of thousands on installations
– check the reviews and support forums (are issues addressed?)
– check when the plugin was last updated (shows it is being actively developed)
– don’t have two plugins doing the same job.
Apply these guidelines with some common sense. I do use a plugin that was developed by a single developer and hasn’t been updated for months. It addresses a security issue by preventing something called ‘user enumeration’. The code is very simple, and hasn’t been updated because it just works.
Keep Plugins to a Minimum
Some of the most successful plugins offer a free version and a premium or pro version that has additional functionality. You ought to consider a paid plugin if by doing so it will decrease the number of overall plugins. Though I am wary of so-called monster plugins like Jet Pack that offer lots of functionality because you are more likely to find a conflict with another plugin.
Be aware that the software business evolves rapidly. I currently use a page builder plugin called Elementor that has gained tremendous support in just 5 years. In another 5 years there may be a better alternative so be open to change.
What is the ideal number of plugins? Answer: the minimum number to deliver the functionality you need. If it’s a simple site then 6-8 plugins might suffice but a site with greater functionality could see this climb to 12-15. When you reach 20 plugins you might want to reconsider the choices.
Staging
The best way to avoid these compatibility issues is to never enable automatic upgrade of plugins on your live site. Have a staging server where you can test out plugin upgrades and verify there are no issues before applying it to the live server. Most people don’t rush to apply an upgrade but wait a week or two until the bug fixes are released.
Conclusion
WordPress is my platform of choice. It does allow me, as a developer, to write some custom code where necessary. I try and keep custom code to a minimum and make sure it is documented so any other web developer could pick it up if I was unlucky enough to get run over by a bus.