M7tawa Local Image Optimizer with WebP & AVIF

Description

M7tawa Local Image Optimizer with WebP & AVIF is a focused upload-time image optimizer designed to stay lightweight: it processes newly uploaded images only and does not scan the existing Media Library in the background.

The plugin converts JPG/JPEG, standard PNG, BMP, and TIFF/TIF files to WebP when the server image library can read the source format and create WebP files. AVIF images are recognized and kept unchanged instead of being needlessly reconverted, while animated PNG (APNG) files are detected and preserved to protect animation.

What makes the plugin intentionally focused:

  • Local-only processing on your WordPress hosting server.
  • No external optimization API, SaaS account, remote image upload, telemetry, or tracking.
  • Upload-time processing only — no scheduled scans and no background bulk conversion jobs.
  • Configurable WebP quality and maximum dimensions.
  • Optional preservation of the original source image.
  • Minimum source file size and minimum savings thresholds to avoid conversions that do not provide useful storage savings.
  • APNG protection and AVIF-aware handling.
  • Cumulative conversion and storage-saving statistics.
  • Clear conversion feedback during supported WordPress media upload workflows.
  • Non-destructive migration support for legacy v1.4.4 settings and statistics.

The administration interface follows the current WordPress user language. English is the source language, and the plugin is fully internationalized for community translations through WordPress.org.

Developed by Ayman Abdullah – M7tawa.

Privacy

M7tawa Local Image Optimizer with WebP & AVIF does not send images, settings, statistics, or other site data to external services. Image processing takes place locally on the WordPress server. The plugin does not include telemetry, advertising, external tracking, or a remote optimization API.

Screenshots

Installation

  1. In WordPress, go to Plugins > Add New Plugin > Upload Plugin.
  2. Upload the plugin ZIP file and activate it.
  3. Open Settings > M7tawa Local Image Optimizer with WebP & AVIF.
  4. Review the server WebP support status.
  5. Choose the preferred quality, size limits, savings threshold, and original-file setting.
  6. Upload a supported image through the normal WordPress media workflow.

If the legacy v1.4.4 image optimizer plugin is still active, this version pauses its own conversion hooks and shows an administrator notice. Deactivate the legacy plugin to avoid duplicate processing. Existing legacy settings and statistics are migrated without deleting the old data.

FAQ

Which source formats are supported?

The plugin accepts JPG/JPEG, standard PNG, BMP, and TIFF/TIF as conversion inputs when the server image library can read the format. WebP files are left as WebP, AVIF files are kept unchanged, and animated PNG (APNG) files are kept unchanged to preserve animation.

Does the plugin process existing Media Library images?

No. It processes newly uploaded images only. It does not scan or bulk-convert the existing Media Library.

Are images sent to an external service?

No. Conversion is performed locally using the image capabilities available on the WordPress server, such as GD or Imagick. No image optimization API or SaaS account is used.

Can I keep the original JPG or PNG file?

Yes. The settings include an option to keep the original source file after a successful WebP conversion.

What happens if the WebP file does not save enough space?

You can set a minimum savings percentage. When the generated WebP does not meet that threshold, the generated WebP is discarded and the original image is kept.

What happens to AVIF images?

AVIF files are detected and kept unchanged. This release does not reconvert AVIF images.

How does the plugin handle animated PNG files?

Animated PNG (APNG) files are detected and kept unchanged so their animation is not lost during optimization.

Will my legacy v1.4.4 settings and statistics be lost?

No. The plugin reads the legacy data and migrates it to the M7tawa-prefixed keys without deleting the old keys. The migration is designed to run only once after the legacy plugin is no longer active.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“M7tawa Local Image Optimizer with WebP & AVIF” is open source software. The following people have contributed to this plugin.

Contributors

“M7tawa Local Image Optimizer with WebP & AVIF” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “M7tawa Local Image Optimizer with WebP & AVIF” into your language.

Interested in development?

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

Changelog

1.5.9

  • Renamed the plugin to M7tawa Local Image Optimizer with WebP & AVIF following WordPress.org review feedback.
  • Aligned the plugin folder, main file, and text domain with the requested new permalink.
  • Removed the previous product name from user-facing documentation and administration text while preserving legacy compatibility identifiers required for safe data migration.
  • Preserved the image conversion engine, settings, statistics, upload notices, APNG protection, AVIF-aware handling, and WordPress 7.1 compatibility without functional changes.

