If ESI is enabled all related and supported content areas like shopping cart is automatically Private Cache. The documentation contains outdated information about private cache for WooCommerce.
ESI is currently disabled, so I assume I simply click enable (nothing else needs to be configured?) and everything works?
It depends what do you want to use ESI for? ESI must be handled with care. If you don’t really need it, then disable it because it “could” (but not must) ruin all advantages from the cache.
The problem is, the complete site is really fast. Thanks to caching. But as soon as you add a product to cart or visit the cart (as a guest mainly), the site is very very slow.
So caching with hole-punching seems like the best option, as I understand that is wat ESI does? But it’s unclear to me if any other changes need to be made or not
So caching with hole-punching seems like the best option, as I understand that is wat ESI does?
Basically yes, but in checkout (shopping cart included) and other privately pages the cache must be disabled, so it doesn’t matter if ESI is enabled or disabled. You can only try using object cache or use a stronger server. WooCommerce and if you have many plugins installed Shared Hosting is not suitable.
ESI doesn’t provide caching for non-private parts of the page?
Weird part is, there already is object cache (Redis Object Cache plugin) and a strong server with LiteSpeed webserver installed with lots of RAM. But still the cart takes 9sec to load π
ESI doesnβt provide caching for non-private parts of the page?
You got the question wrong or you haven’t fully understood ESI yet. With ESI you can punch wholes in content areas. Those areas can have a different cache-control as the surrounding content, but it is basically not limited to a certain cache-control. (in cache plugin cache-control is always fix.)
In your specific case, using ESI makes no sense if you think your checkout would load faster with ESI because the cache in the checkout is completely disabled.
Have a look at this picture. It describes at its best what ESI is and how it works.: https://blog.litespeedtech.com/wp-content/uploads/2017/09/null-1.jpeg.webp
I will look into this, thanks!