</TERMIMAL> TE ICP

TE ICP is a fully automatic, set-and-forget image optimization plugin for WordPress and WooCommerce, built by TERMIMAL, that quietly converts every uploaded image into a modern format — WebP, AVIF, JPEG, or PNG — the moment it lands in the Media Library, without the site owner ever having to touch a single file. It requires WordPress 5.8+, PHP 7.4+, and optionally WooCommerce 5.0+, slots into the shared TERMIMAL parent menu, and declares full HPOS and Cart/Checkout Blocks compatibility through WooCommerce’s official FeaturesUtil API. Once activated and configured, it runs entirely in the background — the user uploads images like they always have, and the plugin silently handles the conversion, resizing, thumbnail regeneration, and optional cleanup on every single upload.

The automatic pipeline is the heart of the plugin. It hooks into wp_generate_attachment_metadata — which fires after WordPress has already generated every intermediate size — and inspects the new attachment to decide whether it should be processed. If auto-convert is enabled, the MIME type is in the user’s selected source list (JPEG, PNG, BMP, TIFF by default), and the file is a genuine image, it converts the master file to the target format, regenerates all WordPress intermediate sizes from the new master, and then — if the user enabled it — walks every thumbnail, converts each one individually, renames it with the new extension, and updates the attachment metadata so WordPress’s own size registry stays perfectly consistent. A _icp_converting guard meta prevents recursion, so the plugin never accidentally converts its own output, and any failure is stored in _icp_last_error for later diagnosis. The result is that from the moment a store owner uploads a product photo, WordPress is automatically serving a WebP version of it — no manual step, no third-party service, no external API.

For WooCommerce stores specifically, TE ICP can run in WooCommerce-only mode, which restricts automatic conversion to images that are actually uploaded in a product context — determined by checking the parent post type (product or product_variation), the admin referer, or the AJAX action used during product media uploads. This is ideal for shops that want every product image optimized to WebP for faster category and product pages, but prefer to leave blog and page images untouched. Combined with optional max-width downscaling (never upscales), configurable quality (75–85 recommended for WebP), and intermediate-size conversion, the plugin turns every product upload into a fully optimized, modern-format asset that reduces page weight, improves Core Web Vitals, and lowers bandwidth — all without any manual intervention.

The plugin is equally thorough about images already in the library. Because it ships with a full Bulk Convert workflow on its settings page, activating it on an existing site doesn’t leave years of legacy JPEGs and PNGs behind. Clicking Analyze Media Library enumerates every image by MIME type, groups them into human-readable buckets (JPEG/JPG, PNG, GIF, WebP, AVIF, BMP, TIFF, ICO, SVG, HEIC, HEIF), and shows a summary of total, converted, and pending files with per-format status badges. Each group expands to reveal its actual files with names and sizes, and the user can bulk-select whole groups or individual files, then let the plugin process them one at a time in the background — a deliberately conservative runtime that avoids server timeouts and memory exhaustion on shared hosting. A live progress bar, per-file status indicators, colored row highlights, and a Stop button make the bulk run fully transparent, and the final report shows exactly how many files were converted and how many failed with specific error messages.

Server awareness is baked into the plugin at every level. The settings page opens with a live capabilities strip showing ticks or crosses for GD, Imagick, WebP, AVIF, and the currently chosen image editor — so the user immediately knows what their host can and cannot encode before they configure anything. The converter engine (ICP_Converter) probes Imagick for WEBP and AVIF support by querying queryFormats(), falls back to GD’s imagewebp() for WebP, and always allows JPEG, PNG, and GIF — never attempting to write a format the server can’t produce, and returning a clear, human-readable error when it can’t. This means TE ICP gracefully degrades to JPEG/PNG on hosts without WebP or AVIF support, and takes full advantage of modern formats on hosts that do support them, without the user having to know or care which is which.

The configuration surface is small but powerful. Under TERMIMAL → TE ICP, the user can enable or disable auto-convert on upload, choose the output format (WebP, JPEG, PNG, AVIF), set quality (1–100 with a recommended range note), set max width for automatic downscaling, toggle thumbnail conversion, toggle delete original file after conversion, toggle WooCommerce-only mode, and select which source MIME types should be converted (JPEG, PNG, BMP, TIFF). Every value is sanitized through a dedicated ICP_Settings::sanitize() method with strict allow-lists and clamping — output format is validated against a fixed array, quality is clamped 1–100, max-width is clamped to ≥0, and MIME checkboxes are intersected with the plugin’s supported list — so no malformed input can ever reach the conversion pipeline. Sensible defaults are applied on activation (auto-convert on, WebP output, quality 82, thumbnail conversion on, all four source MIMEs), so the plugin works out of the box.

Security and data integrity follow TERMIMAL’s established standards throughout. Every AJAX endpoint verifies the icp_nonce, and verify() allows either manage_options or upload_files capability so media editors can run bulk convert without full admin rights. All input is sanitized — attachment IDs via intval(), output formats via a strict allow-list, MIME lists via sanitize_text_field with an image/ prefix check — and file paths are always resolved through get_attached_file() rather than constructed from user input. The plugin never executes raw SQL with user data (the MIME group query uses hardcoded strings, and the pending-count query uses $wpdb->prepare()), never trusts the client for anything but IDs and format selection, and cleans up after itself: uninstall deletes icp_settings, and every settings field has a strict default so the plugin behaves sanely even if the option row is missing.

Visually, the plugin follows TERMIMAL’s established design language: a card-based layout, an at-a-glance capabilities strip, a clean settings table with a fixed left-hand label column, a bulk card with rounded corners and subtle shadow, pill-shaped summary badges, a gradient progress bar, color-coded status badges, a pulsing dot while converting, and a monospaced file-name column with ellipsis overflow. The media table scrolls horizontally inside its wrapper, group rows expand inline without layout shift, file lists render inside their parent row, and the “Select All” checkbox drives group checkboxes which in turn drive file checkboxes through a well-defined precedence. In short, TE ICP is a fully automatic, server-aware, WooCommerce-friendly image optimization plugin that quietly converts every image on a WordPress or WooCommerce site into WebP, AVIF, JPEG, or PNG — on upload without any manual step, and on demand for legacy libraries — delivering modern-format performance, smaller page weight, and better Core Web Vitals from the moment it’s activated.

</TERMIMAL> ImageConvert Pro

What led us to consider this product?

Read more about the initial version and concept of this product.

LiveSAAS

Discussion

Ask a question or reply to others. Replies to questions are marked as answers.

Ask a question or leave a comment

Your email is not published. Comments may be moderated.