Varnish only if the page can be cached. A shop cart cannot.
Full-page cache in front of NGINX or Apache. Anonymous HTML is cached. A cookie, the cart and wp-admin are not. Cloudflare already in front may make this a second cache you do not need.
The VCL is the job. A default install is not.
A brochure site or a blog without a session cookie. HIT in the header after the second request. The first request is always a miss.
WordPress login cookie, WooCommerce cart, wp-admin. Caching those is how one customer sees another’s basket. We pass them to the backend.
A published post has to leave the cache. A ban or a purge URL, not a restart of Varnish as the publishing workflow.
Cloudflare plus NGINX cache plus Varnish is three copies of the same page
Consulting can end with “do not install Varnish”. A slow PHP request is not fixed by a cache that bypasses on every cookie. Panels that regenerate vhosts must not own port 80 if Varnish does.
€55 an hour. A WooCommerce site may be a no.
Minimum 1 hour. If the first look shows every request carries a session cookie, we stop and say the cache will not hit. That hour is the result.
Anonymous pages slow, and no cache in front yet?
Tell us if it is WooCommerce and whether Cloudflare is already on. No root password in the first message.
