Opting for optimization extensions versus choosing in favor of professional Magento development services. How do they stack up? Can you save money on expensive development time? Will a smart extension ever come close to a team of developers?
There are very few reviews on Magento speed optimization extensions on the Internet. So we decided to find out how exactly can extensions help you with speed. First, we need to know what these extensions can and can’t do. We’ve studied the top 5 most popular optimization extensions on the market. Here’s what we found out.
All optimization extensions are quite similar. The list of features is short and can’t impress an experienced Magento user. However, the features they offer are all necessary and have an impact on performance. So here’s the list.
What performance optimization extensions can NOT do
|Optimize CSS Delivery||no|
|Install Server Tools for You||no|
|Deal With Complex Issues||no|
|Optimize Third-Party Database Queries||no|
|Easy Learning Curve||no|
What performance extensions CAN do
|Leverage Browser Caching||yes|
|Optimize Image Size||yes|
|Optimize for Specific Use Cases||yes|
|Restructure Code Positioning||somewhat|
|Apply Lazy Loading||somewhat|
Now let’s go over the strengths of using optimization plugins for Magento in more detail.
1. Extensions CAN Minify HTML/JS/CSS
We’ve already mentioned how crucial it is to minify your HTML, JS, and CSS files when it comes to improving page speed performance, especially for your Magento Core Web Vitals optimization strategy.
This kind of optimization can work well for smaller stores with few customizations and a conservative number of third-party extensions. You should understand, though, that most CDNs have this kind of optimization built-in. CDNs set up specialized servers while the extension will use PHP on the backend to do the necessary changes. These scripts can significantly increase page load time.
2. Extensions CAN Leverage Browser Caching
In general, caching is the main tool of optimization extensions. The idea here is to apply standard cache techniques to remove the burden from processing power and put it onto memory use. After all, CPU time is more expensive and has a bigger impact on performance.
3. Extensions CAN Restructure Code Positioning
It’s a partially true statement, though, since Magento optimization extensions don’t support CSS delivery optimization, a key element in improving time to first render. There is no way around it: you’ll need to optimize CSS delivery by hand.
On the other hand, CDNs can help you with code restructuring so there’s no reason to invest in an additional tool.
4. Extensions CAN Optimize Image Size
Heavy media creates a huge chunk of all problems in the store. Everyone knows it’s a good idea to optimize them before uploading. And very few people actually do it. Because people are lazy. Which is understandable.
Optimization extensions use a few popular server-side optimization tools to deal with human laziness: jpegoptim, optipng, gifsicle, or their alternatives. These tools do a fairly good job at reducing images to a sane size without sacrificing quality. This feature is one of the most useful and least controversial of all.
To be honest, optimization extensions do not offer superior Magento image optimization to what most CDNs have. You are better off installing a reputable CDN that can take care of image compression using modern image formats and processing files on the go.
5. Extensions CAN Apply Lazy Loading
Some extensions are smart enough to apply lazy loading to images. The general idea here is that the browser doesn’t need to load an image that the user can’t see yet. Once the user scrolls to the image, it will load normally.
This saves precious time and resources when they are most needed: during the initial page load. Unfortunately, some extensions will only apply lazy loading to images in the product list ignoring other places. This can only serve as a half-measure since the extension ignores other vital parts of the store.
The issue with extension-powered lazy loading stems from the fact that it applies this loading pattern indiscriminately, to all images. It’s not an optimal solution because you don’t need to apply the script to the images that the user will see instantly after they enter the page. Lazy loading should only work for content outside the immediate view of the customer.
6. Extensions CAN Optimize for Specific Use Cases
Here’s a good example. Magento 1 is notoriously bad with configurable and bundled products. It uses poorly cached deep-nested loops to collect and manage attribute option info.
Reducing the number of loops and properly configuring cache management for these products will result in a big improvement in how fast Magento 1 operates in these situations. It’s entirely possible to include the optimization feature into an automated extension and reap good results.
Similar supported features:
- caching for “is saleable” results and translated strings,
- applying asynchronous indexing to prevent certain conflicts,
- merging CSS based on device / per page requested,
- signing cached content to let the browser know it needs to load it again (no support for remote content, though),
- shortening database queries through flat tables,
- reducing the number of image checks in the gallery.
Now to the negatives. Obviously, there is a lot of stuff these extensions can’t do. We’d like to highlight a few of their disadvantages because they are closely interconnected with the features they do offer.
1. Extensions CAN’T Optimize CSS Delivery
CSS manages styles and other graphical improvements. It is responsible for how your HTML appears on the page. CSS code can be something simple, such as a red-lettered text, or something fancy, such as a cool shadow effect from a group of <div> blocks.
If a piece of CSS code slows down everything else on the critical rendering path, your extension will not be able to deal with it. The browser will be busy figuring out how to interpret all CSS files instead of displaying content on the page.
2. Extensions CAN’T Install Server Tools for You
More complex extensions require multiple server tools to work properly. You’ll need the help of a tech support team to install them. In addition to simple installation, you’ll also need Redis set up and properly configured in your store to reap all the benefits. Memcache just won’t cut it.
3. Extensions CAN’T Deal With Complex Issues
Most store owners see optimization extensions as a fast solution to their big problem which is not the case. Magento optimization extensions can be a quick patch for a small wound but when you have a massive store with dozens of extensions and a complex customization setup, there’s very little you can fix with a small patch. You need a bigger tool to deal with a bigger issue.
4. Extensions CAN’T Optimize Third-Party Database Queries
Extensions are designed to work with standard Magento functionality. They are not actually capable of optimizing SQL queries that form inside other extensions. You’ll have to use Magento Profiler to deal with such queries.
The biggest appeal of any good solution is the ease of use. Unfortunately, when it comes to Magento optimization extensions you will find out that most of them have a decent learning curve:
- First, you have to install multiple server-side scripts to ensure that the extension can optimize images, minify code, or do any other magic it was built for. The installation process is not trivial for a casual user. You’ll likely need help from the tech support team of the hoster.
- Second, you need to go through a post-setup process ticking and unticking different options in the Magento Admin panel.
Magento performance optimization is kind of hard. Not necessarily because it’s impossible to speed up at all but more because the optimizations are fragile. Imagine you have invested a huge amount of effort to reduce frontend load 3x from what it used to be. You are proud of yourself. You did a great job.
After one month you check the page again and it now loads 4x slower. What happened?! Well, your content manager apparently didn’t get the memo they now need to upload images in a different way than before. He ruined a big chunk of your optimization work with bloated banners.
So even though you’ve created a huge opportunity for the store to move up the ranks in Google and user experience level, it is now undone by a trivial human mistake.
Keep in mind that a third-party extension can cause more issues than it can fix. There’s always a small chance that your store will explode in a fiery ball of fire from a light bump.
Even so, we’ve built our own list of top 5 Magento optimization extensions that caught our eye. Among them:
- Amasty Google Page Speed Optimizer (the M1 version is also there),
- Templates Master Page Speed,
- Scommerce Mage Optimize Product Images,
- JaJuMa WebP Optimized Images,
- Apptrian Image Optimizer.
Just remember that optimization extensions have a limited number of tricks up their sleeve. Once that sleeve is empty, the magic is gone. Unfortunately, for larger stores, it happens way too fast. You need more to get tangible results. At this point, it becomes easier to actually optimize Magento yourself than use an extension.
In order to dig for alternative opinions, we’ve also lurked on the /r/Magento subreddit. To our surprise, the community was almost unanimously against using extensions for anything more complex than a mom-and-pop store.
The challenge with Magento is that third-party extensions can cover only a small fraction of the whole list of challenges that you will face: from database issues to improper cache configuration and bottleneck hunting, the list of everything that could be wrong with a store is daunting.
Buying an extension is a good opportunity to fix the most obvious issues with performance. But at the same time, you should understand it’s in no way a magic pill for your troubles. No optimization extension can understand your codebase as well as a human developer.
With the extension, you can successfully tweak some parts of the code but don’t expect it to handle anything complicated. If your store has a lot of third-party extensions, a complex code structure, or a highly customized Magento in general – using an extension is not a good idea.
In addition to that, most extensions just turn on or off already existing Magento options which makes them even less useful.
Developers, on the other hand, do a thorough review of the whole codebase, both on the frontend and the backend. They refactor critical parts of your code and offer a clean solution, something an extension would struggle to produce.
If you want to learn more about how a manual optimization process is different from a canned solution, check out our performance optimization services page.