preloader

Smush plugin review and common issues

Smush is used for compressing images, converting formats, and reducing media weight. In most cases, it fits business sites better than a custom build done too early. A common issue is that image optimization changes file delivery or creates missing thumbnails. This usually happens when bulk optimization can strain hosting or create duplicate files. It can save time, but it still needs testing on a staging site before major changes go live. From experience, Smush works best when you keep the setup focused and avoid overlapping plugins.

What is Smush plugin?

Smush by WPMU DEV is one of the most widely installed WordPress image optimization plugins, known for its beginner-friendly interface and clean integration with the WordPress media library. It compresses JPEG, PNG, and GIF images automatically on upload (auto-smush) and offers bulk optimization for existing media. The free version includes lossless compression, lazy loading, incorrect image size detection, and basic WebP conversion — a solid baseline for sites that want automated image optimization without configuration.

However, Smush free has meaningful limitations compared to competitors. The 5MB per-image limit excludes many high-resolution or RAW-derived images. Lossy compression (which typically yields significantly smaller file sizes than lossless) requires Smush Pro. The free version’s compression results consistently test below Imagify, ShortPixel, and Optimole in independent benchmarks. Smush Pro, available as part of WPMU DEV’s all-access plan, adds lossy compression, CDN delivery (SmushCDN), directory smush for non-media-library images, and multisite support.

Smush is part of WPMU DEV’s plugin ecosystem — subscribing to WPMU DEV gives access to Smush Pro alongside Hummingbird (caching), Defender (security), Hustle (popups), and other plugins under a single subscription. For teams already in the WPMU DEV ecosystem, Smush Pro is a natural fit. For standalone image optimization, ShortPixel or Imagify deliver better compression results at competitive pricing.

Need Help With Smush Setup, Troubleshooting, or Customization?

Need help with Smush? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.

Get Smush Expert Help

Key Features

  • Automatic image compression on upload (auto-smush)
  • Bulk optimization for existing media library
  • Lazy loading for images, iframes, and videos
  • Incorrect image size detection and reporting
  • WebP conversion (free, basic)

Pros & Cons

Pros

  • Most beginner-friendly interface of major image optimization plugins
  • Auto-smush on upload requires zero ongoing manual action
  • Lazy loading included in free version

Cons

  • 5MB per-image limit in free version
  • Lossless compression only in free — lossy requires Pro

Free vs Premium

Free: lossless compression, auto-smush, lazy loading, WebP conversion, incorrect size detection. Pro: lossy compression, SmushCDN, directory smush, multisite. Pro is included in WPMU DEV’s all-access subscription (pricing varies — check wpmudev.org).

Common Problems & Fixes

Smush is showing "already compressed" for images that are still large — why?

Smush marks images as already compressed once they have been processed, even if the size reduction was minimal. This commonly happens when images are already well-optimized before upload, when lossless compression has limited effect on a specific image type, or when the 5MB limit prevented processing. To check: in Smush → Bulk Smush, images that were processed but saw little reduction appear as optimized. If your images are above 5MB, they are skipped entirely in the free version — consider resizing before upload or upgrading to Pro.

Lazy loading added by Smush is breaking my slider or gallery plugin — how do I fix it?

Lazy loading delays image loading until near the viewport — this conflicts with JavaScript-controlled sliders and carousels that need images pre-loaded. In Smush → Lazy Load → Advanced, you can exclude specific images by CSS class, ID, or URL. Add your slider’s image class (e.g., swiper-slide img or slick-slide img) to the exclusion list. If you are unsure of the class, inspect the slider in browser DevTools. Excluding slider images prevents the lazy loading conflict while keeping lazy load active for gallery and content images.

Smush WebP images are not serving on my site even after enabling WebP conversion — why?

Smush’s WebP serving requires either server-level configuration (Apache .htaccess rules or Nginx config) or the CDN delivery method. If using the local file method, check that your server’s .htaccess was updated by Smush — go to Smush → WebP and verify the server configuration status. On Nginx, the .htaccess method does not apply — use Smush’s CDN delivery option instead, which serves WebP automatically via browser detection regardless of server type.

Customization & Developer Notes

How do I configure Smush to only compress specific image sizes?

In Smush → Settings → Image Sizes, you can select which WordPress-registered image sizes to compress. By default, Smush processes all thumbnail sizes generated by WordPress (thumbnail, medium, large) plus the original. Deselecting certain sizes skips their optimization and reduces the number of API calls used. For most sites, optimizing all sizes is recommended. If your theme generates many custom sizes, deselecting unused sizes keeps your API quota available for the sizes actually displayed on the site.

Can Smush automatically resize oversized images on upload?

Yes. In Smush → Settings → Resize Original Images, enable automatic resizing and set maximum width and height dimensions. When an image exceeding these dimensions is uploaded, Smush resizes it before compression. This is useful for preventing users from uploading 6000px-wide photos to a site that never displays images beyond 1200px wide. The original (oversized) file is replaced — enable backups first if you want to preserve originals.

Frequently Asked Questions

Is Smush free good enough for a typical WordPress blog?

For a typical blog with moderate image volume and standard photo sizes under 5MB, Smush free is adequate. Auto-smush and lazy loading are functional and require no ongoing effort. The compression quality limitation compared to ShortPixel or Imagify will result in slightly larger image files, but the difference is not always perceptible to end users. If image performance is a priority or you upload many high-resolution images, the better compression rates of ShortPixel or Imagify are worth considering.

How does Smush compare to ShortPixel for WooCommerce product images?

ShortPixel consistently delivers stronger compression on JPEG product images — particularly relevant for WooCommerce stores where product images are numerous and central to the shopping experience. ShortPixel also supports AVIF format and lacks Smush’s 5MB per-image limit. For stores prioritizing image performance and page speed, ShortPixel or Imagify are stronger choices. Smush remains a good option if the site is already committed to the WPMU DEV ecosystem.

Can Smush break after updates?

Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.

What should I check before installing Smush?

Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.

Need a Smush Developer?

Find a vetted WordPress developer specializing in Smush. From setup and configuration to custom Smush development — get expert help on WPWizzy.
Get a Free Estimate

Ready to hire your WordPress developer?

WPWizzy connects you with vetted freelance WordPress developers from the Codeable network — the top 2% of WordPress experts worldwide, , you can get a free no-obligation project estimate before hiring. Every developer is carefully screened, backed by Codeable’s satisfaction guarantee, and rated by real clients based on completed WordPress projects.

Pick one option and we’ll take you to the right next step.

After submitting your request, up to three WordPress developers may review your project and ask a few questions to better understand the issue.
This step helps us define the scope of work and provide an accurate estimate. Most projects receive a response within 24 hours.
Providing a few key details about your website or the problem will help us respond faster. There is no obligation to proceed with the project.