xSpeed Cache is officially live! Get 50% OFF during Launch Week — Lifetime starts at just $79Lifetime from $79 — 50% OFF, Launch Week! See Plans →

See Plans →
Features
xSpeed Hub Pricing Docs Blog Scan
Appearance
Get Plugin

Find out why WordPress pages are not cached with ChatGPT

Finding out why pages are not cached with ChatGPT means describing the problem in chat and letting it read your xSpeed cache status and health checks through an xSpeed Hub connector you added, then explain the cause.

list_sitesget_cache_statusget_healthrun_benchmarkget_benchmark_historyget_pro_audittoggle_cachecontact_support

Last updated: October 2026

Example session · ChatGPT

You: Every request to shop says MISS. Using xSpeed Hub, why is it not cached?

get_cache_status(site: shop) read-only
→ page cache on, 0 cached pages, hit ratio 0% in the last 24h

get_health(site: shop) read-only
→ 1 warning: permalinks set to Plain; other checks pass

ChatGPT: Page caching keys on the request path, and Plain permalinks have none. That is the cause. xSpeed cannot change it from here. In wp-admin open Settings, then Permalinks, choose any structure other than Plain and save. Tell me when it is done and I will check again.

You: Done.

run_benchmark(site: shop) read-only
→ home page: 447 ms uncached, 58 ms cached, cached request was a hit

ChatGPT: Fixed. The home page now hits the cache, and the other pages will fill in as visitors request them.

01

How ChatGPT handles this

You are in a ChatGPT conversation with a complaint. PageSpeed says the server is slow, or every request shows a MISS. You type something like: why are my pages not cached on shop? ChatGPT calls the tools of the xspeedhub app you selected in the composer, starting with the site list and the cache status.

get_cache_status returns whether caching is on, the cached page count, the hit ratio and the last purge. get_health returns the checks behind it, and one of them is often the answer. A common one is Permalinks set to Plain: page caching keys on the request path, and Plain permalinks give it nothing to key on. ChatGPT writes that up in plain words. xSpeed cannot change permalinks from the Hub, so the fix is a wp-admin step it describes for you, and you tell it when you are done so it can check again with run_benchmark.

ChatGPT reaches xSpeed through a custom MCP app that you create in developer mode on the web, and you sign in with OAuth. ChatGPT treats a tool without a read-only annotation as a write action, and xSpeed Hub's tools carry none, so expect a confirmation for each call, reads included. You can expand a call to read what it will send. Which plans get write actions differs between OpenAI's pages, but you do not need writes to diagnose: the diagnostic tools only read. To keep the chat useful later, ask ChatGPT to end with a short list of what it checked and what it found. It is easy to lose track of which site a warning belonged to once a conversation covers more than one. Name the site in every follow-up, and say so when you switch to another.

02

Set up ChatGPT once

Already connected? Skip to the prompts. Alternatives and troubleshooting are on the ChatGPT guide.

1Put your sites in xSpeed Hub

Sign in at app.xspeedcache.com with Google or email; the Hub is free and has no site cap. Then connect each WordPress site from its own dashboard: click Connect Hub in the xSpeed Cache top bar, then Connect via xSpeed Hub. Each site needs the free xSpeed Cache plugin.

2Turn on developer mode

In ChatGPT on the web, open Settings, then Security and login, and turn on Developer mode. On a Business workspace only admins and owners can use it. On Enterprise and Edu an admin grants access first, and you then turn it on under Settings, Apps, Advanced settings.

Text
Settings  >  Security and login  >  Developer mode

3Create the app from the Hub URL

Open ChatGPT Plugins, select the plus button and create a developer-mode app. Name it xspeedhub, paste the MCP server URL and choose OAuth. Click Scan Tools, approve access on the xSpeed Hub page that opens, wait for the scan to list the tools, then click Create. Workspace admins can also start from Workspace settings, Apps, Create.

Text
https://app.xspeedcache.com/xspeed/mcp

4Select the app in a chat

The app appears under Drafts in your app settings with a Dev label. In a new chat, open the plus menu in the composer, choose Developer mode and select xspeedhub. In a workspace, only an admin or owner can publish the app for other members.

Text
+  >  Developer mode  >  xspeedhub
1 / 4

Full ChatGPT setup, sign-in options and FAQ

Before you send a prompt that changes something

