WordPress image optimization

Lighter images, same website.

Wonder Compress shrinks the JPEG and PNG files on your WordPress site, creates WebP copies and updates every place they are used. It runs on your own server, and every change comes with a one-click restore.

  • No external API or account
  • Backup before every change
  • Free, GPLv2

Example figures for illustration. Your savings depend on your images.

3 waysto pick images: single, folder, whole site
1 clickto restore any backup
1–10images per request, so shared hosting copes
0files sent to outside services
Features

Everything you need to slim down a media library.

From a single hero image to every file in wp-content, Wonder Compress finds the heavy files, compresses them safely and tells you exactly what changed.

Pick images your way

Choose single images from the Media Library, tick folders in uploads, themes or plugins, or scan the full site. Thumbnail sizes are included.

Size-wise list and filters

After a scan, every file is listed largest first. Filter by type, size range, location and name, or sort by dimensions.

Quick or bulk compress

Quick compress up to 50 ticked files on the spot, or run a resumable bulk job with progress, Pause and Resume.

WebP conversion

Create WebP files next to the originals or replace them. A WebP file is only kept when it is smaller than the original.

References updated for you

Old image URLs are swapped for WebP URLs in posts, pages, post meta, serialized and JSON data, theme files and plugin files.

Backup and restore

Full or folder-wise ZIP backups before any change. Restore puts files back, removes created WebP files and reverts replaced references.

File analysis

See where the weight is before you touch a file.

The analysis panel above the list breaks your images down by type, size range, location and folder. Click any bar to filter the list to those files.

  • Totals, average size and your largest file
  • The 10 largest files and the heaviest folders
  • Counts of oversized images, high-quality JPEGs and images without WebP
  • Estimate potential savings test-compresses a small sample and projects the total, without changing anything
New in 1.3.0

Replace any image with your own file.

Have a better-edited version of a photo? Use Replace on its row. You see the new file next to the current one, and you are warned if the dimensions differ.

  • Same file name and URL, so pages show the new image right away
  • The original goes into a restorable "Manual replacements" backup
  • Media Library width, height and file size are updated
  • Tick Compress the new file to optimize it in the same step
How it works

Three steps from heavy to light.

01

Choose and scan

Pick images, folders or the full site, choose JPG and PNG, then click Scan & add to queue.

02

Review the list

Check the file analysis, filter the heaviest files and use Preview savings to see projected sizes.

03

Compress

Quick compress a few files, or run the bulk job with backup, WebP and reference replacement. Restore whenever you like.

Safety

Built so nothing is lost.

Image optimization should never break a page. These rules are part of how the plugin works, not settings you have to remember.

Only smaller files are kept

JPEG stays JPEG and PNG stays PNG, at the same pixel size. A compressed file is written only when it is smaller than the original.

Backups live in a protected folder

ZIP backups go to uploads/wndrc-backups-<random>/, guarded by .htaccess, index.php and web.config.

Admins only

Every screen and request requires the manage_options capability and a security nonce.

Core is never touched

Work stays inside wp-content: uploads, themes and plugins. WordPress core images are left alone.

Resumes where it stopped

Closed the browser or hit a server timeout? The job picks up at the exact image it was working on.

Permission checks first

Before any work, target folders are checked and you are told exactly which folder needs CHMOD 755 or 775.

User guide

How to use Wonder Compress.

Follow the chapters in order the first time. After that, jump to the one you need.

01Install the plugin

  1. In your WordPress admin, go to Plugins › Add New › Upload Plugin.
  2. Choose wonder-compress.zip and click Install Now.
  3. Click Activate. A new Wonder Compress item appears in the admin menu.
Coming from WP Zipper?Activating Wonder Compress deactivates WP Zipper and moves its settings, queue, history and backups over. You can then delete WP Zipper safely.

02Check your server

Open the Diagnostics tab before your first run. It shows which image library is available (GD or Imagick), whether WebP can be created, whether ZipArchive is present for backups, and whether the upload, theme and plugin folders are writable.

If WebP support is missing, Wonder Compress still compresses JPEG and PNG files. The WebP options are switched off and labelled This server cannot create WebP images.

03Set your defaults

The Settings tab holds the values every new optimization starts with. You can still change most of them per run on the Optimize screen.

SettingWhat it doesGood starting point
JPEG qualityHigher keeps more detail, lower makes smaller files.82, visually lossless for most photos
PNGOff recompresses losslessly. On reduces colours for much smaller files.Off for logos and screenshots
MetadataRemoves EXIF and other metadata. Colour profiles are kept.On
Default file typesPre-selects JPG/JPEG and PNG on the Optimize screen.Both
Convert to WebPTurns WebP on by default and sets WebP quality and mode.On, alongside the original
Images per requestHow many images each batch handles.1–3 on shared hosting, up to 10 on fast servers
Already optimizedSkips images Wonder Compress has already done, to avoid quality loss.On
Skip images larger thanLeaves very large files alone. 0 means no limit.0
Exclude foldersFolders that are never scanned.Folders with images you must not change

