litespeed/update-optimization-exclusions changes one optimisation exclusion list: add to it, remove from it, or replace it.
This is the correct fix when optimisation breaks one script.
At a glance
| Ability | litespeed/update-optimization-exclusions |
| 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 |
Hold the script back, keep the feature
The instinctive response to “the slider stopped working after I turned on defer” is to turn defer off. That fixes the slider and gives up the benefit on every other script on the site, permanently, because nobody goes back and tries again.
Excluding the one file keeps everything else deferred. The cost is one script’s worth of render blocking rather than all of them.
The list types map to the stages: css skips CSS combining, js skips JS combining, js-defer skips deferring, js-delay includes a script in delaying, uri skips optimisation entirely for a path, and role and guest-js scope by who is asking.
Matching is on the file path as it appears in the page source, so a partial match — the plugin’s directory name, the script’s filename — is usually the right entry. Too specific a match stops working when the plugin updates and its version string changes.
The mode means one entry can be added without reading and rewriting the list.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
type | string | Yes | css, js, js-defer, js-delay, uri, role or guest-js. |
values | array | Yes | The entries to add, remove or set. |
mode | string | No — defaults to add | add, remove or replace. |
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:
Stop deferring the slider script.
It resolves to one call:
{
"ability": "litespeed/update-optimization-exclusions",
"parameters": {
"type": "js-defer",
"values": ["slider-pro/assets/js"],
"mode": "add"
}
}Worth knowing
- Match on a stable part of the path — a plugin directory rather than a versioned filename.
- Exclusion from one stage is not exclusion from the others.
- Purge generated assets afterwards.
- Use
addrather thanreplaceunless you mean to set the whole list.
Related abilities
- List Optimisation Exclusions — read the lists first
- Purge Generated CSS And JS — required after the change
- Update JS Settings — the settings this protects against
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category