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

Raise a WordPress site's PageSpeed score with Muse

Raising a WordPress PageSpeed score with Muse means asking Meta's personal agent to read your stored scores and preview an xSpeed optimization through xSpeed Hub, with the connection token deciding whether it may change anything.

list_sitesget_score_historylist_modulesoptimize_sitegenerate_critical_csspurge_cacherun_speed_test

Last updated: October 2026

Example session · Muse

You: Use xSpeed Hub to show me what xSpeed would change on blog to raise its mobile score.

get_score_history(site: blog) read-only
→ mobile score 64, flat for three weeks

optimize_site(site: blog, aggressiveness: safe, dry_run: true) dry run
→ This connection is read-only; write tools are not permitted.

Muse: Mobile has sat at 64 for three weeks. I could not preview a pass, because this connector's token is read-only and the Hub counts even a dry run as a write. Switch off Read-only everywhere on the Connect AI page if you want me to preview and apply it.

You: Switched it off. Preview again.

optimize_site(site: blog, aggressiveness: safe, dry_run: true) dry run
→ plan: 3 settings to apply (lazy-load images, compression, browser cache), nothing changed

Muse: At the safe level the plan is lazy-loading, compression and browser caching. Nothing has changed. Apply it to blog?

You: Yes, apply it.

optimize_site(site: blog, aggressiveness: safe) changes site
→ applied 3, undone 0, unfixable: 2 large hero images

Muse: All three are on, and the hero images are what is left. Open the home page and one post on a computer with the console visible, and switch Read-only everywhere back on.

01

How Muse handles this

The scores are easy to read from a phone. Ask Muse in WhatsApp or the Muse app for the stored PageSpeed history of the blog, and it calls get_score_history, which reads what the Hub already has and starts nothing. Muse replies with the trend in a line or two. The trouble starts with the natural next question: what would xSpeed change?

Muse calls optimize_site with dry_run on, and the Hub refuses. That surprises people, because a dry run changes nothing. The Hub still counts optimize_site as a write, so a connection token with Read-only everywhere on, which is how the Muse setup suggests you start, turns down the preview along with the real pass. You have two choices. Leave the token read-only and run the optimization later from a client at your desk, or switch Read-only everywhere off on the Connect AI page for this job, ask again, read the plan, approve the pass, and switch it back on when you are done.

With writes allowed, the pass runs as it would anywhere: each setting applied one at a time, the page checked after each, anything that breaks undone, for up to about two minutes. Muse reports applied, undone and unfixable in the thread. The verify step does not fit a phone well. The Hub gives Muse verify_urls and tells it to have the pages checked, and the honest answer is that someone should open them with a browser console, which means at a computer.

02

Set up Muse once

Already connected? Skip to the prompts. Alternatives and troubleshooting are on the Muse 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.

2Copy the connection token from xSpeed Hub

Sign in at app.xspeedcache.com as the workspace owner and open Connect AI. Copy the connection token. For a first try, turn on Read-only everywhere: the Hub then refuses every write tool on that token, so Muse can read but not purge or change settings.

Text
xSpeed Hub  >  Connect AI  >  connection token (Read-only everywhere: on)

3Ask Muse to create a custom connector

Send this message to Muse in the app, on muse.ai or in WhatsApp, and follow the steps Muse gives you. When it asks for the credential, give it the token as a Bearer token. Meta does not review custom connectors, so only finish this for the request you started yourself.

Text
Create a custom connector called xSpeed Hub for the MCP server at
https://app.xspeedcache.com/xspeed/mcp
It authenticates with a Bearer token in the Authorization header. Once it is connected, use xSpeed Hub to list my sites.
1 / 3

Full Muse 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. Meta says Muse will not take many important actions without your approval by default, that many connectors can be set up to only retrieve data, and that you change when Muse asks for approval in its Settings. Muse's separate Sentinel agent also decides what leaves its secure machine and asks you for permission when needed. xSpeed Hub has no confirmation step of its own, so a write runs as soon as Muse calls it and your connection allows writes. The firm stop here is the token: with Read-only everywhere on, the Hub refuses every write tool, whatever Muse decides. Turn it off only when you want Muse to purge or change settings, and read each question Muse asks before you answer yes.

