Should I still combine static resources with HTTP/2?

When you have many plugins and each plugin introduces stylesheets and scripts, you will probably have many HTTP requests.

If your server only provides HTTP/1, the higher is the number of scripts and stylesheets, the higher will be the loading time because some resources have to wait for the previous ones before starting the download.

With HTTP/1 the browser can usually parallelly download not more than 6 resources, it depends on the browser, but for simplicity let’s say 6.

To know more about the protocol HTTP and the difference between HTTP/1 and HTTP/2 you can read here

Using HTTP/2 you can download all the resources in a parallel way and they don’t have to wait for the previous ones.

So using HTTP/2 having 50 scripts of a total size of 500 kB or 1 script of 500 kB would be almost the same. On the contrary, with HTTP/1 it would be a big difference.

Using Freesoul Deactivate Plugins you totally deactivate the plugins on the pages where you don’t need them, so the disabled plugins will not introduce their scripts and stylesheets.

But if you concatenate all the scripts in one single file and that file is loaded on all pages, of course, Freesoul Deactivate Plugins will give you a lot lower benefit. In this case, it will only remove the database queries of the disabled plugins, but when the pages are served by the cache, you will not notice any difference in terms of performance.

Usually, the plugins that give you the possibility to combine the resources, will generate a single file for each script or stylesheet combination, taking into account that some pages will need a different file. In this case, you will have all the benefits of Freesoul Deactivate Plugins also concatenating the resources.

 

This is a list of plugins that generate the concatenated files taking into account the different resources needed on every page:

Autoptimize

WP Fastest Cache

LiteSpeed Cache (be careful it has also an option to use everywhere the same combined file, don’t use this option)

WP Rocket

 

If you use one of the plugins above for the concatenation, you don’t have to worry, you will still have all the benefits given by Freesoul Deactivate Plugins.

Probably most of these kinds of plugins generate different combined files, the list above includes only the plugins that were tested focusing on this topic. If you have another plugin, just check that the combined files are not always the same on every page.

If the plugin you are using for the concatenation generates only a single file that is loaded on all pages, even if you deactivate the unused plugins you will still have their scripts and stylesheets in the combined files. In this case, you will only reduce the database queries but not the total size of the HTTP requests.

If on the contrary, the combined files are different you lose the benefit of the browser cache.
Be careful, no speed meter will tell you your pages are slower because you can’t take advantage of the browser cache. They only tell you that you are a good guy if you instruct the browser to implement the browser cache, but they will measure your page speed loading all the assets without the browser cache.  But the users will perceive a big difference with or without browser cache.

So, in one way or another, if you combine files and you have HTTP/2, you lose something in terms of performance. Our suggestion is remove unused files instead of combine them in a bigger file.