Set WordPress Speed Settings
wordpress_set_performanceTurn a WordPress site's speed optimisations on or off, and undo them in one step if the site breaks.
Start with the safe ones: page_cache, browser_cache, minify_css, minify_js, lazy_load. These rarely break a site and give most of the speed.
combine_css, combine_js, defer_js, css_async and guest_mode are the ones that break Elementor and Slider Revolution pages, so they are refused unless you pass confirm_risky=true. Turn them on one at a time and look at the site afterwards. If something breaks, revert=true undoes the MOST RECENT change only, so change a little at a time. exclude=["revslider","elementor"] keeps named scripts out of the deferring or combining, which is the usual fix when a slider stops rendering.
The exclusion list is editable both ways. exclude_from picks the list — "defer", "combine" or "lazy" — and exclude_mode says what to do with the names you pass: "add" (default), "remove" to take entries back out, or "replace" to make the list exactly what you passed (pass an empty list with replace to clear it). Every call returns the FULL list so you can see what is in it, and wordpress_get_performance also reports all three lists. This matters when you are tuning: excluding a hero background image fixes layout shift but can undo the loading-speed win, so you need to take single entries back out and measure again.
clean_dropin=true removes a leftover wp-content/advanced-cache.php whose owning plugin is no longer active. That file is the usual reason every cache plugin fails to activate with a server error: a new one refuses to overwrite a drop-in belonging to a different plugin. It is backed up first, and refused outright if the owning plugin is still active.
LITESPEED IMAGE AND LAYOUT-SHIFT SETTINGS are not switches here; set them with
wordpress_option on the litespeed.conf.* name. LiteSpeed stores them as text, "1" for on
and "" for off, so read first and write value="1" (not value_json=true):
litespeed.conf.media-add_missing_sizes adds width/height to images that lack them, the
usual fix for a high CLS with "images without explicit width and height". It only works
while lazy_load is on. litespeed.conf.media-placeholder_resp reserves space for lazy
images and litespeed.conf.media-lqip shows a blurred preview in that space.
litespeed.conf.img_optm-auto makes LiteSpeed send unoptimised media library images to
QUIC.cloud for compression on its own cron; progress is in litespeed.img_optm._summary
(img_taken, reduced in bytes, last_pulled). Call wordpress_purge_cache afterwards, since a
direct option write does not purge.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| revert | No | ||
| exclude | No | ||
| defer_js | No | ||
| site_url | No | ||
| css_async | No | ||
| lazy_load | No | ||
| minify_js | No | ||
| combine_js | No | ||
| guest_mode | No | ||
| minify_css | No | ||
| page_cache | No | ||
| combine_css | No | ||
| clean_dropin | No | ||
| exclude_from | No | defer | |
| exclude_mode | No | add | |
| browser_cache | No | ||
| confirm_risky | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||