litespeed/update-font-settings changes Google Fonts handling: load them asynchronously, remove them entirely, or set the CSS font-display behaviour.
The font-display setting is the one that decides whether visitors can read the page while a font is still arriving.
At a glance
| Ability | litespeed/update-font-settings |
| Toolset | LiteSpeed Cache — toolset/litespeed |
| Group | LiteSpeed Cache › CSS, JS & HTML |
| Requires | LiteSpeed Cache, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
Invisible text, or the wrong font briefly
A web font blocks the text it applies to until it loads. The browser’s default behaviour gives it a short window of invisible text and then falls back — which on a slow connection means a visibly empty page for a moment.
font-display: swap renders immediately in a fallback font and swaps when the real one arrives. The text is readable the whole time; the cost is a visible reflow when the swap happens, larger the more the two fonts differ in metrics.
That trade is almost always worth taking. Readable-then-shifts beats blank-then-correct on every measure of page experience.
Loading fonts asynchronously removes them from the render-blocking path entirely, which helps more.
Removing Google Fonts is the strongest option and changes the design. It is the right call on a site whose theme requests a font it barely uses, and the wrong one on a site whose identity is in its typography.
The write is a patch, not a replacement. Send one key and one key changes; everything else in the area is left alone. The response names the keys that actually moved, so a payload that matched the existing values comes back with an empty list rather than a misleading success.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
settings | object | Yes | A map of setting key to new value. Keys outside this area are refused, and the refusal lists what the area accepts. |
What comes back
| Name | Type | What it is |
|---|---|---|
updated | array | The keys that actually changed. An empty array means every value you sent was already set. |
settings | array | Every setting in the area after the write, in the read shape. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Make text visible while our web fonts load.
It resolves to one call:
{
"ability": "litespeed/update-font-settings",
"parameters": {
"settings": { "optm-gg_font_display": "swap" }
}
}Worth knowing
swaptrades a reflow for readable text. Usually the right trade.- Removing Google Fonts changes the design. Look at the site afterwards.
- A theme that loads fonts outside the standard enqueue may be unaffected by these settings.
- Purge after changing.
Related abilities
- Update Localisation Settings — host third-party assets locally
- Update CSS Settings — the rest of the CSS path
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category