WordPress is an open source CMS for building and creating websites. It's one of the webs best tools for content marketing and that's why it makes up over 28% of the internet today, trusted by huge websites like Sony and Disney. It's also hugely scalable and that's why businesses of every size should consider it as their foundation, as it doesn't have the limited services or terrible content transferring tools of other platforms.
WordPress plugins are a major part of why WordPress has become so successful and similar to Apples slogan of 'there's an app for that' in WordPress for any question typically asked, the common reply is 'there's a plugin for that'. Plugins are very much like an extension is to chrome or a app is to your phone. It expands the software and makes it even more powerful!
So what is a WordPress plugin?
A plugin typically contains a PHP script which 'add-on' to the core functionality of the website, expanding the functionality or improving the website aesthetically.
A WordPress plugin may only contain a script or is commonly packaged with other assets to create a useful extra bit of software to expand your websites core functionality.
As WordPress came from being primarily a blogging platform, it takes considerable theme and plugin rewriting to turn it into an eCommerce store or a booking platform for example.
How do Plugins affect website performance?
The number of plugins isn't a direct correlation to the effect on site performance as a common misconception developers have. It depends on what these plugins are and what their functionality is.
Generally, plugins which affect the front end will increase HTTP requests, which result in additional loading time for your page. You can see a working example of this by running any website through GTMetrix and looking at the 'waterfall'. Plugins which work more on the backend may strain the server more with added DB queries.
A common problem users have with plugins affecting website speed is overusing plugins for a lack of understanding of what the functionality of the plugins are - i.e multiple caching plugins in a bid to make the website faster, using plugins to write CMS or simple design edits which could have been easily done elsewhere with the right knowledge.
What are the advantages of WordPress Plugins
WordPress plugins allow amazing changes to improve and vastly alter the design and functionality of your website.
A lot of plugins are free which is great but often these are freemium by design so you'll have to pay to get the good part of the plugin. A good plugin, is worth paying for!
What are the drawbacks of WordPress Plugins?
Anyone with the coding knowledge necessary can make a WordPress plugin - this leads to a wide variety of plugins made by developers of varying skill and ability. Also as anyone can write a plugin with functionality to edit into the core of the WordPress CMS, you're also suspect to dodgy dealers out there who may only be interested in creating backdoors into your website - this is particularly widespread with nulled plugins.
The problems begin to occur, as with any software, with conflicts. As anyone with the WordPress CMS is able to mix and match coding functionality in and out of their website, without good working knowledge of how these scripts work in the grand scheme of things, it can be fairly easy to incorrectly set these up or fail to monitor the effect of conflicts with other plugins or core functionality, slowing down, breaking functionality of these plugins or worse - destroying your website in the process.
This is particularly dangerous with plugins that alter databases as without a good backup system and keen attention to detail this can result in not only a destroyed website but also a complete loss of content, membership details and worse. Which isn't the end of the world for someone starting off and testing on build sites in staging environments but if you hire an amateur or 'your neighbours son who does websites' you may regret it more than you can imagine.
Finally, WordPress plugins need to be kept up to date, a good WordPress developer will maintain their plugin frequently for various reasons. The most common of these are security issues such as vulnerability problems with coding that get exploited and become common knowledge or keeping the plugin consistent and working correctly with newer versions of WordPress. Though all this is for naught if the user doesn't update on their end!
This is particularly important with the release of the main releases such as the upcoming v.5.0 which will feature Gutenberg, a huge change to the content editor of WordPress.