04Choose what to optimize and scan

On the Optimize tab, pick one of three modes:

  • Image-wise: click Select from Media Library and pick the images. Every generated thumbnail size is included.
  • Folder-wise: tick folders in uploads, themes or plugins. Sub-folders are included automatically.
  • Full site: queues every image inside wp-content in one click.

Under File types to include, tick JPG / JPEG, PNG or both, then click Scan & add to queue.

Wonder Compress › Optimize › Choose what to optimize › Scan & add to queue

05Review the list and the analysis

After the scan, Review and optimize shows images queued, original size, space saved and total reduction. Every file is listed largest first.

  • Filter by file type, file size (over 1 MB, 500 KB–1 MB, 100–500 KB, under 100 KB), location (uploads, themes, plugins) and name.
  • Sort by largest or smallest first, largest dimensions, file path or scan order.
  • Open File analysis for breakdowns, and click a bar to filter the list.
  • Click Estimate potential savings or Preview savings for this page to see projected sizes. Nothing is changed.

06Compress

There are two ways to compress. Pick the one that matches what you want to change.

Quick compressCompress selected (bulk)
Best forA few files you want done nowA selection, everything matching the filters, or the whole queue
How manyOne row, or up to 50 ticked rowsAny number, in small batches
BackupOriginals always backed upYour choice of full or folder-wise backup
WebPCreated alongside onlyAlongside or replace, as you choose
ReferencesNot changedUpdated in database, themes and plugins if ticked
  1. Tick the rows you want, or after filtering use Select all … pending images that match the filters.
  2. Click Quick compress or Compress selected (bulk). To do everything, use Compress all pending images.
  3. Watch the progress bar. Use Pause and Resume at any time, or Stop to end the run.
TipFiles you did not select stay in the queue, so you can process a large site over several runs.

07WebP and reference replacement

Turn on Convert to WebP and choose a mode:

  • Create alongside the original: keeps the JPEG or PNG (also compressed) and adds a WebP file. The safest choice.
  • Replace the original: deletes the JPEG or PNG after conversion and updates the Media Library records.

Under Replace old image URLs with the new WebP URLs in, tick where links should be updated: the database (posts, pages, custom post types and post meta), theme folders (.php, .css, .js) and plugin folders.

Keep a backup onReplacing originals and references changes your site's content. With a backup, Restore reverts both the files and the replaced references.

08Replace a file manually

  1. Find the image in the list and click Replace on its row.
  2. Choose a new file in the same format (JPG for JPG, PNG for PNG).
  3. Compare the two side by side. If the dimensions differ, you are warned before you continue.
  4. Optionally tick Compress the new file, then confirm.

The row shows Replaced. The original is kept in a "Manual replacements" backup on the Backups tab. Replace is available whenever the queue is not running.

09Backups and restore

On the Backups tab you can create a backup at any time:

  • Full backup: all JPEG and PNG images on the site.
  • Folder-wise backup: only the images in the folders you select.

Available backups lists every backup with its type and contents. Click Restore to put the files back. Restore also removes WebP files the run created and reverts replaced references and Media Library sizes.

10Troubleshooting

You seeWhat to do
Permission warningSet the folder named in the message to CHMOD 755 (or 775 if your host needs group write), then try again.
Batches time outLower Images per request to 1–3 in Settings. The job resumes from the last image.
WebP options greyed outYour GD or Imagick build lacks WebP. Ask your host to enable it, or compress without WebP.
Row says SkippedThe compressed result was not smaller, or the image was already optimized. The original was kept.
Backups unavailableZipArchive is missing. Check the Diagnostics tab and ask your host to enable it.
Requirements

Runs on almost any WordPress host.

WordPress5.8+Tested up to 7.1
PHP7.4+Any current version
Image libraryGD or ImagickWith WebP for conversion
BackupsZipArchiveStandard on most hosts
FAQs

Questions people ask.

Will my images look worse?

At the default JPEG quality of 82, most photos look the same. Dimensions and format stay the same, and a compressed file is only kept when it is smaller. You can raise the quality in Settings.

Does it send my images anywhere?

No. All compression runs on your own server with GD or Imagick. There is no external API, account or quota.

Can I undo an optimization?

Yes. Back up before a run, then use Restore on the Backups tab. It puts the files back, removes created WebP files and reverts replaced references.

Are WordPress core files touched?

No. Wonder Compress only works inside the content directory: uploads, themes and plugins.

Who can use it?

Only administrators, meaning users with the manage_options capability.

My host is slow. Will bulk compression time out?

Images are processed in small batches of 1 to 10 per request, each with a time budget. If a request still fails, the job resumes from the exact image it stopped on.

I used WP Zipper before. What happens to my data?

Activate Wonder Compress and it takes over WP Zipper's settings, queue, optimization history and backups, then deactivates WP Zipper. You can delete WP Zipper afterwards.

Make your site lighter today.

Install Wonder Compress, run a scan and see how much space your images could save.