03

What do I ask?

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

Prompt for Muse
Use xSpeed Hub to read the stored PageSpeed history for blog. Do not run a new test.
Prompt for Muse
With xSpeed Hub, preview an optimization for blog at the safe level and wait for my yes.
Prompt for Muse
Using xSpeed Hub, tell me what the last optimization on blog applied, undid and could not fix, in three short lines.
04

What happens, step by step

optimize_site is the Hub tool for "make my site faster". It measures the site, applies the recommended xSpeed settings one at a time, checks the page still renders after each change, undoes anything that breaks it, and reports what it applied, what it undid and what it could not fix. It reaches caching and asset delivery only. Page weight, images hosted on another domain and heavy video are outside it, and the report says so instead of claiming a win.

01

See where the site stands

The agent reads get_score_history for the last stored scores and list_modules for which modules exist on that site and what state they are in. Neither changes anything.

02

Preview with dry_run

optimize_site with dry_run: true returns the plan: each change and its tier, what would be skipped (already on, or needing a higher aggressiveness) and what it cannot fix. Nothing is applied. The tool description tells the agent to prefer this before the first real run on a site you have not optimized before.

03

Apply it

optimize_site without dry_run applies the plan. aggressiveness is safe (removals and server-side changes only), standard (the default) or aggressive, which includes settings known to break some themes and should be opted into deliberately. A run can take up to about 2 minutes per site.

04

Look at the site afterwards

When changes were applied, the result carries verify_urls and a note. The site checks its own HTML and reverts anything that breaks it, but it cannot run JavaScript, so verified: true does not prove the page works in a browser. The Hub tells the agent to open those URLs and check the page renders and the console is clean, or to tell you which URLs to check.

05

Reach for a number only if you named one

target_score (1 to 100, Pro sites only) turns one pass into repeated rounds toward that score, up to max_rounds, with 3 as the most per site. Each round is a real PageSpeed measurement and up to about 2 minutes. The result says why it stopped, and diminishing returns means what is left is outside what caching can reach.

06

Critical CSS on Pro sites

generate_critical_css generates above-the-fold CSS so the first screen can paint without waiting for the full stylesheets. It needs the Pro Critical CSS module on that site, and the site answers with an unknown-tool error without it. Pages are rebuilt with it on their next build, so the agent purges the cache afterwards.

05

Reference

Main tooloptimize_site (write): measure, apply one setting at a time, verify, undo what breaks, re-measure
Previewdry_run: true returns the plan and changes nothing
aggressivenesssafe, standard (default) or aggressive
Every site at oncesite: "all" or a list of handles, one result per site, sites run one after another; the Hub's confirm-once instruction does not name optimize_site, so your client's prompt is the gate
TimeUp to about 2 minutes per site
target_score1 to 100; needs Pro on the site; without it the site runs one pass and says so
max_roundsUp to 3 per site; only sent along with target_score; 12 rounds in total per call
Wide fan-out with a targetEach site gets fewer rounds, and the result carries a note saying so
Result fieldsapplied, skipped, reverted, unfixable, score, verified, rounds; verify_urls after a run that changed something
Already tuned siteReturns "everything is already on" plus what it cannot fix; that is an answer, not a failure
Critical CSSgenerate_critical_css (write), Pro Critical CSS module required; purge_cache afterwards
Read-only connectionoptimize_site and generate_critical_css are refused; dry_run is still a write call, so it is refused too. Applies to the connection token with Read-only everywhere on and to a Viewer sign-in, not to other OAuth sign-ins
06

