How to Correctly Evaluate Magento Extensions?

The Magento Marketplace consists of thousands of individual extensions from lots of different vendors for all kinds of use cases. This blog post discusses the topic of how to correctly evaluate Magento Extensions regarding their quality.

Each of these steps is meant to be executed sequentially and the extension should not be used if one of the steps cannot be finished successfully.

1. Requirements Engineering

The first step is to make a detailed list of requirements that the new feature should bring with.
Let’s say for example you are looking for improving the default catalog search functionality of Magento. So you start by making a list of all the features your online shop search must or should have (e.g. by comparing the search feature of some best-in-class online shops):

  • MUST: Automatic correction of spelling mistakes
  • MUST: Search through content pages and for SKU
  • SHOULD: Intelligent suggestion of keywords
  • and so on

2. Match Your Requirements With the Extension’s Features

You then start by looking around on the Magento Marketplace and on Google for the overall topic “Magento catalog search”.
When you have found a Magento extension that matches your overall requirement “better search” you have to go into the details and match each of your requirements from the first step to the extension’s feature list.

The best way to do this is to create a spreadsheet with the features as simple columns and the different extension names as rows and check for each combination of the extension if it matches your requirement.

Then decide for the extension that passed most of your checks.

3. Purchase and Download the Extension

I recommend to either look for Magento Extensions that offer a money-back guarantee of several days or are free, like our Recolize Extension for Magento 1 or Magento 2.
This is important as you cannot evaluate the quality without seeing the code of the extension and so you should be able to get your money back if it does not fit the expected quality standards.

4. Analyze the Source Code of the Extension

This step should be done by an experienced Magento developer: go through every file of the extension and try to understand in general what the extension is doing. I have seen lots of dangerous things in files that you wouldn’t expect them to do that, so I really recommend to go through them all.

5. Install the Extension

The next step is to install the extension in your Magento shop. This must be done on a Magento testing instance that does not affect your live shop. This is also an important step as – though you have analyzed the extension in step 4 – there may be overseen cases where the extension is doing dangerous stuff under the hood – it could be anything from transmitting your customer data to opening security holes in your online shop.

The installation steps depend on the extension itself and should be well documented by the extension vendor – if not, that’s a clear first sign that the extension is missing something.

6. Verify Extension Features

At this stage you should again fetch your requirements list from step 1 and go through the points that you checked in your spreadsheet and verify that all of your required features are working as expected.

After that run some last code analyses with the great n98-magerun tool to match the extension against well-known security issues and to check for interferences with other installed Magento Extensions in your online shop:

n98-magerun.phar dev:module:security<br />
n98-magerun.phar dev:module:rewrite:conflicts

If all of these steps went well, congratulations and have fun with the newly installed extension!

ChrisHow to Correctly Evaluate Magento Extensions?