PuffPix Compress

Description

PuffPix Compress automatically optimizes every image you upload to WordPress — reducing file sizes by 40–80% without visible quality loss. Faster pages, lower bandwidth, better Core Web Vitals scores.

It works by connecting to the PuffPix image compression API. When you upload an image, PuffPix compresses it server-side using industry-leading encoders (mozjpeg, pngquant, cwebp) and returns the optimized file, which replaces the original in your media library.

Why PuffPix?

  • No server load — compression happens on PuffPix servers, not yours
  • Better results than GD — uses mozjpeg and pngquant for noticeably smaller files at the same quality
  • All thumbnail sizes — automatically compresses every generated thumbnail, not just the original
  • EXIF stripping — removes GPS coordinates and device metadata for privacy
  • Bulk optimization — compress your entire existing media library in one click with a live progress log
  • Per-image stats — see exactly how much each image was reduced, right in the media library

Compression Engines

  • Standard (GD) — PHP’s built-in image library. Fast and universally compatible. Quality 85 (balanced) or 72 (aggressive).
  • Pro (mozjpeg + pngquant) — significantly better compression than GD at the same visual quality. JPEGs typically 20–30% smaller than GD output.
  • Max — maximum compression using the best available encoder per format. Smallest possible file size. Requires Pro or Trial plan.

Supported Formats

JPEG, PNG, WebP, GIF. SVG support is available on the PuffPix web tool.

Free Trial

New users get 100 free compressions over 30 days — no credit card required. Get your key at puffpix.com/trial.php.

How to Get Your API Key

  1. Visit puffpix.com
  2. Click Get free trial — no credit card needed
  3. You’ll receive 100 credits by email
  4. Paste the key into Settings PuffPix Compress

Privacy & External Services

This plugin sends image data to the PuffPix API for compression. Please see the “External Services” section below for full disclosure.

External Services

This plugin connects to the PuffPix image compression API to compress images.

What data is sent:
* The image file(s) selected for compression
* Your API key (to authenticate your plan)
* Compression settings (engine, quality, strip EXIF)
* Anonymous compression metrics: file format, engine, quality, bits-per-pixel range, and compression ratio (no image content, filename, or personal data)

What happens to your data:
* Images are processed and the compressed version is returned to your server
* Images are automatically deleted from PuffPix servers within 30 minutes
* No image content is stored permanently
* API keys are not logged beyond authentication

Service details:
* Service name: PuffPix
* Service URL: https://puffpix.com
* API endpoint: https://puffpix.com/api.php
* Privacy policy: https://puffpix.com/privacy
* Terms of service: https://puffpix.com/terms

This plugin will not make any API calls unless an API key has been entered in the settings. Images are only sent to the PuffPix API when compression is explicitly triggered (on upload if auto-compress is enabled, or manually via the media library or bulk compress page).

Installation

From the WordPress Plugin Directory (recommended)

  1. In your WordPress admin, go to Plugins Add New
  2. Search for PuffPix Compress
  3. Click Install Now, then Activate
  4. Go to Settings PuffPix Compress and enter your API key
  5. Done — images will be automatically compressed on upload

Manual installation

  1. Download the plugin zip
  2. In your WordPress admin go to Plugins Add New Upload Plugin
  3. Upload the zip and click Install Now, then Activate
  4. Go to Settings PuffPix Compress and enter your API key

After activation

  • To compress your existing media library: go to Media PuffPix and click Compress images
  • To change settings: go to Settings PuffPix Compress
  • To compress a single image: go to Media Library and click Compress in the PuffPix column

FAQ

Do I need an account?

Yes, you need a free API key from puffpix.com. New users get 100 free compressions — no credit card required.

Are my images sent to an external server?

Yes. Images are uploaded to the PuffPix API (puffpix.com) for compression, then returned to your server. Images are automatically deleted from PuffPix servers within 30 minutes of compression. See the External Services section for full details.

Does the plugin replace my original files?

Yes. It overwrites the original file and all generated thumbnail sizes with the compressed versions. Make a backup before running bulk compression if you want to preserve originals.

What image formats are supported?

JPEG, PNG, WebP, and GIF. Unsupported formats (SVG, RAW, etc.) are skipped automatically.

Does it work with my existing media library?

Yes. Go to Media PuffPix to bulk-compress all unoptimized images. The plugin tracks which images have already been compressed and skips them on re-runs.

What is the difference between Standard, Pro, and Max engines?