Reads change nothing on your sites, though contact_support emails xSpeed support. Writes run once your connection allows them, so your client's approval prompt and a read-only connection (the token's Read-only everywhere switch, or a Viewer sign-in) are the gates that matter. ChatGPT asks you to confirm write actions by default. You can expand a tool call to read the JSON it will send, and you can choose to remember an approve or deny choice for a tool for the rest of that conversation. ChatGPT respects a tool's read-only annotation and treats a tool without one as a write action; xSpeed Hub's tool definitions do not declare that annotation today, so expect confirmations on reads as well. OpenAI says confirmation also depends on app permissions and context, and some especially risky actions can be blocked. xSpeed Hub has no confirmation step of its own, so once you tell ChatGPT to remember Approve for a tool, that tool runs without a prompt for the rest of the conversation, as soon as your connection allows writes.

03

What do I ask?

Three prompts written for ChatGPT. More for this job are below.

Prompt for ChatGPT
Using xSpeed Hub, why are my pages not cached on shop? Quote the failing health check word for word.
Prompt for ChatGPT
I changed my permalinks. Use xSpeed Hub to check shop again and tell me whether pages are cached now.
Prompt for ChatGPT
Is my hit ratio low because of a problem, or because Cloudflare answers at the edge? Run the benchmark through xSpeed Hub and explain.
04

What happens, step by step

When a WordPress page is not served from cache, the cause is usually one of a few things: caching is off, the cache drop-in or the WP_CACHE constant is missing, another caching plugin is in the way, or the pages carry something that makes them uncacheable. Through xSpeed Hub an agent can read the cache status, run the site's full health diagnostics, time a cached request against an uncached one, and check which Pro features would help, all without changing anything.

01

Start with the quick summary

get_cache_status returns whether page caching is on, the stats (cached pages, size, hit ratio, last purge) and the web server xSpeed detected. It is a glance. If caching is off, or the hit ratio is far below what you expect, the agent moves on to the diagnostic.

02

Run the diagnostic

get_health is the tool for troubleshooting. It returns the environment checks with pass or warn tones (the advanced-cache.php drop-in, the WP_CACHE constant, rewrite rules, PHP and WordPress versions, caching plugin conflicts), the cache stats, 24 hourly hit and miss buckets and a 30-day hit-ratio series. The Hub tells the agent to use it, not get_cache_status, when you are troubleshooting rather than glancing.

03

Time cached against uncached

run_benchmark requests the home page once with the cache bypassed and once normally, after a warm-up request, and returns the timings. If the second request still is not a cache hit, the page cache is not serving the home page, and the result says so. It measures xSpeed's own response time. It does not return a Lighthouse score.

04

Read what the checks mean

A warn is a lead, not always a fault. A static-file rewrite warning, for example, can mean the nginx snippet is not in your server config yet, or that xSpeed could not verify it, which is not evidence the config is wrong. The agent reads the detail line and tells you which one it is.

05

Fix it or hand it over

If caching is simply off, toggle_cache turns it on. If another caching plugin owns the drop-in, the site refuses to enable xSpeed and says why; removing the other plugin is yours to do. If nothing explains it, contact_support emails xSpeed support with the agent's summary, after the agent has confirmed the message with you.

05

Reference

Quick checkget_cache_status (read): cache on or off, stats, detected web server
Diagnosticget_health (read): environment checks, 24 hourly buckets, 30-day hit-ratio series, recent activity
One site per callget_health does not accept site: "all"; call it for each site you care about
Benchmarkrun_benchmark (read): home page only, cache bypassed against cache served, timings in milliseconds
Benchmark on every siterun_benchmark accepts site: "all" or a list of handles, one result per site
Benchmark historyget_benchmark_history reads past runs and the settings changes on the same timeline
Pro suggestionsget_pro_audit (read): which Pro features would help this site, from its settings and stats
Hit ratio scopeCounts requests that reach your server; pages answered by a CDN or Cloudflare edge are not counted
Supportcontact_support emails xSpeed support with your account email and site list attached; classed read
Turning caching ontoggle_cache (write); refused by the site when another plugin owns the cache drop-in
06

