litespeed/update-lazyload-settings turns image and iframe lazy loading on or off, sets the placeholder image, and controls automatic image sizing.
Pair it with litespeed/update-media-exclusions, because lazy loading the images at the top of a page makes it feel slower rather than faster.
At a glance
| Ability | litespeed/update-lazyload-settings |
| Toolset | LiteSpeed Cache — toolset/litespeed |
| Group | LiteSpeed Cache › Images & Lazy Load |
| 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 |
The above-the-fold problem
Lazy loading defers images until they are near the viewport. For a long page that is a clear win — twenty images below the fold are never fetched by a visitor who does not scroll.
For the images already in view it is a loss. They now load after the page has rendered rather than with it, which means the largest visible element arrives late — and that is precisely the thing page-experience metrics measure. The site scores worse while loading less.
So the standard configuration is lazy loading on, with the hero image and anything else above the fold excluded. The exclusion ability does that by source, class or parent class.
Iframe lazy loading is less fraught, because iframes are rarely above the fold and are individually expensive. It is usually worth having on.
Automatic image sizing adds width and height attributes where they are missing, which stops the page shifting as images arrive. Almost always worth it, and occasionally wrong on images that are sized by CSS in ways the attributes then fight.
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:
Turn on lazy loading for images.
It resolves to one call:
{
"ability": "litespeed/update-lazyload-settings",
"parameters": {
"settings": { "media-lazy": true }
}
}Worth knowing
- Exclude above-the-fold images, or the site scores worse while loading less.
- Iframe lazy loading is usually worth having on.
- Automatic sizing prevents layout shift but can conflict with CSS-sized images.
- Purge and look at the front end afterwards.
Related abilities
- Update Media Exclusions — exclude the hero image
- Update Placeholder Settings — what shows while it loads
- Get Media Status — check the result
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category