Directory / plugin

TSO Image Master

v2.1.0 · by deadko

Auto-converts images to WebP, AVIF, JPG or PNG, compresses PDFs, and repairs your media library: broken links, orphans, unused sizes, alt, SEO.

View on WordPress.org

About this plugin

Most image plugins only compress. TSO Image Master also fixes what goes wrong. It automatically converts every upload to WebP, AVIF, JPG or PNG (with an undo backup) and compresses your PDFs. Then it helps you repair the rest of your media library: broken image URLs with one-click fix and undo, safe renaming that updates every link, orphan and still-referenced images, extra files, duplicates, unused image sizes that waste disk space, missing or hyphenated alt text, and oversized files.

It provides the following features from a single admin screen:

Overview — Site health metrics (image count, missing alt, TSO backups, space saved, server engines). Bulk-fill missing or weak alt text. Scan for duplicate image files. Configure backup retention (backups of deleted images are never purged automatically) and watch the background optimize queue.

Image Optimizer — Convert images to WebP, AVIF (when GD supports it), JPG, or PNG. Set quality and dimensions, replace originals, and update content links (posts, custom fields, options, widgets and Elementor pages). Bulk optimize runs in the background via WP-Cron (5 images per batch). Choose how many images to show per page (21–105). Requires PHP GD (WebP strongly recommended).

Orphan Images — Three sub-tabs. Orphans detects Media Library images not used in posts, pages, widgets, meta, Customizer settings, FSE templates/parts/patterns, term or user meta, or menus; paginated scanning avoids timeouts on large sites. Referenced lists images without a parent post that are still in use and shows exactly where, so you can attach them to their post or delete them. Extra files scans uploads for files WordPress does not know about (double extensions like image.jpg.webp, plugin backups, temporary files) and shows which TSO backups can still revert an image. Every deletion saves a backup of the original first.

Image Sizes — Finds image sizes (thumbnails) left behind by old plugins or themes that WordPress no longer registers or uses, grouped by size. Delete a whole size in one click: every deletion saves a backup zip you can download, restore or delete, and files used by another size or by the main image are never removed. Sizes turned off in TSO Swiss Knife are marked, and thumbnail, medium and large can never be deleted.

SEO & File Names — Edit title, alt text, caption, and description for any image. Rename files using SEO-friendly slugs (lowercase, no accents, hyphens instead of spaces). All internal links are updated automatically.

PDF Compressor — Reduce PDF file size in the Media Library using GhostScript (recommended) or the Imagick PHP extension as a fallback. The original URL never changes.

Auto-Optimizer — Automatically optimize new uploads with your chosen format and quality. Optional: skip already-small WebP/AVIF files, and fill missing alt text on upload (even when auto-optimize is off). Each image is processed only once so regenerations do not re-trigger optimization.

Media Library — Row action and bulk action to queue images for background optimization, plus a short note on the attachment screen.

History — Audit log of optimizations, renames, SEO updates (with field details), PDF compressions, and related actions. Filter by action type, date range, and filename. Configurable automatic cleanup.

URL Fixer — Scans public content (posts, pages, and custom post types) for broken image URLs after format conversions (e.g. .jpg still referenced after conversion to .webp). Renders blocks and shortcodes when needed so embedded images are detected. Finds replacements and updates the database in one click; can also remove broken references when no fix exists.

Cache Compatibility — After operations that change file URLs or content, the plugin purges LiteSpeed Cache, WP Rocket, W3 Total Cache, WP Fastest Cache, Breeze, SiteGround Optimizer, and Autoptimize when they are active.

Requirements

  • PHP 7.4 or higher (tested up to 8.3)
  • WordPress 6.2 or higher (tested up to 7.1)
  • PHP GD library with JPEG, PNG, GIF, and WebP support (AVIF output needs GD with imageavif() / imagecreatefromavif())
  • GhostScript (optional, required for best PDF compression)
  • Imagick PHP extension (optional, fallback for PDF compression)

Source Code

The source code for this plugin is entirely human-readable. The file admin/js/admin.js is unminified, unobfuscated source code. No build tools are required. All translation strings are passed from PHP via wp_localize_script().

Translations

The plugin interface is already translated into the following languages (included in the plugin):

  • English — default
  • Català (Catalan) — ca
  • Español (Spanish) — es_ES

If you would like to contribute a translation into another language, you can do so at translate.wordpress.org.

Plugin tags