JCH logoYour Joomla!® website, probably like most if not all websites, contains many, many files that "make" your website function.

There are CSS files (Cascading Style Sheets), php files, javascript files.

Joomla itself, and installed extensions, will have these files.

Every-time your website is loaded into your site visitor's browser, the required files have to be loaded.

If there are several files of each file type this loading of multiple files takes time and is one aspect that determines to one extent or another how fast your website loads. Remember waiting for that rotating loading symbol ?

We can reduce the number of files loaded by combining them into the minimal quantity possible. Ideally, this will be one file. realistically this may be one or two files of each file type. This is file optimisation.

So when your visitor views a page the loading speed is reduced. Great news. Your visitor is not so likely to get fed up waiting.

To the recuse is a package that is highly configurable with multiple levels of optimisation.

JCH Optimize provides this package to achieve file optimisation by combining files.

Available are two types:

  • Core (Free)
  • Pro (Paid)

As with most "Free versus Pro" extension versioning the Pro version contains features not available in the Free version.

usingjoomla.com suggestion

Try the free version.

When you are happy with the functionality and set up process and find you want more - go for the Pro version.

JCH-Optimize requires an element of configuration. Depending on what other packages you have installed on your Joomla website you may find the need to tweak the settings which includes the ability, when needed, to exclude combining files from other named / specific feature on your website. But this does not have to mean that your site load speed will be "poor".

Remember

If you can, for example, reduce CSS files from 16 files loaded individually down to 3 or 4 files, you will have made a load speed improvement.


The table below gives you a comparison of JCH Optimize Professional version versus Free version features.

As with all extensions, components and plugins - this one also gets updated to reflect new and changing practices and developments.

The comparison table below is based on version: 7.1.1 - the latest available as of: 12th December 2021

Where there may be any discrepancy between this article and the developer's official website - you are advised to consult JCH Optimize where you can download the free version, have a read, as well as ask the developer pre-sales questions.

Disclaimer

This article is published in good faith to bring you Joomla tools that UsingJoomla.com uses.

UsingJoomla.com is not affiliated to, or endorsed by, JCH-Optimize.net

UsingJoomla.com does not receive any fees or favours for promoting this tool.

