Most open source content management systems (CMS) such as Magento and WordPress have the ability to add additional functionality through the use of plugins or modules.

In many cases these can be free to download but before installing these you need to consider the hidden costs and implications of using them.

Is it compatible with your website?

If you’re using a fresh copy of Magento or WordPress you probably won’t encounter many issues. However, once you start adding themes and modules, things can get more complicated.

Before installing a plugin you need to investigate how well the module is written to make sure it is fully compatible with the server, software, theme and any additional modules already installed on the website.

The assumption a module or plugin will work straight away is often incorrect. You normally need to tweak the settings or even modify the code.

Understanding the underlying code

Each module will be written by a different set of people. If we asked five people to write the same story, chances are the storyline will be the same but the words and structure will be different. Writing code is exactly the same. It’s open to interpretation on what is the best way to achieve something.

It can be very hard to modify other peoples code, like it would editing someone else’s version of the story. This can often mean any modifications could take longer than expected.

Are there any performance impacts?

When adding a new feature, or module, to a website we need to consider if it has any performance implications. Factors such as how well written the module or plugin is, the number of features it provides and what those features are, can all impact the speed of a website.

Sometimes we will recommend not using certain modules because the negative impact on performance outweighs the additional functionality it provides.

Design might need to be altered

Most front facing modules provide their own HTML and CSS but this can be a very jarring experience for users. They often look out of place on websites, using different fonts and colours.

When using a module or plugin we must consider the user experience and any design implications there may be. To ensure your website looks as good as it can, writing new CSS is required.

Keeping it up-to-date

We want to make our websites as secure as possible – part of that requires keeping the software, modules and plugins up-to-date. Time must be allocated each month to the on-going maintenance and upgrading of modules and plugins on a website. The more you have, the more time it will take to keep them up-to-date.

Most of the time keeping a module or plugin up-to-date is relatively simple but it can cause issues when breaking changes are implemented. The theme, modules and plugins are all closely intertwined, so a breaking change in one of them could cause the website to break. Having expertise on hand and upgrading them on a development website first is always recommended.

It’s not just free modules

Remember all these considerations are not limited to free modules and plugins. Premium modules and plugins still come with all the same overhead of free ones.

It’s not all bad!

We don’t want to scare you! Some free modules are very good and we use them on nearly every website we build. The benefit of using open source technologies is it significantly reduces the cost of building new features.

The important thing is to remember that free modules still involve some cost and it is often on a case by case basis.

The best advice we can give is, if you want to add new functionality, speak to your web developers. It’s likely they’ve already implemented something similar on another site and can advise which modules and plugins to use, if any.