After several years working with magento 1 and now 2 I gathered a list of the top magento 2 extensions that I use all the time. I decided to compile them into this best extensions list to help you maximize your magento 2 web store.
This list include extensions to improve customer experience but also to increase your productivity running your magento website. Here they are (in no particular order):
- Owebia Advanced Shipping for Magento 2
- Magento2 Smart Category
- KiwiCommerce Enhanced SMTP
- Mageplaza Cron Schedule
- Mageplaza Delete Orders
- BSS Magento 2 Disable Compare
- BSS Magento 2 Login as Customer
- Mageplaza Magento 2 Currency Formatter
Owebia Advanced Shipping for Magento 2
This is my goto extension for shipping. It is the best free shipping extension I came across because you can pretty much set up any type of shipping rules, simple of very complex.
To add a shipping method you will need to call the
addMethod function in the configuration area. You will find it under
Stores > Configuration > Sales > Shipping Methods > Advanced Shipping by Owebia.
Syntax is as follow:
// First shipping method addMethod('method1', [ 'title' => "Standard Shipping", 'price' => 10, ]); // Second shipping method addMethod('method2', [ 'title' => "Express Shipping", 'price' => 20, ]);
The true power of this extension emerges when you use variables, functions and operators to create elaborate rules and conditions. With these you have access all the information in your cart, include product data, shipping and billing addresses, customer attributes and even some magento variables and state data.
Setting up these rules might not be that straightforward, specially if you do have a coding background, but it is really worth it (and their documentation is also of great help)
Here are some examples of what you can do with it:
- Set shipping cost per customer group or even customer
- Set shipping cost per product or any product attribute
- Set shipping cost as a percentage of the total in the cart
- Set shipping cost based in the stock status of products in cart
- Set shipping cost per category
- Set shipping cost per destination
- Or any combination of the above and even other types of rules
Owebia recommends to install the extension via composer because of its dependencies (there is one that I couldn’t find anywhere to manually install). Follow the self explanatory instructions on the link above and you shouldn’t run into any issues. If you do then check this link.
If you need assistance installing Owebia Advanced Shipping for Magento 2 you can hire me here and I’ll gladly assist you.
Magento2 Smart Category
This is an extension that I personal find awesome! The Smart Category extension allows you to create a set of rules that determines the product selection for a certain category. The category product list is automatically updated every time a product changes.
I also think that this extension is coded smartly :). They use an observer on product save, which means that when a product is saved the observer code runs and adjusts the product selection for the smart category. This avoids dynamically running the rules whenever the products from a smart category are requested, which would have a negative impact on the category page load time.
The Smart Category configuration is done on the Category edit page in the admin that you can find under
Catalog > Categories.
The recommended installation method is yet again via composer, by running the following command at the magento root directory:
$ composer require faonni/module-smart-category-kit
Follow the self explanatory instructions on the link above and you shouldn’t run into any issues. If you do then check this link.
If you need assistance installing Magento2 Smart Category you can hire me here and I’ll gladly assist you.
KiwiCommerce Enhanced SMTP
To run a successful e-Commerce business it is key to guarantee the deliverability of your transactional and newsletter emails. By default, magento uses the php
mail() function to send all emails via the
sendmail service, that needs to be installed in your server. The advantages in using a dedicated SMTP server is beyond the scope of this article but in short you will be very limited without one and your email can easily start to go into the spam folder or just being rejected by the antispam filters and ISPs.
Unfortunately Magento doesn’t allow to configure SMTP servers to deliver transactional or marketing emails and for that reason I usually install the KiwiCommerce Enhanced SMTP extension. With this free extension you can not only set up a custom SMTP server per store view (which is an important feature for multi-sites magento websites) but you also get all your outgoing email logged.
The extension comes with several pre-configured settings for a lot of popular SMTP providers like Mandrill, Office365, Mailgun, SendingBlue, SendGrid among others.
To install the extension you should use composer. Run the following command on your magento root folder:
$ composer require kiwicommerce/module-enhanced-smtp
Check the installation guide on the official documentation page.
If you need assistance installing KiwiCommerce Enhanced SMTP you can hire me here and I’ll gladly assist you.
Mageplaza Cron Schedule
The Mageplaza Cron Schedule helps store admin to easily manage and monitor cron tasks directly from the magento backend.
If you not familiar with cron jobs then play an important role in tasks that need to run periodically on your store, by scheduling them to a specific needs. Among these task are log cleaning and reindexing your database, which are critical for the performance of any magento e-store.
This extension displays all jobs in a list or timetable manner and allows the admin to also remove or manually run them if needed.
To install the extension use composer by running the following command on your magento root folder:
$ composer require mageplaza/module-cron-schedule
Check the installation guide on the official documentation page.
If you need assistance installing Mageplaza Cron Schedule you can hire me here and I’ll gladly assist you.
Mageplaza Delete Orders
This extension is specially useful before deploying the web store to production. It allows the store admin to permanently delete (test) orders and all the related documents (invoices, shipments, credit memos). It also allow bulk deletion.
Installation can be easily done using composer. Run the following command
$ composer require mageplaza/module-delete-orders
More details regarding the installation steps and the extension can be found in the github repository for the extension.
If you need assistance installing Mageplaza Delete Orders you can hire me here and I’ll gladly assist you.
BSS Magento 2 Disable Compare
This is one of the requests I keep getting from customers. Many business do not need a compare feature and, to be honest, I do not understand why Magento doesn’t offer the possibility to disable it from the admin.
Fortunately BSS Commerce offers a free extension for Magento 2 to disable the compare feature on all pages of a Magento website. The extension does not interfere with core code and works perfectly with the default magento Luma theme. For custom themes you may still need to do some tweaking depending on how your theme was implemented.
Nevertheless you will surely benefit from installing this extension if you do not need this feature in your website.
Alternatively, you can download the extension and then upload it to
/app/code/Bss/DisableCompare (you will need to create that directory). The next step will be to run the usual cli commands:
$ php bin/magento setup:upgrade $ php bin/magento setup:static-content:deploy
If you need assistance installing BSS Magento 2 Disable Compare you can hire me here and I’ll gladly assist you.
BSS Magento 2 Login as Customer
This very useful extension allows an admin to login to the frontend of your magento website as a customers without the need for a username or password.
With this extension you can detect/troubleshoot customers shopping problems and/or optimize their purchase experience in your website.
The extension also records all login as customer actions in the database and lists them in the admin.
The installation process is pretty much the same as the previous extension. Upload files to a newly create directory
app/code/Bss/LoginAsCustomer and run the usual installation command for any extension. Composer installation is also available after requesting BSS Commerce the access keys to their repository.
If you need assistance installing BSS Magento 2 Login as Customer you can hire me here and I’ll gladly assist you.
Mageplaza Magento 2 Currency Formatter
Magento 2 Currency Formatter extension brings to your website flexibility in formatting the price currency appearance. This is a critical aspect for many countries to guarantee that all the prices are currently displayed in the frontend thus avoiding any potential misinterpretations.
With this extension you can:
- specify and place symbol of currency
- modify the thousands separator
- define sign and digit for decimal separator
- change positioning of the minus sign
To install the Mageplaza Magento 2 Currency Formatter use composer by running the following command on your magento root folder
$ composer require mageplaza/module-currency-formatter
This installs the currency formatter extension and also the mageplaza core extension which is mandatory for any mageplaza extension. If you install the extension by upload the extension files into app/code then you must also do the same for the mageplaza core extension.
If you need assistance installing Mageplaza Magento 2 Currency Formatter you can hire me here and I’ll gladly assist you.