1.5.8

  • Updated the plugin display name and text domain for the requested WordPress.org naming and slug alignment.
  • Improved the readme description to document the plugin’s focused upload-time, local-only workflow and privacy characteristics more clearly.
  • Corrected and separated the Privacy section formatting.
  • Removed bundled translation files so translations can be managed and distributed through WordPress.org.
  • Preserved conversion behavior, settings keys, statistics keys, legacy migration data, internal admin page identifiers, APNG protection, AVIF-aware handling, and WordPress 7.1 compatibility.

1.5.7

  • Unified conversion-success feedback across the Media Library, editors, theme screens, and compatible plugin uploaders.
  • Success feedback now uses the same green transient notice style everywhere, without a manual dismiss button.
  • Notices automatically disappear after the same short interval and keep the existing per-upload duplicate protection from WordPress 7.1 compatibility work.
  • Preserved the v1.5.6 conversion engine, statistics, migration, APNG protection, supported formats, and WordPress 7.1 compatibility.

1.5.6

  • Tested with WordPress 7.1 final, including the new client-side media processing workflow.
  • Prevented duplicate conversion-success notices when WordPress 7.1 exposes the same completed upload through more than one media event channel.
  • Added a unique per-upload notice identifier so one conversion produces one visible notice while separate images can still display identical savings messages independently.
  • Preserved the v1.5.5 conversion engine, statistics, APNG protection, upload compatibility, migration behavior, and settings.

1.5.5

  • Reworked APNG file inspection to use WordPress Filesystem methods instead of direct PHP fopen, fread, and fclose calls.
  • Preserved APNG detection behavior and all conversion, upload-notice, migration, settings, and statistics behavior from 1.5.4.

1.5.4

  • Isolated upload-notice monitoring so XHR, Fetch, and jQuery hooks react only to known WordPress media endpoints or requests that actually contain image File/Blob data.
  • Added a global installation guard to prevent wrapping browser upload APIs more than once and retained duplicate-notice protection without polling.
  • Removed the global wp_editor_set_quality filter; the configured WebP quality now applies only inside this plugin’s own conversion operation.
  • Added safe uninstall cleanup for the temporary m7tawaimg_upload_notice user meta while preserving legacy migration data.
  • Detects animated PNG (APNG) files and keeps them unchanged to preserve animation.
  • Preserved conversion feedback across the Media Library, editors, theme settings, and compatible plugin uploaders.

1.5.3

  • Fixed conversion-success feedback specifically on the Media Library grid (wp-admin/upload.php).
  • Displays a native WordPress admin success notice on the Media Library grid instead of dispatching to a notices store that is not rendered on that screen.
  • Reads the conversion message directly from the completed WordPress uploader attachment response, without polling or changing image conversion behavior.

1.5.1

  • Extended conversion-success feedback to compatible image uploaders provided by other plugins and themes on WordPress administration screens.
  • Detects actual image File/Blob upload requests through XHR or Fetch without polling or monitoring unrelated AJAX responses.
  • Preserved the v1.5.0 conversion engine, settings, statistics, migration behavior, and standard Media Library/editor feedback.

1.5.0

  • Rebranded the plugin under the distinctive M7tawa identity.
  • Changed the plugin folder, main file, text domain, PHP class, constants, action names, nonces, handles, JavaScript identifiers, and CSS selectors to unique M7tawa-prefixed names.
  • Added a non-destructive migration path for legacy v1.4.4 settings, latest-operation data, and statistics.
  • Preserved legacy data keys during the rebranding release.
  • Added safe coexistence handling: when the legacy plugin is still active, this version pauses its conversion hooks and asks an administrator to deactivate the old plugin.
  • Preserved all v1.4.4 image conversion behavior, supported formats, upload notices, settings, statistics, and server checks.
  • Updated the bundled English source strings and Arabic translation for the new identity.

1.4.4

  • Added translator comments for placeholder-based translated strings.
  • Replaced direct file cleanup calls with wp_delete_file().
  • Relied on WordPress just-in-time translation loading.
  • Updated Tested up to to WordPress 7.0.

1.4.3

  • Fixed upload success feedback so it can appear for every image uploaded in the same editor session.

1.4.1

  • Removed the delayed conversion notice from the top of the post editor after publishing.
  • Kept conversion feedback limited to the immediate upload flow.

1.4.0

  • Added BMP and TIFF/TIF as input formats when supported by the server.
  • Added BMP and TIFF conversion counters.
  • Added clear AVIF keep-without-conversion feedback.

1.3.0

  • Added a conversion enable/disable switch, minimum file size, minimum savings percentage, and clear skip reasons.

1.2.1

  • Added image MIME, dimension, path, and large-image safety checks.

1.2.0

  • Added English source strings, Arabic translation, and automatic RTL/LTR administration behavior.

1.1.0

  • Added cumulative conversion and storage-saving statistics.

1.0.0

  • Initial release.