OK, ran some webpagetest.org tests on your staging instance (the shop-pages);
test with autoptimize
test without autoptimize
Based on those I think that:
* the wpengine page caching isn’t working
* you probably have page-specific javascript or CSS in those pages
If a page is in page cache, this is what happens:
1. page is returned from cache
2. optimized CSS/JS as referenced in HTML is fetched from Autoptimize cache (those are entirely static files)
If a page is not in page cache, this is what happens;
1. wordpress builds the HTML
2. autoptimize intercepts the HTML before it is sent out and:
2.1. autoptimize extracts & aggregates CSS & JS
2.2. autoptimize checks if a minified version of that aggregated CSS & JS exists in cache
2.2.1. if not minified version exists, autoptimize creates it
2.3. autoptimize alters HTML, replacing original CSS/JS with links to optimized version
From autoptimize’s perspective, the most expensive step (performance-wise) is step 2.2.1, hence the importance of being able to reuse optimized files from cache. but optimized CSS/JS from cache can only be re-used if the aggregated CSS or JS from the one used on another page. This means that if you have CSS or JS (generally inline) which is specific for each page (or worse, changes with every pageload) you should exclude those from optimization.
based on that, I would suggest you to;
1. check/ ensure that page caching is active (there no specific x-cache header in the http-response-header)
2. dive in your HTML to look for page-specific CSS or JS and exclude those from optimization (I see product SKU’s in the optimized JS + the essb-thing changes with every pageload, that’s a killer really).
hope this helps,
frank