Feature Core
(Free)
Pro
(Paid)
Combine CSS Files
(Selectable from 'Yes' or 'No' options)
Yes Yes
Exclude CSS Files
(Type or select some options)
Yes Yes
Minify CSS
(Selectable from 'Yes' or 'No' options)
Yes Yes
Exclude menu items
(Type or select some options)
1) By URL 2) By menu selection
Yes Yes
Replace @imports in CSS
(Selectable from 'Yes' or 'No' options
Yes Yes
Include in-page CSS
(Selectable from 'Yes' or 'No' options)
Yes Yes
Exclude CSS files from specific (named) extensions
(Type or select some options)
Yes Yes
Exclude individual Internal STYLES Declarations
(Type or select some options)
Yes Yes
Exclude ALL internal STYLE declarations
(Selectable from 'Yes 'or 'No' options)
Yes Yes
Remove CSS Files
(Type or select some options)
Yes Yes
Enable Combine Files Yes Yes
Optimise .htaccess file Yes Yes
Order plugin Yes Yes
Generate new cache key Yes Yes
Clean cache Yes Yes
Add image attributes Yes Yes
Sprite generator Yes Yes
2 Sprite build direction options . . .
. . . Drop down list of options include
1) Vertical 2) Horizontal
Yes Yes
Sprite Generator - wrap images
(Selectable from 'Yes 'or 'No' options)
Yes Yes
Sprite Generator - exclude images from sprite
(Type or select some options)
Yes Yes
Sprite Generator - include additional images in a sprite
(Type or select some options)
Yes Yes
HTTP/2 push Yes Yes
CDN / Cookieless domain options Maximum 1 domain maximum 3 domains
CDN / Cookieless domain - Scheme options (domain 1) Drop-down choice from . . .
. . . 1) Scheme relative 2) HTTP 3) HTTPs
Up to 1 domain Maximum 3 domains
CDN / Cookieless domain static file types to inlude, individually selectable per domain - Domains 1, 2 and 3 Checkbox choice from . . .
. . . 1) CSS 2) png 3) gif 4) ico 5) pdf 6) js 7) jp(e)g 8) bmp 9) webp 10) svg
Up to 1 domain Up to 3 domains
Lazy load images
(Selectable from 'Yes' or 'No' options)
Yes Yes
Lazy load images - lazy load iFrames
(Selectable from 'Yes' or 'No' options)
Yes Yes
Lazy load - exclude images
(Type or select some options)
Yes Yes
Optimise CSS delivery Yes Yes
Optimise CSS delivery - Number of elements selectable from 4 pre-set settings in drop-down list . . .
1) 200 elements 2) 400 elements 3) 600 elements 4) 800 elements
Yes Yes
Debug plugin Yes Yes
Combine Javascript files
(Selectable from 'Yes' or 'No' options)
Yes Yes
Minify Javascript
(Selectable from 'Yes' or 'No' options)
Yes Yes
Include in-page Javascripts
(Selectable from 'Yes' or 'No' options)
Yes Yes
Include in-page Javascripts
(Selectable from 'Yes' or 'No' options)
Yes Yes
Defer or load Javascript asynchronouslyr
(Selectable from 'Yes' or 'No' options)
Yes Yes
Exclude Javascript while preserving execution order . . .
. . . Exclude Javascript files from extensions
(Type or select some options)
Yes Yes
Exclude Javascript while preserving execution order . . .
. . . Exclude Javascript files
(Type or select some options)
Yes Yes
Exclude Javascript while preserving execution order . . .
. . . Exclude individual internal SCRIPT declarations
(Type or select some options)
Yes Yes
Exclude Javascript while preserving execution order . . .
. . .Exclude ALL internal SCRIPT declarations
(Selectable from 'Yes' or 'No' options)
Yes Yes
Exclude files without maintaining the original execution order of files on the page . . .
. . . Exclude Javascript files
(Type or select some options)
Yes Yes
Exclude files without maintaining the original execution order of files on the page . . .
. . . Exclude Exclude Javascript files from extensions
(Type or select some options)
Yes Yes
Exclude files without maintaining the original execution order of files on the page . . .
. . . Exclude individual internal SCRIPT declarations
(Type or select some options)
Yes Yes
Do not move these files to the bottom of the page. . .
. . . Javascript files
(Type or select some options)
Yes Yes
Do not move these files to the bottom of the page . . .
. . . inline Scripts
(Type or select some options)
Yes Yes
Cache lifetime can be selected from 10 pre-set options . . .
. . . 1) 15 Minutes 2) 30 minutes 3)1 hour 4)3 hours 5)6 hours 6) 12 hours 7)1 day 8) 2 days 9) 7 days 10) 2 weeks
Yes Yes
4 Combined file delivery options available . . .
. . . 1) Static CSS and javascript files 2) PHP with query 3) PHP using url  rewrite with .htaccess 4) PHP using url  rewrite (without Options +FollowSymlinks)
Yes Yes
Use try-catch
(Selectable from 'Yes' or 'No' options)
Yes Yes
Gzip Javascript and CSS
(Selectable from 'Yes' or 'No' options)
Yes Yes
Minify HTML
(Selectable from 'Yes' or 'No' options)
Yes Yes
Include all extensions
(Selectable from 'Yes' or 'No' options)
Yes Yes
Include all extensions
(Selectable from 'Yes' or 'No' options)
Yes Yes
Include PHP and external resource Files
** This feature is in Beta stage **
(Selectable from 'Yes' or 'No' options)
Yes Yes
Miscellaneous - page cache
(Selectable from 'Yes' or 'No' options)
No
Yes
Miscellaneous - page cache type . . .
. . . Selectable from drop-down list of either . . .
. . . 1) System - Page cache, or 2) LiteSpeed Cache plugin
No Yes
Add dynamic CSS selectors
(Type or select some options)
No Yes
Optimise Google Fonts No Yes
HTTP/2 push - exclude deferred files No Yes
HTTP/2 push - push CDN files
(Selectable from 'Yes' or 'No' options)
No Yes
HTTP/2 push - exclude deferred files
(Selectable as 'Yes' or 'No' options)
No Yes
HTTP/2 push - File types applicable - 4 Checkboxes to select from . . .
. . . 1) style 2) script 3) font 4) image
No Yes
HTTP/2 push - include files
(Type or select some options)
No Yes
HTTP/2 push - exclude files
(Type or select some options)
No Yes
CDN / Cookieless domain custom extensions
(Type or select some options)
No Yes
(Domain 1 only)
CDN / Cookieless domain - preconnect CDNs
(Selectable from 'Yes' or 'No' options)
No Yes
Optimise images - global options - ignore optimised images
(Selectable from 'Yes' or 'No' options
No Yes
Optimise images - global options - Next-Gen images
(Selectable from 'Yes' or 'No' options)
No Yes
Optimise images - global options - Support old browsers
(Selectable from 'Yes' or 'No' options)
No Yes
Optimise images - global options - Auto resize images
(Selectable from 'Yes' or 'No' options)
No
Yes
Optimise images - global options - manually optimise images - Recurse in subfolders
(Selectable from 'Yes' or 'No' options)
No
Yes
Optimise images - restore original images
(Selectable from 'Yes' or 'No' options)
No
Yes
Optimise images - Delete backup images
(Selectable from 'Yes' or 'No' options)
No
Yes
Lazy load images - auto size images
(Selectable from 'Yes' or 'No' options)
No
Yes
Lazy load images - lazy load background images
(Selectable from 'Yes' or 'No' options)
No
Yes
Lazy load audio / video
(Selectable from 'Yes' or 'No' options)
No
Yes
Lazy load - exclude given folders
(Type or select some options)
No
Yes
Lazy load - exclude these classes
(Type or select some options)
No
Yes
Lazy load - Enable effects
(Selectable from 'Yes' or 'No' options)
No
Yes
Optimise CSS delivery - remove unused CSS No
Yes
Optimise CSS delivery - CSS dynamic selectors
(Type or select some options)
No
Yes
Smart combine No Yes
Page cache No Yes
Remove unused CSS No Yes
Reduce DOM No Yes
Download ID field No Yes
Combine CSS and Javascript files No Yes
Smart combine CSS and Javascript files No Yes
HTML minification level can be selected from 3 pre-set options . . .
. . . 1) Basic 2) Advanced 3) Ultra
No Yes

Notes

Lazy loading

The opposite of 'Eager Loading', 'Lazy loading', also known as 'asynchronous loading', is a method used in web development and design to delay initialisation (or delay the display) of an item such as an image until the point at which the image, or item, is needed - typically when it is scrolled into view.

Lazy Loading can contribute to better website efficiency - making it good in cases where website content is accessed and initialisation times need to be reduced, or kept at a minimum.

For example, delaying the loading of images on a webpage until they are needed (such as when they come into view) can make the initial display of the web page faster.

Sprite / Image Sprites

An 'image sprite' is a collection of images put into a single image.

A webpage with many images can take a long time to load and generates multiple web server requests.

Using 'image sprites' will reduce the number of web server requests (and so improve web page loading speed).