Rules worth keeping

  • Diagnose with the read tools first. get_cache_status, get_health, run_benchmark and get_pro_audit change nothing on the site, so a read-only connection can run all of them. For clients that send the connection token, that means Read-only everywhere on; an OAuth sign-in gets the scopes the client asks for, unless the member is a Viewer.
  • Do not answer a PageSpeed question with run_benchmark. It measures cached against uncached response time and returns no Lighthouse score; for a score, use the speed test or scan jobs.
  • toggle_cache is a write. It runs as soon as your connection allows writes, and the Hub tells the agent to confirm the target site first. That is guidance to the agent, so your client's approval prompt is the gate that matters.
  • contact_support sends a real email. The Hub tells the agent to confirm the message with you before sending, but the tool is classed read, so even a read-only connection can send one.
  • The agent cannot edit your server configuration or another plugin's settings. When a check needs an nginx snippet or a conflicting plugin removed, it tells you what to do and you do it.

Good to know with ChatGPT

A confirmation in ChatGPT is its own layer talking, not xSpeed. Because the Hub's tools carry no read-only annotation, ChatGPT asks even for get_health, and if you tell it to remember an approval for a tool, that tool runs without a prompt for the rest of the conversation. The Hub has no confirmation step of its own, so on a connection that allows writes an approved toggle runs as soon as ChatGPT sends it. ChatGPT signs in with OAuth and gets the scopes it asks for. The Hub's Read-only everywhere switch applies only to the connection token, which ChatGPT cannot send. For read-only access, sign in as a Viewer member of the workspace, or keep ChatGPT's own confirmations on. The diagnosis works the same either way, with the same prompts. Ask ChatGPT to quote the failing check from get_health word for word, because a chat summary can smooth over a warning.

07

More prompts for this job

They work in any client connected to xSpeed Hub.

Prompt
Using xSpeed Hub, why is the cache hit ratio so low on shop? Run the full health check and tell me the most likely cause.
Prompt
Using xSpeed Hub, is page caching actually working on blog? Benchmark cached against uncached and tell me if the second request was a hit.
Prompt
xSpeed Hub's get_health on docs shows a warning about the static-file rewrite. What does it mean and do I need to act?
Prompt
Use xSpeed Hub to check whether another caching plugin is conflicting with xSpeed on shop.
Prompt
Caching looks off on the staging site. Use xSpeed Hub to turn it on and tell me if the site refuses.
Prompt
Using xSpeed Hub, which Pro features would help the shop site, based on how it is set up now?
Prompt
With xSpeed Hub, compare the last few benchmark runs on blog and tell me whether my settings changes helped.
08

Frequently asked questions

Yes, through the xSpeed Hub connector. It reads cache status, health checks and a benchmark, and tells you which check is failing or whether the cache is working. It cannot fix settings that live in wp-admin, such as permalinks, so it describes the steps for you.

No. Every tool in this job only reads, so it works with a Viewer member's read-only sign-in and does not depend on which write actions your ChatGPT plan allows. ChatGPT will still ask you to confirm the calls, reads included. Fixing the problem afterwards, for example turning caching on, is a write.

The common causes are that page caching is switched off, the advanced-cache.php drop-in or the WP_CACHE constant in wp-config.php is missing, another caching plugin owns the drop-in, or the pages set cookies or headers that make them uncacheable. An agent can read all of these from get_health through xSpeed Hub and tell you which one applies to your site.

get_cache_status is a quick summary: whether caching is on, the stats and the detected web server. get_health is the diagnostic. It adds the environment checks with pass or warn tones, 24 hourly hit and miss buckets and a 30-day hit-ratio series. The Hub tells the agent to use get_health when you are troubleshooting.

No. run_benchmark measures how fast your own cache answers compared with an uncached request for the home page. For a Lighthouse score, ask for a speed test or a speed scan instead.

Only partly. run_benchmark accepts every site in one call. get_cache_status and get_health take one site per call, and get_health does not accept site: "all", so for a fleet the agent calls them site by site or you use the Hub dashboard for the rollup.

Not with the diagnostic tools. They are read tools and change nothing. Changes only happen if the agent calls a write tool such as toggle_cache, which runs once your connection allows writes, so your AI client's approval prompt and a read-only connection (the connection token with Read-only everywhere on, or a Viewer sign-in) are the gates.

09

Keep going

Find out why pages are not cached with other agents

More with ChatGPT

Documentation

From the blog

Find out why pages are not cached, from ChatGPT.

xSpeed Hub is free and has no site cap. Connect your sites once and ask from the agent you already use.