Hi,
We are developing a Woocommerce webshop, hosted on openlitespeed. We use the LS Caching plugin for wordpress, and have a QUIC cloud subscription enabling us to use ESI. We are trying to determine what is the best strategy to always serve up-to-date product- and archivepages from the litespeed cache. I will lay out some crucial points here:
Thanks in advance.
We are developing a Woocommerce webshop, hosted on openlitespeed. We use the LS Caching plugin for wordpress, and have a QUIC cloud subscription enabling us to use ESI. We are trying to determine what is the best strategy to always serve up-to-date product- and archivepages from the litespeed cache. I will lay out some crucial points here:
- We use a modern block-theme, using Gutenberg blocks or (custom) shortcodes to render information to the frontend.
- Our prices and availability of the product are updated at least once a day, from an external service that connects to the Woocommerce API of our site.
- We have different customer roles, that should be served different prices.
- We always want to serve fast pages from the cache.
- What markup should I see on the source code of the page when ESI placeholders are placed, but are not replaced with cached content? We are having troubles getting ESI to work with our blocks.
- How do we implement ESI on blocks like the stock Woocommerce Gutenberg priceblock, and shortcodes? We use both to display price and availability respectively and neither one works as expected.
- Will an update of one or multiple products through the Woocommerce API purge the litespeed cache?
- If so, does it purge only the applicable page and archive page or does it purge the whole site?
- If we want to make sure the cache for a productpage is refreshed after it has been updated, can we just do a backend CURL or WGET and if so, do we need to send specific cookies or request headers?
- If we want to do this for multiple roles in order to make sure each role's ESI block is also prepared in cache, how do we do that?
- Can we refresh the cache of specific ESI blocks by ID or hash, without refreshing the entire parent page's cache?
- If so, how do we retrieve the ID or hash for this ESI block?
Thanks in advance.