Using the dashboard
BytCrush → Dashboard is where you optimize the whole library and follow the progress. Single images are handled in the Media Library (see Media Library).
The BytCrush screens need the Manage options capability (administrators).
The top of the screen
The ring shows how much of your library is done, as a percentage. The heading next to it tells you where you are:
| Heading | Meaning |
|---|---|
| No images to optimize yet | The Media Library has no JPEG, PNG, WebP or GIF images. Uploads are optimized automatically. |
| Optimize N images in one click | N images haven't been optimized yet. Click Optimize all images. |
| Crushing bytes… | A bulk run is in progress. The button now says Pause. |
| Paused | The run is paused, with N images left. The button says Resume. |
| Restoring originals… | Restore all is running. |
| Your library is fully optimized | Nothing is waiting. The button says All images optimized and is greyed out. |
| N images could not be optimized | Everything has been processed, but some images failed. Click Retry N failed. |
Warnings can appear above it:
- No image library found. PHP has neither Imagick nor GD. Nothing can be optimized until your host enables one.
- Folder permissions need fixing. The web server can't write to the uploads folder, or to the backup folder while backups are on. A bulk run won't start. See FAQ.
- Some folders will be skipped. Some year/month folders in uploads (or in the backup folder) aren't writable. Images in them are skipped and everything else is optimized. Make them writable, then run again to pick them up.
The counters
| Counter | What it shows |
|---|---|
| Images optimized | Optimized images out of the total, and how many are still waiting. The total counts JPEG, PNG, WebP and GIF attachments that aren't in the trash. |
| Bandwidth saved | Bytes saved on what visitors download, and the percentage: for each file, the original size compared with the smallest version served (the optimized file, or its WebP or AVIF copy). WebP included. |
| Disk space saved | Bytes saved on the files themselves (the optimized file compared with the original), and the percentage. |
| Originals kept | The total size of the backup folder. It says Backups on, fully restorable or Backups are turned off. This figure is refreshed at most once an hour. |
Bulk optimization
- Click Optimize all images.
- BytCrush first checks that it can write to the uploads and backup folders. If it can't, it stops with a message and changes nothing.
- If backups are on and your disk looks too small for the remaining originals, you get a warning with the estimate. The run still starts.
- Images are processed newest first. Each appears in Activity with its saving, or as Failed or Skipped with the reason.
- The progress bar shows N of M images and, after a few images, an estimate of the time left.
Background or this tab
With Settings → Optimize in the background on (the default):
- The run continues on your server. You can close the tab or the browser and come back; the dashboard picks the run up again and shows Running on your server. You can close this tab and come back any time.
- Your server starts the next batch by sending a request to itself. Some hosts block these requests. When the run hasn't moved for 15 seconds, the open dashboard tab takes over and says Your server is blocking background requests, so this tab is doing the work. Keep it open to continue.
- A WordPress scheduled task also checks every minute and continues a run that has stalled. It only runs when your site gets visits (or a real cron job calls WP-Cron).
With it off, the dashboard tab does the work: Keep this tab open. Leaving the page shows a warning, and the run pauses if you leave.
Pause and resume
Click Pause at any time. Images already being processed are finished first. Click Resume to carry on; images already done aren't processed again.
A run also pauses by itself when:
- 10 images in a row fail. That usually means a site-wide problem, such as a full disk or wrong permissions. The message starts with Paused after 10 failures in a row. followed by the last error.
- The dashboard tab is doing the work and the server stops answering it three times in a row: The server stopped responding. The bulk run has been paused. Press Resume to continue.
If an image was being processed when PHP ran out of memory or time, it's marked as failed (Processing was interrupted. The server ran out of memory or time on this image.) when the next run starts, once it has been stuck for five minutes. The run never stalls on it.
Failed and skipped images
Images that could not be optimized lists up to 20 recent failures, each with a link to the image and the reason. Fix the cause, then click Retry all (or Retry N failed at the top). The failed images go back in the queue and a run starts.
Skipped images aren't errors. They're images BytCrush leaves alone on purpose, such as animated GIFs and PNGs, or files another plugin has already converted to AVIF. See FAQ for each message.
Activity
Activity shows the 8 most recently optimized images when the page loads, with the size before and after, for example 1.4 MB → 212 KB and −85%. During a run, new rows are added at the top live (up to 60), including failed and skipped ones.
Active settings
A summary of the current settings: Compression, Next-gen formats (with the delivery method), Resize large images, Strip metadata, Auto-optimize uploads, Keep originals and Background runs. Change opens the Settings screen. The Engine: line shows the image library in use.
On the free plan a PRO card links to the Pro features.
Restore all originals
At the bottom of the dashboard, Restore all undoes everything: every image goes back to its backed-up original and all WebP/AVIF copies are removed. You're asked to confirm first. A background run in progress is stopped. See Backups.
Media Library
The BytCrush column
In Media → Library, list view, the BytCrush column shows each image's state. The same panel appears as a BytCrush field in the attachment details window and on the attachment edit screen.
| State | Shows |
|---|---|
| Not optimized | Not optimized and an Optimize now button |
| Optimizing | Optimizing… |
| Optimized | The saving (−62.4%), the sizes (1.2 MB → 450 KB), the number of files processed, WebP and AVIF tags when copies exist, and Some sizes skipped if some sizes failed (hover it for the reasons) |
| Failed or Skipped | Failed or Skipped, with the reason |
| Not an image BytCrush handles | — |
The sizes compare the original files with what's served (the smallest of the optimized file and its WebP/AVIF copies), across the main file and all its sizes.
Per-image actions
| Action | Shown when | What it does |
|---|---|---|
| Optimize now | Not optimized | Optimizes the image with the current settings. |
| Re-optimize | Optimized | If an original is backed up, restores it first, then optimizes again with the current settings. Use it after changing the compression level. Without a backup, the already-optimized file is optimized again; it's only replaced if the result is smaller. |
| Try again | Failed or Skipped | Optimizes the image again. |
| Restore original | A backup of the main file exists | Puts the original files back and removes the WebP/AVIF copies, after you confirm. See Backups. |
The buttons are shown to users who can upload files and edit that image. If an action fails, the error appears under the panel.