Rules worth keeping

  • Run dry_run first. optimize_site changes live site settings as soon as your connection allows writes. The tool description tells the agent to preview first on a site that has not been optimized, but that is guidance, so your client's approval prompt and a read-only connection (the connection token with Read-only everywhere on, or a Viewer sign-in) are the real gates.
  • Keep aggressive for a deliberate choice. It includes settings known to break some themes, and the agent should say so before using it.
  • After a run that changed something, open the pages in verify_urls. The HTML checks cannot run JavaScript, so a page can pass them and still be broken in a browser. Do not call a run safe because verified is true.
  • Relay the unfixable list. When a site is already tuned, the honest answer is that caching is done and the rest is page weight, hotlinked images or DOM size. The agent should not retry the tool or claim a gain it did not make.
  • Only ask for target_score when you want the site driven to a number. Each round costs a real PageSpeed measurement, and a plain "make it faster" is one pass.

Good to know with Muse

Switching Read-only everywhere off is a change to the token, not to Muse, so for as long as it is off every client that sends that token can write, and a purge or a settings change runs as soon as one of them calls it, because xSpeed Hub has no confirmation step of its own. Turn it back on as soon as the pass is done. Meta says Muse will not take many important actions without your approval by default and lets you change when it asks in Settings, and its Sentinel agent checks what leaves its secure machine. Keep that approval on for this job, and read the plan before you answer yes. Muse is rolling out in the US first, and Meta does not review custom connectors.

07

More prompts for this job

They work in any client connected to xSpeed Hub.

Prompt
Ask xSpeed Hub to preview what optimize_site would change on shop with a safe pass. Do not apply anything.
Prompt
Use xSpeed Hub to optimize the blog site with the standard pass, then give me the pages to check by hand.
Prompt
With xSpeed Hub, get docs to a mobile PageSpeed score of 90 if you can, and tell me why it stopped if it does not get there.
Prompt
Use xSpeed Hub to show me what optimize_site would do on every site, as a dry run, and list which sites have the most left to change.
Prompt
Use xSpeed Hub to generate critical CSS for shop, then purge the cache so the pages are rebuilt with it.
Prompt
With xSpeed Hub, optimize shop, then compare the new PageSpeed score with the last stored one.
Prompt
Using xSpeed Hub, what could optimize_site not fix on the shop site?
08

Frequently asked questions

The Hub counts optimize_site as a write even with dry_run on, so a connection token with Read-only everywhere on refuses the preview too. Switch the setting off on the Connect AI page for the job, and back on when you are done.

You can open them, but a phone browser rarely shows a console, and JavaScript errors are what the check is for. xSpeed checks HTML only, so open the verify URLs on a computer with the developer console visible.

It measures the site, applies the recommended xSpeed settings one at a time, checks that the page still renders after each change, and undoes any change that breaks it. It then reports what was applied, skipped and reverted, and what it could not fix. It reaches caching and asset delivery only.

Yes, especially on a site you have not optimized before. dry_run: true returns the plan, what would be skipped and what cannot be fixed, and changes nothing. The tool description tells the agent to prefer it, but nothing forces it, so say so in your prompt if you want a preview.

Yes, with target_score, on a site that has xSpeed Pro. It repeats measure, apply and re-measure for up to 3 rounds per site and stops early when rounds stop helping, saying why. On a Free site the score target is ignored and you get a single pass with a note that no iterative tuner is installed.

That is a real answer. The settings it can apply were already enabled, so there was nothing to change. The result also lists what it could not fix, such as page weight, images hosted on another domain or DOM size, and those need changes outside a caching plugin.

The site checks its own HTML after each change and reverts anything that breaks it, but it cannot run JavaScript. After a run that changed something, the Hub tells the agent to open the returned verify_urls and check the page renders and the console is clean, or to give you the URLs to check yourself.

No. It needs the Pro Critical CSS module on that site, and without it the site answers with an unknown-tool error. On a Pro site, purge the cache afterwards, because pages already cached were built without the critical CSS.

09

Keep going

Raise the PageSpeed score with other agents

More with Muse

Documentation

From the blog

Raise the PageSpeed score, from Muse.

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