JS error: "jQuery is not defined" after enabling LiteMage
Problem
After enabling LiteMage, Magento shows the JS error “jQuery is not defined”. This error can also be seen from the Chrome/Firefox development console.
Cause
LiteMage uses ESI to hole-punch certain blocks, which are then used by LiteSpeed Web Server when assembling the main HTML page. Each ESI block generates a separate HTTP response, and each of these responses passes through the JavaScript Minifier filter. When a hole-punched (ESI) block also contains JavaScript, the JavaScript Minifier filter processes the partial HTML as if it were an independent page, causing incompatible JavaScript references for the rest of the assembled main HTML page.
Solution
Locate the module throwing this error (in this example, the PageSpeed module), and either disable it, or modify its configuration settings. For this case, PageSpeed's JavaScript “Enabled” setting had to be changed from “Yes” to “No”.