How does the plugin work?
Squeeze compresses images in your browser using Web Workers and open-source codecs (MozJPEG for JPEG, Browser Image Compression for PNG, WebP and AVIF encoders). You can squeeze from the Media Library, bulk tools, custom folders, during upload in supported editors, or on front-end form file fields (Contact Form 7; Gravity Forms in Premium).
Do I need an API key or cloud account?
No. Squeeze does not require ShortPixel, Imagify, or any third-party API. There are no per-month image caps imposed by the plugin.
What makes Squeeze different from ShortPixel, Imagify, or Smush?
Unlimited squeezes (no SaaS quota). Privacy: files stay on your server; compression runs in the admin browser. Direct WebP can replace originals instead of keeping parallel JPG + WebP copies. No recurring API cost for compression itself. Niche integrations: Voxel pre-upload, Gutenberg/GenerateBlocks on upload, Contact Form 7 form uploads; Elementor and Gravity Forms in Premium.
How fast is compression?
Speed depends on your computer and image size. Large PNGs can take longer; increase Squeeze timeout under Settings → Squeeze → Basic Settings if needed. Very large images may hit a soft megapixel limit for browser safety; Squeeze can still upload a squeezed original and skip the extra after-upload thumbnail pass.
Are images sent to an external server?
No. Processing is client-side in wp-admin (and in supported front-end upload flows). Your image bytes are not sent to Squeeze’s servers for compression.
Can Squeeze convert images to WebP?
Yes. Enable Direct WebP conversion under Basic Settings to convert new uploads to WebP and replace the original file. You can also use legacy modes that keep JPG/PNG and store WebP in wp-content/squeeze-webp/ with URL rewrite or .htaccess delivery.
Is it safe to replace images with WebP?
Yes for new uploads when you understand URL changes. For existing sites, test on a staging copy first. Replace Image URLs rewrites src in page HTML at render time (database URLs unchanged). If you deactivate the plugin while Direct WebP is on, some hard-coded .jpg links may break — reselect images from the Media Library or restore from .bak backups.
Will images break if I deactivate the plugin?
If Direct WebP replaced originals, some content may still reference old .jpg / .png URLs. Reselect images in the editor or restore backups. HTML-only URL rewrite modes stop rewriting when the plugin is off, but original files remain on disk.
How are WebP images served?
Choose one of three modes in WebP delivery :
- 01Direct WebP (recommended) — file on disk becomes .webp ; lowest storage.
- 02Rewrite <img> src — keeps originals; serves WebP URLs in HTML output.
- 03Server delivery — keeps URLs; .htaccess serves WebP bytes to supporting browsers.
Premium CDN URL helps map CDN paths to local files for all modes.
Does Squeeze work with WP Offload Media (WP Offload S3 / AS3CF)?
Yes. Squeeze can compress CDN-hosted images (including when local files are removed), and Direct WebP works with WP Offload Media: converted .webp files are uploaded to your bucket/CDN automatically.
Recommended — Direct WebP: Converts the file in place to .webp . WP Offload Media then syncs it to S3, GCS, DigitalOcean Spaces, and similar providers.
Not compatible — Rewrite <img> src to WebP URLs in HTML: WebP sidecars live in a local squeeze-webp/ folder and are not pushed to external storage, so they cannot be served from your CDN URL.
Not compatible — Keep JPEG/PNG URLs — server serves WebP (.htaccess): Apache rewrite rules only apply to requests that hit your origin. Offloaded image URLs point at the CDN and never pass through .htaccess .
When WP Offload Media is active, Squeeze shows these warnings in WebP delivery settings and recommends Direct WebP .
Why do I see “Image conversion blocked by browser privacy setting”?
Your browser blocked canvas access (common with Firefox privacy.resistFingerprinting ). Set privacy.resistFingerprinting to false in about:config , use Chrome/Edge, or a profile without strict fingerprinting resistance.
Does Squeeze work with the Voxel theme?
Yes (free). Pre-upload compression runs on Voxel create-post and file/gallery AJAX uploads so images are smaller before they reach the server.
Does Squeeze work with Elementor?
On-upload squeeze in Elementor is a Premium feature. The free version supports Gutenberg, GenerateBlocks, Voxel, and Contact Form 7 form uploads (when Squeeze form uploads is enabled).
Does Squeeze work with Contact Form 7?
Yes (free). Enable Squeeze form uploads under Settings → Squeeze → Basic Settings. Images picked in CF7 file fields are compressed in the visitor’s browser before submit. Keeps the original format (Direct WebP does not apply to form uploads).
Does Squeeze work with Gravity Forms?
Yes, in Premium , when Squeeze form uploads is enabled. Single-file and multi-file (Plupload) fields are supported. Free Squeeze covers Contact Form 7 form uploads, not Gravity Forms.
What is the difference between Squeeze on upload and Squeeze form uploads?
Squeeze on upload covers Media Library / editor / theme pipelines (Gutenberg, GenerateBlocks, Instant Images, Voxel; Elementor in Premium). Squeeze form uploads covers front-end form file fields (Contact Form 7; Gravity Forms in Premium). They are separate checkboxes.
Does Squeeze work with GenerateBlocks?
Yes. GenerateBlocks media blocks support the same on-upload squeeze as the core Image block when Squeeze on upload is enabled under Basic Settings.
What if the squeezed file is larger than the original?
Squeeze can skip replacing an upload when the compressed file would be larger (common with already-optimized PNGs). Lower JPEG/WebP quality in the format tabs, exclude the asset under Excluded images , or squeeze a smaller registered thumbnail size.
How do .bak backup files work?
Enable Create backup in Basic Settings before squeezing. Squeeze saves a .bak copy next to the file. For Media Library images you can Restore Original Image from the list or attachment screen. For Directory Squeeze, use Restore backups in selected folders (in-place restore; .bak is removed after success). With Direct WebP, backups are WebP as well (e.g. image.bak.webp ). Remove unneeded library backups with Delete Backup Image .
Does Squeeze work with Instant Images?
Yes. When Squeeze on upload is enabled, images imported via Instant Images (Media Library page, media modal, or editor sidebar) are squeezed after they land in the Media Library—including backups, Direct WebP, and thumbnail rules from your Squeeze settings.
Does WebP server delivery need Apache mod_rewrite?
The separate folder + server-side delivery mode writes .htaccess rules and needs mod_rewrite on Apache. If mod_rewrite is unavailable, use Direct WebP or Rewrite <img> src instead. On Nginx or other stacks without Apache rules, prefer Direct WebP or HTML rewrite unless you add equivalent server rewrites yourself.
Does Squeeze work on WordPress multisite?
Yes on standard multisite installs—each site has its own Squeeze settings and Media Library. Test Direct WebP on a staging subsite before bulk conversion across a large network.
Which codecs does Squeeze use?
MozJPEG (JPEG), Browser Image Compression (PNG), plus WebP and AVIF encoders—the same technology family as Squoosh.app by the Chrome team.
Why use image compression on WordPress?
Smaller images improve LCP and overall speed, reduce bandwidth bills, and free disk space—especially when combined with WebP.
Which formats are supported?
JPEG, PNG, WebP, and AVIF. GIF files are not squeezed. HEIC/HEIF from iPhones are decoded in the browser on upload (when Squeeze on upload is on): without Direct WebP they become JPEG; with Direct WebP they are encoded straight to WebP using your WebP quality settings. They are not stored as HEIC.
Does Squeeze work with WordPress 7.1 client-side media processing?
Yes. While Squeeze on upload is enabled, Squeeze turns off WordPress 7.1’s built-in browser image processing so Gutenberg uploads use Squeeze quality, Direct WebP, backups, and thumbnail overwrite. Firefox and Safari already use the server upload path.
With Squeeze on upload on, Squeeze converts HEIC/HEIF in the browser before upload. To use WordPress 7.1’s own HEIC pipeline and HDR thumbnail gain maps instead, turn Squeeze on upload off. Bulk and manual squeeze of already-uploaded .heic attachments is not supported.
Can I compress many images at once?
Yes. Use Bulk Squeeze (Media Library attachments) or Directory Squeeze for any folder under your site root. When Backup original is enabled, Directory Squeeze also writes .bak files beside images. Use Restore backups in selected folders to restore in place (live file overwritten, .bak deleted). Media Library images still use Restore Original Image on the attachment. Still take a site backup before a large run.
Can I exclude images?
Yes. List URL or filename patterns (one per line) under Excluded images in Basic Settings.
Can I customize compression quality?
Yes. Settings → Squeeze has tabs for JPEG, PNG, WebP, and AVIF quality and advanced options.
Bulk squeeze seems stuck on a large PNG — what should I do?
Wait for completion or a timeout message. Increase Squeeze timeout (default 60 seconds). Very large PNGs may exceed browser memory on low-end devices.
How do I fix “Request timed out”?
Go to Settings → Squeeze → Basic Settings and raise Squeeze timeout . If it still fails, resize the source image or squeeze a smaller derivative.
Is Squeeze a good ShortPixel or Imagify alternative?
Yes, if you want unlimited local compression without API keys or per-month image quotas. Cloud optimizers upload files to their servers; Squeeze processes images in your browser and stores results on your WordPress site. You trade SaaS convenience for privacy, predictable cost, and no upload caps.
How does Squeeze compare to EWWW Image Optimizer?
Both can optimize on your server. Squeeze focuses on client-side codecs in the browser (Squoosh-family encoders), Direct WebP replacement on disk, pre-upload squeeze in Guten