What the check looks at
C8 runs only when your home page is cached at the edge. The plugin calls your home page cached at the edge when one of two requests for it, without query string or cookies, is a HIT, or when the answer carries cf-apo-via: tcache. It then looks at settings and active plugins: WooCommerce set to guess the customer location, a multilingual plugin, and a currency switcher.
Like every request Edge Doctor sends, these go only to the hosts of your Site Address and WordPress Address (home_url() and site_url()). An address WordPress gives on another host, such as a single sign on page, is never requested.
Results and what they mean
| Result | What it means |
|---|---|
| PassedConfidence: Medium | Nothing on this site varies per visitor on a cached page The plugin found nothing that changes pages per visitor. |
| WarningConfidence: Medium | Something on this site varies per visitor while pages are cached WooCommerce is set to Geolocate. Every visitor of a cached page gets whatever the first one was given. |
| WarningConfidence: Low | Something on this site varies per visitor while pages are cached A multilingual or currency plugin is active; it matters only if it picks the language or currency from the browser or the location rather than from the address. |
| Not applicable | No cached pages to check for content that differs per visitor Reason not_observed. |
| Not applicable | Cloudflare is not in front of this site Check A1 did not detect Cloudflare, so this check sent no request. Reason not_behind_cloudflare. |
When the result names a reason
not_observed: The plugin has not seen this happen on your site.not_behind_cloudflare: This site is not behind Cloudflare.
Symptoms you may notice
- Visitors see prices with the tax or shipping of another country.
- The site greets visitors in a language they did not choose, or switches currency at random.
Why it happens
A cached page is the same for everybody. A feature that decides on the server, per visitor, runs once for whoever made the copy, and everyone after that gets the same result.
Confirm it by hand
In WordPress, open WooCommerce, Settings, General and read Default customer location. For language and currency plugins, check whether they detect the browser language or the location.
How to fix it
In WordPress: set Default customer location to Geolocate (with page caching support), which does the guessing after the page loads. Let language follow the address (for example /en/) rather than the browser, and use a currency switcher mode that works with page caching, if it has one.
In Cloudflare: if a feature must stay per visitor, exclude the pages that use it from the Cache Rule.
Limitations
C8 reads settings and plugin names, not the pages. It cannot tell how a multilingual or currency plugin is configured, which is why those cases have Low confidence.
Related checks
- C2 WooCommerce cart, checkout and account in the cache: shop pages in the cache.
- C5 Login cookies and private responses: how the cache treats cookies.
- C3 Logged-in pages in the public cache: per-person content in the cache.
Sources
Run this check on your own site with Edge Doctor for Cloudflare®, free on WordPress.org.
Edge Doctor for Cloudflare® is not affiliated with or endorsed by Cloudflare, Inc. Cloudflare is a registered trademark of Cloudflare, Inc.