WordPress bulk media optimization is the work of processing images that already live in the Media Library, not the setting that compresses the next upload. ShortPixel Image Optimizer treats those as different queues. Automatic optimization on upload can keep new files in order. It does not, by itself, finish a historical library, leftover thumbnails, or custom folders outside the library.
The existing ShortPixel WordPress plugin setup guide covers installation, API key validation, and the first settings pass. After that, upload optimization and the Bulk ShortPixel inventory stay separate: new files follow the upload queue, while files already in the library are counted only when a bulk run claims them.
WordPress bulk media optimization is a backlog job
A bulk run answers one question: which existing files still need processing under the current ShortPixel settings? That includes unoptimized originals, thumbnails created by the theme or other plugins, and, if you enable them, WebP or AVIF counterparts. It can also include files that were optimized before a setting changed, such as next-generation formats turned on after the first pass.
Do not start from Media > Bulk ShortPixel immediately after activation. Confirm the API key is validated, the compression mode is the one you intend to keep, thumbnail exclusions are set, and next-generation formats are either on or deliberately off. ShortPixel’s own install guide sends you to Settings > ShortPixel first, then to Bulk ShortPixel for images uploaded before the plugin was installed. Reversing that order spends credits on a configuration you may have to undo.
Automatic optimization on upload and a bulk queue can run in the same site. They should not be treated as substitutes. Upload optimization follows new files. Bulk optimization inventories what is already there. If editors keep publishing while a bulk job is running, new uploads can land in a different queue. That is expected. It is not a reason to start a second bulk process against the same files.
Count credits before Media > Bulk ShortPixel
ShortPixel states that one credit is used each time the plugin optimizes an image or thumbnail by at least 5 percent. If the reduction is smaller than that threshold, no credit is deducted for that file. WordPress usually creates several thumbnails from one upload, and each thumbnail that is optimized counts separately. Creating a WebP or AVIF version also uses an extra credit for each image and thumbnail that receives that counterpart.
The vendor’s published example is blunt. One original plus eight thumbnails plus WebP for all nine files uses 18 credits. A library of 1,000 originals can therefore be several thousand credit events, not 1,000. Exclude thumbnail sizes that the live theme never requests if you need to reduce that multiplier. Do not exclude a size that product grids, featured images, or srcset candidates still use.
Read the estimated workload on the Bulk ShortPixel screen before you click through. Compare it with remaining credits. If the estimate exceeds the balance, either exclude unused sizes, postpone next-generation generation until after the JPEG/PNG pass, or stop and add capacity. Starting a run that will halt at 60 percent leaves optimized and unoptimized derivatives on the same attachment, which makes later quality checks harder to interpret. Official credit rules, including the 5 percent threshold and the WebP/AVIF extra, are documented in ShortPixel’s credit explanation. Those figures were opened on 11 September 2026 and can change; verify the live page before a purchase decision.
CDN delivery, where enabled, is a separate meter. ShortPixel documents a credit deduction for CDN traffic on version 6 and later. That is not a reason to skip Media Library compression. It is a reason not to treat “credits remaining” as only a bulk-queue number if CDN delivery is also on.
Verify the backup before the first full run
ShortPixel can restore originals only when the Backup option was left enabled. The vendor says this option is on by default. Confirm it in Settings > ShortPixel before the bulk screen, then confirm that a backup file actually appears after a test image is optimized. A checked box is not the same as a restorable file on disk.
Backups are stored under wp-content/uploads/ShortpixelBackups/. ShortPixel documents that this default folder cannot currently be changed from the admin screen or wp-config.php. Keep enough disk space for originals plus optimized files plus any WebP or AVIF copies. On a small hosting plan, backup growth can fill the disk while the bulk job is still running. A host-level site backup remains useful because plugin restore only covers images ShortPixel backed up.
Before the first full run, optimize one existing attachment and confirm that file can actually be restored. If that single check fails, stop. Leave a full-library restore for a real recovery, not for testing settings.
Run a sample set, then start the bulk queue
Pick four or five representative attachments and optimize that set. Inspect the public pages, not only the plugin’s percentage saved. Look at faces, fine type, gradients, and any overlay text. If the sample is unacceptable, change the compression mode or exclusions and restore those files before touching the rest of the library. If credits fall faster than the Bulk ShortPixel estimate implied, stop before starting the remaining library.
Only then open Media > Bulk ShortPixel. Let the screen finish counting. That count is the inventory, not the start of replacement. If the numbers disagree with your credit plan, stop. If they agree, start one bulk process and leave it as the single owner of that queue.
Do not let a second optimizer rewrite the library while ShortPixel owns the queue. Two writers replacing the same JPEG produce skips, false “already optimized” states, and backups that no longer match what the front end serves. If a previous optimizer is being retired, finish or pause it, confirm which files it already rewrote, then let ShortPixel take a clean inventory.
Background mode needs a working cron
From ShortPixel Image Optimizer 5.6.0, Background mode can continue optimization without keeping a Bulk ShortPixel browser tab open. You can enable it in Settings > ShortPixel > Processing, or start a bulk run with Background mode selected. When no processing window is open, the plugin adds cron events to work the queue.
That convenience has a limit. WordPress’s default WP-Cron fires on page load. On a low-traffic site, Background mode can appear idle because no visit triggers the event. Some hosts disable WP-Cron and run a system cron instead, which is more reliable. If the queue does not move with Background mode on, ask the host how WordPress cron is handled before raising bulk retries or buying more credits. ShortPixel also notes that background processing can be slower, and heavier on shared hosting; if CPU or runtime climbs, disable Background mode and return to browser-based processing. The Background mode article is the current vendor description of that trade-off.
Pause, empty credits, and unfinished attachments
A bulk job can be paused. Use pause when you need to change a setting, when credits run out, or when you are handing a large existing library to WP-CLI. ShortPixel’s large-site guidance says to start bulk from wp-admin, let it calculate and actually begin optimizing, then pause so old items are in the queue before a CLI runner takes over. Pausing before the count finishes can leave items out of the queue.
If credits run out mid-run, do not start a new bulk with different format settings on the same incomplete set. Add credits or wait for the monthly allowance, then resume the same job. Mixed optimized and pending thumbnails on one attachment are a bookkeeping problem; mixed compression modes on one attachment are a visual problem. Resume is cheaper than restore-and-rerun.
Watch skipped files and fatal errors while the queue runs. Unusual filenames, permission errors, and custom paths show up here. Clearing the bulk queue is appropriate when you must change settings and rebuild the inventory. It is not appropriate as a way to hide errors you have not inspected.
Custom media folders are a second queue
Theme and plugin images often never appear in the Media Library and still load on the front end. ShortPixel can process them after you enable Custom Media folders in Settings > ShortPixel > Processing (Advanced Mode). Add the folder under Media > Custom Media > Folders. If a folder cannot be added, the usual cause is filesystem permissions, not a missing credit.
Custom folders are scanned about every six hours to limit server load. New files in those folders may not appear for hours. You can then bulk them from Media > Bulk ShortPixel or process them from the Custom Media Files tab. ShortPixel’s WP-CLI documentation treats Media Library bulk and Custom Media bulk as separate queues. A Media-only CLI command will not empty a custom-folder backlog.
Large libraries: WP-CLI instead of an open tab
For a normal editorial site, Media > Bulk ShortPixel or wp spio bulk auto is enough. ShortPixel describes wp spio bulk auto as the CLI equivalent of the admin bulk process: create queues, add items, then run. Check the plugin settings in wp-admin first. CLI uses those settings; it does not invent a second compression policy. Run CLI as the same system user that owns the site files, or permission errors follow.
Very large or high-upload sites can hit PHP timeouts or overlapping processes if auto mode is left to thrash. ShortPixel documents a ticks/runs approach: each tick sends a limited number of items (images plus thumbnails) to the API, then later collects results. API results are stored for a limited time (the vendor states a 30-minute maximum). For those sites, the documented pattern is to prepare the queue from wp-admin, pause after optimization has started, then use a recurring wp spio run --ticks=... --queue=media cron rather than a second overlapping bulk auto. Tune ticks, wait time, and items-per-tick against actual CPU and download speed. Numbers published for sites that upload thousands of images a day are starting points, not a requirement for a small blog.
Closing the terminal stops a foreground WP-CLI command. If the job must survive a disconnect, the host needs a process supervisor or a real cron entry. That is an operations choice, not a ShortPixel setting.
What to check after the queue finishes
Clear page cache, object cache, CDN cache, and a private-browser cache after a material bulk run. Then reopen the sample pages used before the job. Confirm that important photographs still look acceptable at the displayed width, that product or article templates still request the expected sizes, and that ShortPixel’s dashboard totals match the pages you care about. Dashboard completion is not the same as a public page serving the intended files.
Do not use this pass to diagnose WebP delivery, rewrite rules, or Adaptive Images CDN behavior. Those are separate failures. If the bulk queue reports done but a page still shows heavy originals, first confirm whether that attachment was in the queue, excluded, or stored outside the folders you selected. Then stop. Delivery debugging on top of an unfinished inventory mixes two jobs.
WordPress bulk media optimization is finished when the backlog is processed under one consistent setting set, backups still exist for files you may need to restore, credits and errors are accounted for, and a short public-page check agrees with the plugin. Leave the next upload to automatic optimization only after that backlog is actually closed.