All 19 NimbleCache sections
Pages built but not stored
When the Dashboard shows far fewer pages cached than your site has, the Pages Not Stored panel says why. It lists the reasons WordPress built a page for a signed-out visitor and the cache then refused to keep it, over the last seven days, busiest first. When a cookie is to blame it names the cookie, for example "A page set the cookie xyz_visitor: 12 samples". That is almost always a plugin setting a cookie for every visitor, and finding which plugin sets it is the fix: ask it not to set the cookie for visitors who are not signed in, or turn off the feature that sets it.
A page can also refuse by its headers and set a cookie at the same time. The commonest is a plugin that starts a PHP session for every visitor: PHP then sends Cache-Control: no-store along with its session cookie, PHPSESSID. The panel names the cookie for these too, as "A page set the cookie PHPSESSID and asked not to be cached", and Diagnostics says that PHPSESSID is PHP's session cookie.
Each line shows up to three addresses where it happened and a Check an example button, which opens Diagnostics on one of them so you can see the same answer from a live fetch. Up to five cookies get a line of their own, the five seen most that week; any others are counted in their reason's line without a cookie, such as "A page set a cookie". The addresses are kept as the page's own, with or without a trailing slash, so the example opens the page itself rather than an address WordPress redirects.
Once you have fixed the plugin behind a line, press Clear these samples in the panel. The samples go, the rest of the statistics stay, and new ones are counted from then on, so the panel shows whether the fix worked without waiting seven days for the old samples to age out.
What it counts, and what it does not:
- Counted: a page that set a cookie, a page that asked not to be stored or reused (
Cache-Control: no-store,no-cache,private, or anExpiresdate in the past), a web page too short to be real,DONOTCACHEPAGE, and a page that already has as many cached copies as the cache keeps track of. - Not counted: redirects, errors and 404s, which are expected;
robots.txtand other short text or XML answers, which are short on purpose and are still not stored; and everything refused before WordPress builds the page at all, such as signed-in visitors, carts, form submissions, the admin and the REST API. Those are meant to be fresh every time. - The numbers are samples, and each line says so. At most one refused page a minute is written down, so a site where nothing caches is not given a database write on every visit. Read them as which reason matters most, not as totals. A cache hit writes nothing, and neither do the cache's own requests: the preloader's warm-up and the Diagnostics live check.
- The address is kept without its query string, and a cookie by its name only, never its value. Nothing about the visitor is kept.
The panel disappears once seven days pass with nothing refused, or when you press Clear these samples. Clearing the cache does not clear it, and deleting the plugin with Delete all data removes it. wp nimblecache status prints the same lines.
Still stuck? Ask the developers who wrote it. We aim to reply within one business day.