It's time for another Magento extension round-up, reviewing some free extensions that were released in March. In this post, we'll review extensions to help you optimise your images, provide birthday coupons to your customers, improve the cron system, ensure your customers aren't using insecure passwords, an easy product import/export tool, and something to spice up your product detail pages.

Magento 2

Image Optimizer by JustBetter

This extension will ensure that all your images are optimised so that they take up as little disk space as possible. It reduces the amount of storage space required to host all of your media, which can sometimes be at a premium depending on your hosting setup. It also reduces the bandwidth required to send the images to your customers, which is especially important for mobile users.

The extension doesn't require any configuration, but it does require you to have some system utilities installed. You may have to ask your system administrator to install these programs for you if they aren't already available.

The extension is a simple wrapper for Magento 2 around the excellent Spatie Image Optimizer package. If you're looking to optimise images in other PHP applications, it'd be worth giving this a shot.

View on Github

Cron by MageMojo

MageMojo's Cron extension adds several improvements to the base cron functionality provided within Magento 2. Anyone who's worked with Magento's cron functionality will likely know that it has a couple of somewhat "interesting" features. This extension aims to smooth over a couple of the biggest problems.

The extension has two main features. The first is its ability to have different jobs running in parallel, but ensuring that two instances of the same job do not overlap. Without this extension, it's possible for Magento's cron system to start a new instance of the same job while the first one is running. This can happen if your site under significant load, for example, and can result in things such as deadlocks in the database that can grind your site to a halt.

The second cool feature is an admin panel interface to view which jobs are running, how long they ran for and if they ran successfully. This can provide critical insight into the cron system, as it isn't always going to be obvious if your cron job did anything otherwise.

View on Github

Have I Been Pwned Validator by Timon de Groot

Troy Hunt's "Have I Been Pwned?" service allows you to check if any of your passwords have been compromised as the result of websites being hacked or other personal information leaking onto the internet. Recently, it was expanded to include an API that you can query to check if a password has been compromised. This can be used to help you provide instant feedback to customers when they're registering an account if their password is actually secure. The API works by returning a list of hashes that could match the password supplied to you by the customer, and the number of times each hash has appeared in various leaked password files.

This extension integrates with the API by checking passwords when customers register on your website. If the password has appeared in too many leaked password files, the password is rejected, forcing the customer to choose a new one. The threshold for what is considered "too many" is configurable.

View on Github

Product Maintenance by Daniel Sloof

There are a plethora of great product import systems to choose from for Magento 2. FireGento's "FastSimpleImport" burst onto the scene in 2016, providng a lot of flexibility for developers to ensure product data is imported correctly. The Product Maintenance extension is a layer on top of this, providing 1-click drag & drop import and export of product data directly in the admin panel.

The idea is that you have a shared folder between the server and your computer, and make changes to product data in your spreadsheet editor. You can also drag some images into this folder, then click the Import button, and your changes will appear immediately in Magento. This shared folder could be powered by cloud storage, providing a direct integration with Google Sheets, for example.

View on Github

Product Attribute Tooltips by Daniël van der Linden

Tooltips can provide a simple and easy way of providing additional information about particular features of your products without clogging up the product detail page. You could use them to show a picture demonstrating the difference between inner-ear and over-ear headphones, an explanation of why different products have different warranties, or what the different energy ratings on appliances mean. This extension lets you add some content to each attribute to display whatever text you choose. The text will then appear on the product detail page whenever a customer hovers their mouse over a question mark icon next to the attribute name.

A future improvement that could add a lot of value to this extension would be to let you add content on a per-value basis. A good use for this would be to display a different logo for each option in a brand attribute, for example.

View on Github

Magento 1

Birthday Coupons by Sahak Tadevosyan

Providing a customer with a small token of appreciation for their loyalty can help make customers feel good about your brand. The Birthday Coupons extension helps you do just that, by automatically emailing customers with a coupon on their birthday.

The coupon is created as a standard shopping cart price rule in Magento, and all of the important details about the rule, such as how many times it can be used and how long it is valid for, can be controlled through the system configuration. You will need to set up a cron job to run the script that sends out the emails though, as it doesn't provide an integration with Magento's built-in cron system out of the box.

View on Github