NitroPack is described as an all-in-one performance optimization service. It integrates everything users need to enjoy the lightning-fast website. Code minification, image optimization, lazy, loading, caching, CDN, and a lot of other features, NitroPack has them all. The service performs all optimizations in the cloud. Thus, it makes a greatly lightweight solution with a lower CPU overhead when compared to the standard caching plugins.
The service offers various, normally paid extra, functionalities that are included without the need for more configuration.
- Image Optimization – it optimizes all images automatically and converts them to WebP.
- Amazon CloudFront CDN – it automatically serves users’ static assets from a CDN based on Amazon’s CloudFront service.
- Cache Warmup – the plugin ensures that all the most important pages are optimized always.
Besides all these functionalities, the plugin also comes with other features and benefits that make it a worthwhile addition to any website. Lots of misconceptions about the service have come up over the years confusing different communities. That is why the developers have taken their time to debunk various issues and shed some light on these misconceptions.
Computing On The Web
Computing is all about timing. The web is primarily single-threaded, in terms of the user-space code (JS). It also suffers from similar issues that the computing sector suffered when CPUs were single-threaded. In essence, many programs have to be executed and each of these has total control over the main thread.
“Cooperative multitasking” was one of the first solutions for multitasking in computers. It relies on the basic fact that the programs will voluntarily free the CPU to let other programs run too. That is a similar scenario to how the web works currently.
A JS block of code can run to full execution, execute indefinitely, or break its tasks into various subtasks and give back some CPU time to the other programs operating on the main thread in between the subtasks.
Users prefer the latter since by splitting everything into subtasks, the system gets some time to either execute other scripts if nothing more important is available and work on things like drawing the website on the screen and then responding to user interaction events.
NitroPack has a goal of freeing up CPU time to ensure that the important tasks like rendering and effective response to user interaction can run along with the JS on the page. It might take a while before the website integrates these features and functions entirely, but developers and experts believe that we are on the right track and have achieved good results so far.
This plugin uses a one-of-a-kind algorithm for loading user resources to enhance user experience. Eventually, all of the existing scripts get executed. That is needed to preserve a site’s original behavior. However, how the scripts are executed is what makes the difference when it comes to user experience.
Many users are worried that NitroPack is deleting scripts or functionality to achieve better performance, but that is not the case. One of the options available for script loading that the plugin offers is to delay the execution of various scripts until user interaction is detected.
Some people consider this a “hack” or “cheating” but they are okay with image lazy loading which is just the same thing. Image lazy loading is delaying image loading until the image is needed or comes into view.
Notably, delaying script loading until user interaction is essentially lazy loading for the scripts. It means loading just the essential scripts to present a website and then load the rest of the scripts as they are required whenever the user begins interacting with the site.
The plugin is a pioneer in introducing this option to the market. However, other solutions have recently begun to adopt similar technology in their design and functionality. Thus, timing in computing is crucial and NitroPack offers a system with ideal timings for every situation.
How Does NitroPack Offer The Best Results?
Script lazy loading is great. However, it is not the only thing that gives the great results that NitroPack offers. It is the whole package of all the features working concurrently that make incredible results possible.
For instance, the plugin offers a complete suite for image optimization, which includes adaptive sizing, compression, and image lazy loading. Most of the solutions have offered lazy loading for years, but it was NitroPack that pushed it to the next level by automating the lazy loading of all the background images since its first day.
Other solutions normally offer the option to lazy load inline background images while this plugin does it for all images, including those coded into CSS files. Interestingly, it happens automatically for all images.
In the case of image compression, almost no other optimization solution offers it as a part of their toolkit despite it being crucial for an excellent image loading experience. In most cases, the users need to pair their website optimization solution with an image optimization one as they try to make them work together.
The Foundation
When these optimizations are paired with a high-quality CDN that is applied to all resources automatically, a good foundation to build upon the website is created. CDN is currently based on Amazon’s CloudFront. Since NitroPack is an entirely cloud-based solution, it offers a framework for optimizing sites that is otherwise impossible to achieve.
Notably, most of the hosting providers enable users to execute just PHP code within the scope of a web request. Some of them allow executing code in a separate process and fewer support the execution of non-PHP processes. It means that the options for running a site optimization become quite limited due to the restrictions on what can be executed on the server.
Having a cloud network enables users to use any software/system/language to perform the optimizations and enjoy fast interconnects between the systems with the enhanced benefit that optimizing the site normally adds zero overhead to the servers.
Does The Plugin Cheat In Tests?
It does not cheat in these tests. A majority of the users get confused when they review the output of tools like GTmetrix. There are questions worth answering like why results show just 13 resources when it is clear that the site has more resources and why the size of some files is 0.
The answer to these questions is asset preloading. GTmerix does not show the whole story like it is the case with Google Chrome’s inspector.
The inspector shows how the CSS files in the first group are preloaded. Notably, the same CSS files are loaded into the page as a group (2) and their size is zero since they are loaded from cache. This means that no data has been transferred over the network.
The same case applies to the JS files in group (3) since they are preloaded and scheduled to be loaded. Notably, they are preloaded with their real sizes. In conclusion, GTmerix will publish resources with size 0 because they have already been preloaded, not because the files are 0 bytes.
Due to this unique method that the NitroPack plugin uses to preload the files, they do not block the main thread. Thus, GTmetrix does not show the rest of the requests and resources. But, that is a decision made by the GTmetrix developers.
NitroPack strives to solve page loading problems by enhancing the real-world loading experience irrespective of the output of speed measuring instruments. Due to the unconventional solutions that the plugin offers, reading results from various analytical tools like GTmetrix requires different interpretations compared to the output when evaluating a conventional solution.
Value For Money
There is a notion that NitroPack is too expensive. Many clients compare the plugin’s subscription price to the one-time payment solutions not knowing that these solutions are missing crucial features like image optimization/compression and a built-in CDN.
Some of the solutions offer the features as paid addons that are monthly subscriptions. Adding the price of all these add-ons to the initial one-time investment makes a huge difference.
It is therefore advisable to consider the price of the addons in chosen solution before comparing between any two solutions available out there.
NitroPack Complements Fast Servers
Some people have the idea that subscribing to a higher-tier server instead of NitroPack is a great decision. A faster server is great for a site that is running slow, but it is barely related to the solution that the plugin offers. A faster server gives faster TTFB (time to the first byte). However, that is just a small part of the site visualizing on the customer’s device.
The faster server guarantees a shorter time to send dynamically generated HTML codes to the customer’s device. After the client receives the HTML, the receiving device renders the website with the same speed irrespective of how powerful the site owner’s server is. This case applies to assume static files are served at equal speeds.
For the cacheable pages, the same effect gets achieved by using a caching mechanism on a less powerful server. However, NitroPack’s main focus is enhancing and optimizing the process of visualizing the website and loading every resource available to the client’s device. That makes the plugin service a great addition to the low-powered servers and powerful dedicated multi-server environments.
NitroPack’s Unique Features And Benefits
Getting started with this service is easy since there is no technical configuration or a cumbersome 15-step installation process. You do not have to be a developer to set it up. Instead, follow these 4 steps and it will be ready for use in no time.
NitroPack works on copies of a website’s files which means that there is no risk of damaging the original site files. If you are not contented with the results from optimization, you can purge your cache and start over. Whenever the plugin is disabled, the site goes back to the state it was in before NitroPack was activated.
It is possible to invalidate cache files instead of purging them which enables the plugin to keep serving site visitors from the cache while a new copy of the cache gets generated simultaneously in the background. Thus, cache invalidation is ideal for high-traffic situations like campaigns. It enables site owners to keep updating their sites while still serving cache to clients. In the case of NitroPack, cache invalidation happens automatically.
Most of the plugins that offer critical CSS functionality prepare one critical CSS file per post type. Even when the site has multiple pages with the same post type but different layouts, they prepare a single CSS file. On the other hand, NitroPack detects the layout and generates a unique critical CSS file for every unique layout. Since mobile devices and desktops have different viewports, the plugin also uses different critical CSS for every device type.
The plugin is designed to discover and optimize all resources that are linked into a website’s theme, including those that come hardcoded into CSS files; even when they are many levels down an @import chain.
In general, the configuration of NitroPack’s service needs no technical know-how. Users need to choose their preferred optimization level: Standard, Medium, Strong or Ludicrous, and the plugin do the rest of the work.