Standard (GD) uses PHP’s built-in GD library — fast and available everywhere, good for most use cases. Pro uses mozjpeg (JPEG) and pngquant (PNG) — these produce noticeably smaller files at the same visual quality compared to GD. Max applies the most aggressive settings available. Pro and Max require a paid plan or trial.

Can I compress only certain images?

Yes. You can compress individual images from the media library by clicking the Compress button in the PuffPix column. Auto-compress on upload can also be disabled in settings.

What happens if compression doesn’t reduce the file size?

If the compressed version is not smaller than the original (e.g. the image was already optimized), the plugin keeps the original file unchanged.

Does it slow down my uploads?

Slightly — the plugin makes an API call during upload which adds a few seconds. This only affects the upload process, not your visitors.

Is it compatible with WooCommerce product images?

Yes. Product images uploaded through WooCommerce go through the standard WordPress media upload flow and are compressed automatically.

Is it compatible with page builders like Elementor or Divi?

Yes. Any image uploaded via the WordPress media library is compressed, regardless of which plugin or theme triggers the upload.

What happens if the API is unavailable?

If the PuffPix API is unreachable, the upload completes normally with the original uncompressed file. No images are lost.

Can I retry failed compressions?

Yes. Images that failed compression show a Retry link in the media library column. You can also re-run bulk compression — already-compressed images are skipped.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“PuffPix Compress” is open source software. The following people have contributed to this plugin.

Contributors

Translate “PuffPix Compress” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.2.20

  • Security: pin API download URL to puffpix.com domain
  • Security: replace innerHTML with textContent for error output in admin

1.2.19

  • Fix: Plugin URI corrected to wordpress-plugin page (WP.org review)
  • Fix: Contributor username updated to xdmedia (WP.org review)
  • Fix: All admin JS moved to enqueued files via wp_enqueue_script (WP.org review)

1.2.18

  • Fix: Plugin URI and Author URI must be different (WP.org requirement)

1.2.17

  • Fix: Auto-compress errors now visible in media library column

1.2.16

  • Fix: Remove auto-updater for WordPress.org directory compliance

1.2.15

  • Fix: Restore auto-updater for puffpix.com installs

1.2.14

  • Fix: Replaced cURL with wp_remote_post() for WordPress.org compliance
  • Fix: Proper output escaping throughout (esc_attr, esc_html, esc_js, wp_kses)
  • Fix: wp_unslash() applied to all $_POST inputs

1.2.13

  • Internal: auto-update verification release

1.2.12

  • Fix: Plugin zip rebuilt with forward-slash paths — resolves “Plugin file does not exist” error after auto-update on some Linux hosts

1.2.11

  • Improvement: Settings page now highlights the free 30-day trial directly on the API key field

1.2.10

  • Improvement: Settings page API key field links directly to the free trial page

1.2.9

  • Fix: Zip structure corrected after 1.2.7/1.2.8 path fixes

1.2.8

  • Fix: Plugin zip now uses correct path structure — resolves “Plugin file does not exist” error after auto-update on Linux hosts

1.2.7

  • Feature: Plan-aware settings — Pro and Max engine options automatically grayed out for non-Pro accounts
  • Feature: Richer plugin details popup with description, installation guide, and FAQ tabs
  • Improvement: Better error messages in media library column (Plan expired, Invalid key, Daily limit reached) with direct action links
  • Fix: Max engine now correctly maps to Pro engine server-side

1.2.6

  • Anonymous compression metrics reported to improve size estimates (file format, ratio, bpp range — no personal data)

1.2.5

  • Plugin icon now shown in WordPress update screen

1.2.4

  • PuffPix stats now visible in attachment details popup (grid view)

1.2.3

  • Fixed savings percentage calculation — now based on total before/after across all files instead of thumbnails vs original size (prevented >100% display)

1.2.2

  • Added automatic update notifications — WordPress will now show “Update Available” when a new version is released

1.2.1

  • Lowered minimum WordPress requirement from 5.8 to 5.0 for broader compatibility

1.2.0

  • Improved readme and plugin description for clarity
  • External services disclosure added
  • Expanded FAQ (13 questions)
  • Tested up to WordPress 6.7

1.1.0

  • Added per-image compress and retry buttons in media library column
  • Added EXIF stripping option
  • Added thumbnail compression option
  • Improved bulk compress progress log

1.0.0

  • Initial release
  • Auto-compress images on upload
  • Bulk compress entire media library with progress bar
  • Support for Standard (GD), Pro (mozjpeg + pngquant), and Max compression engines