=== TechnoHelps Image Optimizer ===
Tags: webp, image optimization, image compression, bulk optimizer, media library
Requires at least: 6.5
Requires PHP: 8.0
Tested up to: 7.1
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Local WebP image conversion with source-and-thumbnail file verification, repair queue, safe originals, and optional JavaScript-popup delivery.

== Description ==

TechnoHelps Image Optimizer generates WebP versions of supported JPG and PNG Media Library files on your own server. Original files are preserved. The plugin includes bulk processing, individual optimization, Media Library integration, dynamic Custom HTML/JavaScript popup handling, local WebP verification and repair, configurable image quality, scheduled scans, and reports.

Image conversion uses supported PHP image editors available on your own WordPress hosting. No API key, paid external service, customer account, or image credits are required.

= WebP verification and repair workflow =

A bulk job marked complete is not proof that every generated thumbnail has a valid WebP file. The WebP Verification screen separately inspects the expected local WebP sidecars for each supported original image and registered thumbnail. Missing or incomplete variants can be queued for repair. Results distinguish local file verification from browser delivery; the latter depends on the site configuration.

= Custom HTML and popup workflow =

WordPress themes and custom-built popups may insert image URLs after page load. Alongside conventional WordPress image markup, the optional dynamic delivery handler attempts to map locally available WebP variants for supported dynamically inserted images and inline backgrounds. When a mapping is unavailable, the original URL remains in use. JavaScript rewriting cannot guarantee that the original image was not already requested, and stylesheet-based backgrounds may require server rules.

= Selected image workflow =

Use the native WordPress Media Library picker inside the plugin dashboard to optimize only the JPG/PNG attachments you select. Individual results include expected vs verified WebP variants, so you do not need to manually open every image to confirm the file-level conversion status.

= Features =

* Create WebP variants for JPEG and PNG uploads with compatible local encoder.
* Optimize a single image or multiple selected Media Library items.
* Queue older Media Library images using server-friendly processing batches.
* Verify converted WebP originals and thumbnails; identify missing variants and queue repairs.
* Preserve JPG/PNG original files and restore by removing generated WebP sidecars.
* Support Picture/HTML delivery and optional server rewrite rules; best-effort handling for dynamic JavaScript popups.
* Configure lossy WebP quality independently for photos and graphics.
* Scheduled scans, custom folders restricted to the uploads directory, reports and WP-CLI.

Please note: frontend delivery depends on theme, hosting, and caching configuration. The plugin never guarantees that every JavaScript or CSS background image is delivered as WebP. The local encoder must support WebP.

== Installation ==

1. Back up your website and uploads. Deactivate any older TechnoHelps Image Optimizer Alpha/Beta plugin before installing.
2. Upload the plugin ZIP through Plugins > Add New > Upload Plugin, or install it from WordPress.org after approval.
3. Open Image Optimizer in the WordPress admin menu and review System Health.
4. Start with one JPG and one PNG. Verify the generated WebP file and delivery before large bulk runs.
5. For dynamic popup images, review Image Delivery settings. For Apache/LiteSpeed rewrite rules, test on a staging site before enabling.

== Frequently Asked Questions ==

= Are there any paid features or required license keys? =

No. All included functionality is free; no license or external cloud image processing service is required.

= Does my original JPG or PNG get deleted? =

No. The plugin writes separate .thio.webp files and keeps original images.

= How is file verification different from the completed-job counter? =

The job counter tracks processing outcomes. WebP Verification separately checks the expected output files for the original image and registered thumbnail sizes, and can queue missing variants for repair.

= Will images in JavaScript popups be converted? =

Their JPG/PNG source files can be converted with the optimizer. Frontend delivery for dynamically inserted popup images is best-effort and depends on supported markup and hosting configuration.

= Does it convert AVIF? =

No. This plugin intentionally focuses on WebP only.

= Can I use this with cache plugins? =

Yes, but image-delivery results depend on your cache/CDN configuration. Clear caches after changing delivery settings and verify image requests using browser developer tools.

== Privacy ==

Image compression and WebP conversion run on the site's own server. No user images or usage telemetry are sent to TechnoHelps or a third-party compression API. The plugin includes an optional administrator-initiated support link. For the dynamic frontend WebP delivery feature, the browser may make same-site requests to WordPress admin-ajax.php to resolve local image URLs.

== Changelog ==

= 1.0.2 =
* Removed the separate publisher promotion tab and unrelated product/service discovery from plugin administration.
* Kept the official publisher logo, a small support link, and the plugin version on the plugin's own settings page.
* Clarified independent WebP file verification, repair, and optional popup delivery workflows in the dashboard and readme.
* Limited legacy-plugin conflict notices to the Plugins screen, without displaying banners throughout WordPress admin.
* Continued to use the existing WebP conversion engine, data tables, original-file protection, and settings.

= 1.0.1 =
* Hardened original/WebP sidecar verification and legacy server rewrite rule cleanup.
* Updated release metadata and clarified official-publisher identity.
* No feature restrictions, remote activation or online image processing added.

= 1.0.0 =
* Initial public release of the all-free, locally processed WebP optimizer.
* Support individual, multi-selection and bulk Media Library optimization.
* Verify source and thumbnail WebP variants and queue incomplete conversions for repair.
* Provide dynamic popup delivery support with original-image fallback.
* Preserve originals and offer restoration, scheduled scanning, and reports.
* Retain compatibility with historical `.thio.webp` sidecars and stored job records.

= 0.9.3 =
* Release candidate: reviewed database access and request validation.
* Corrected WordPress.org readme metadata and refined security handling.

== Trademark Notice ==

TechnoHelps product names and logos identify the original publisher. The plugin code is offered under GPLv2 or later. Third-party modifications should identify themselves clearly and must not impersonate the official TechnoHelps publisher.
