=== PixGrow Image Optimizer ===
Contributors: iamsantoshg
Tags: image optimization, image optimizer, image compression, webp, webp converter, page speed, website performance, media library, bulk image optimizer, webp images
Requires at least: 5.6
Tested up to: 7.0
Stable tag: 1.0.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free WordPress image optimizer. Compress images and convert to WebP locally in your browser using WebAssembly — no API keys, no external servers, no subscriptions.

== Description ==

= What Is PixGrow Image Optimizer? =

PixGrow Image Optimizer is a free, open-source WordPress plugin that compresses images and converts them to WebP format entirely inside your web browser using WebAssembly technology. It requires no API keys, no external servers, and no subscription fees. Unlike cloud-based image optimization services, PixGrow processes all images locally on your computer — your media files never leave your hosting environment — making it a privacy-focused, zero-cost solution for WordPress Media Library optimization at any scale.

---

PixGrow was built to solve a real problem faced by WordPress site owners: how to run bulk image compression and WebP conversion without overloading the server, paying for external APIs, or sending media assets to third-party infrastructure — while still improving website performance and reducing page load times caused by unoptimized images.

It is a dedicated, lightweight image optimization plugin. No CDN. No general page-speed suite. No media cleaner. One focused job: compress and modernize your WordPress Media Library — safely, privately, and at no recurring cost.

---

= Why WordPress Site Owners Use PixGrow =

* **No API key required** — compress and convert images without external accounts or usage quotas.
* **Images stay on your server** — all browser-based processing runs locally; no image data is transmitted externally.
* **No server CPU load during bulk optimization** — ideal for shared hosting environments where server-side bulk tools cause timeouts or memory errors.
* **Free to use at scale** — no per-image fees, no monthly subscription, no compression limits tied to a paid plan.
* **WebP conversion built in** — convert JPEG and PNG images to WebP to reduce file sizes and serve next-gen image formats.
* **Safe and reversible** — automatic backups before every replacement, with a built-in restore tool.

---

= The Problem With Server-Side Image Optimization =

Most WordPress image compression plugins process images on external servers. This approach has three consistent drawbacks:

1. **Server resource strain:** Bulk image compression running server-side frequently triggers PHP memory exhaustion, execution timeouts, or temporary account suspension on shared hosting plans.

2. **API dependency and cost:** Many plugins require paid API plans to process images at scale. Free tier limits are quickly reached in a growing Media Library.

3. **Loss of control over your media:** When images are sent to third-party compression APIs, site owners transfer their assets outside their own infrastructure — a concern for anyone managing proprietary, client-owned, or confidential visual content.

---

= The PixGrow Approach: Browser-Based WebAssembly Compression =

PixGrow takes a fundamentally different approach to WordPress image optimization by moving image compression into the browser:

* **WebAssembly compression engine:** PixGrow compiles high-performance compression codecs directly in your web browser. Your computer's local resources handle the work — not your web server.

* **Zero external transmission:** Images travel from your server to your local browser for compression, then return as optimized files. No third-party services are involved at any point in the process.

* **MozJPEG encoder:** PixGrow uses the MozJPEG codec — an open-source JPEG encoder maintained by Mozilla — for high-efficiency JPEG compression that reduces file sizes while preserving visual quality.

* **Shared hosting compatible:** Because no server-side processing occurs during Media Library optimization, PixGrow is well-suited to shared hosting plans where server-based bulk tools frequently cause timeouts or memory errors.

* **No registration, ever:** There is no external account to create and no API key to manage. PixGrow works immediately after activation.

---

= Features =

**Image Compression and WebP Conversion**
* Client-side bulk image compression via WebAssembly — zero server CPU usage
* WebP conversion: convert JPEG and PNG images to WebP format
* MozJPEG encoding for efficient, high-quality JPEG compression
* Processes all WordPress attachment sizes: thumbnail, medium, large, and custom registered sizes
* Background asynchronous upload optimization pipeline for new image uploads

**Backup and Restore**
* Automatic file and database backups created before every image replacement
* Non-destructive pipeline — original images are preserved until you choose to delete backups
* One-click restore to original unoptimized images at any time
* Delete Backups Toggle: choose to preserve or remove backups and settings on plugin uninstall

**Dashboard and Tooling**
* Optimization dashboard with Media Library statistics and queue management
* Optimization log displaying original file size, compressed file size, and size reduction per image
* Reference Path Scanner: locate hardcoded image paths in theme template files and post content
* Visual quality comparison slider: drag to compare original vs. compressed output side-by-side
* Amber Option Notice: warns before navigating away with unsaved settings changes

---

= How PixGrow Image Optimization Works =

1. **Install and activate** PixGrow from the WordPress.org plugin directory.
2. **Open the PixGrow dashboard** — your browser loads and compiles the WebAssembly compression codecs.
3. **Review your Media Library** — the dashboard shows unoptimized images eligible for processing.
4. **Configure your settings** — select quality level and review optimization options.
5. **Start Bulk Optimization** — image compression runs locally in your browser, processing images in a queue.
6. **Keep the tab active** — the queue requires the browser tab to remain open. It pauses if you navigate away and resumes when you return.
7. **Review the log** — check image file size reductions across your Media Library after the queue completes.
8. **Restore if needed** — revert any image to its original version using the built-in restore tool.

---

= Who Uses PixGrow =

**Bloggers and content publishers**
Upload images regularly and want WebP conversion on new uploads without adding server load or managing API credentials.

**Freelancers and web agencies**
Handle multiple client WordPress sites — including shared hosting environments — where server-side bulk image optimization tools are unreliable or produce errors.

**WooCommerce store owners**
Manage large product image libraries and need bulk image compression across all attachment sizes without per-image API costs.

**Privacy-conscious site owners**
Operate sites with proprietary, client-owned, or confidential media that cannot be sent to external servers for processing.

**WordPress developers**
Want a clean, lightweight image optimization plugin that integrates with any theme or page builder stack without conflict or bloat.

**Performance-focused site owners**
Need to reduce image file sizes and serve next-gen WebP images to address common page speed audit recommendations.

---

= PixGrow vs. API-Based Image Optimization Plugins =

The following table compares PixGrow to the general category of cloud API-based image optimization plugins.

| Feature                          | PixGrow Image Optimizer        | API-Based Cloud Optimizers      |
|----------------------------------|--------------------------------|---------------------------------|
| Compression location             | Local browser (WebAssembly)    | External API server             |
| API key required                 | No                             | Yes                             |
| Subscription required            | No                             | Often required for bulk use     |
| Images transmitted externally    | Never                          | Yes, to third-party servers     |
| Server CPU during bulk           | None                           | High (or offloaded to API)      |
| WebP conversion                  | Yes, included free             | Yes, often paywalled            |
| Shared hosting compatibility     | No server-side processing      | Risk of timeout on shared plans |
| Privacy                          | Full control — stays on host   | Third-party data handling       |
| Backup and restore               | Built-in, automatic            | Varies by plugin                |
| License                          | Open source (GPLv2)            | Varies                          |

PixGrow is the appropriate choice when local browser-based processing, media privacy, and zero API cost are priorities.

---

= Image Optimization and Website Performance =

Large, unoptimized images are a common contributor to slow WordPress page load times and poor page speed scores. Reducing image file sizes and converting to modern formats like WebP are widely recommended practices in web performance auditing tools including Google PageSpeed Insights and Lighthouse.

PixGrow supports these website performance optimization efforts by:

* Reducing image file sizes through browser-based compression, decreasing the total download weight of your pages and contributing to faster page loads.
* Converting images to WebP format, which typically produces smaller files than equivalent JPEG or PNG images at comparable visual quality.
* Processing all registered WordPress attachment sizes, ensuring consistent image optimization across every dimension used by your theme.

Note: Image file size is one of many factors that influence page load speed and performance audit scores. PixGrow optimizes image assets specifically. Other performance factors — server response time, JavaScript execution, caching, and hosting infrastructure — are outside its scope.

---

= About PixGrow Image Optimizer =

PixGrow Image Optimizer is maintained by iamsantoshg and distributed through the official WordPress.org plugin directory under the GPLv2 open-source license.

Plugin page: https://wordpress.org/plugins/pixgrow-image-optimizer/
Support forum: https://wordpress.org/support/plugin/pixgrow-image-optimizer/

---

= Privacy =

PixGrow Image Optimizer processes all images locally inside your web browser using WebAssembly.

* No image data is transmitted to external servers during compression.
* No usage analytics, telemetry, or personally identifiable information is collected or sent externally.
* No external account or registration is required.
* Image backups are stored within your own WordPress hosting environment.
* The plugin source code is open source and auditable under the GPLv2 license.

PixGrow does not use any external services. For full details, see the plugin source code in the WordPress.org repository.

---

== Frequently Asked Questions ==

= What is PixGrow Image Optimizer? =
PixGrow Image Optimizer is a free WordPress plugin that compresses images and converts them to WebP format using WebAssembly technology running inside your web browser. It requires no API keys, no external servers, and no subscription fees. All image compression and WebP conversion happens locally — your images never leave your hosting environment.

= What is the best image optimizer plugin for WordPress? =
The best image optimizer depends on your specific requirements. PixGrow is designed for WordPress users who want image compression and WebP conversion without API keys, external services, recurring subscriptions, or server-side processing. It is a strong fit for shared hosting environments and sites where media privacy is a priority.

= Which WordPress image optimizer does not require API keys? =
PixGrow performs image compression and WebP conversion locally through WebAssembly running in the browser. No external API keys, accounts, or third-party services are required at any point.

= How does PixGrow compress images without a server or API? =
PixGrow uses WebAssembly — a high-performance binary format supported by all modern browsers — to run image compression codecs locally on your computer. Your browser fetches original images from your WordPress server, compresses them locally, and uploads the optimized files back. No third-party servers or APIs are involved.

= Does PixGrow require an API key? =
No. PixGrow requires no external API keys, registration, or third-party accounts of any kind. There are no usage quotas tied to an external service. You can optimize your entire Media Library without any external dependency.

= Is PixGrow free? =
Yes. PixGrow Image Optimizer is available as a free plugin through the WordPress.org plugin directory. Bulk image compression, WebP conversion, backup, and restore functionality are all included at no cost.

= Is PixGrow open source? =
Yes. PixGrow is distributed under the GNU General Public License version 2 (GPLv2). The source code is available through the WordPress.org plugin repository.

= Why use WebP images in WordPress? =
WebP is a modern image format that typically produces smaller file sizes than JPEG or PNG at comparable visual quality. Serving WebP images reduces page weight, which can contribute to faster page loads and better scores in performance auditing tools like Google PageSpeed Insights and Lighthouse. WordPress natively supports WebP, and most modern browsers can display WebP images. Converting your Media Library to WebP is one of the most widely recommended image optimization steps for WordPress site performance.

= How does image optimization improve website performance? =
Images are often the largest assets on a webpage. Large, unoptimized image files increase page weight, which extends download times and delays page rendering — particularly on mobile connections. Reducing image file sizes through compression and converting to efficient formats like WebP decreases the total data a browser must load, contributing to faster page loads. Google PageSpeed Insights and Core Web Vitals both include image efficiency as a measurable factor in page performance assessment.

= What is browser-based image compression? =
Browser-based image compression processes image files locally inside your web browser rather than on a remote server or external API. PixGrow uses WebAssembly to run compression codecs directly in the browser, so your images are compressed on your own computer. This means no image data is sent to third-party servers, and no server resources are consumed during the optimization process — making it particularly reliable on shared hosting plans where server-side bulk tools can trigger timeouts or memory limits.

= Is browser-based image optimization secure? =
Browser-based image optimization is inherently more private than cloud API-based approaches because your images never leave your own infrastructure. PixGrow processes all images locally in your browser using WebAssembly. No image data is transmitted externally, no external account is required, and no third-party service handles your media at any point. The plugin source code is open source and publicly auditable on WordPress.org. Backups of original images are stored within your own hosting environment.

= How do I convert images to WebP in WordPress? =
Install and activate PixGrow Image Optimizer, open the PixGrow dashboard, and click Start Bulk Optimization. Your browser will convert JPEG and PNG images in your WordPress Media Library to WebP format locally, then replace them on your server.

= Can I use PixGrow on shared hosting? =
Yes. PixGrow is designed for shared hosting environments. Because image compression runs inside your browser rather than on the web server, it avoids the PHP timeouts and memory errors that server-side bulk optimization tools can trigger on shared hosting plans.

= Does PixGrow send my images to external servers? =
No. PixGrow never transmits your images to external servers. Images are fetched from your WordPress server to your local browser for compression, then returned as optimized files. No image data passes through any external infrastructure.

= What is MozJPEG and how does PixGrow use it? =
MozJPEG is an open-source JPEG encoder maintained by Mozilla that produces smaller JPEG files than the standard encoder at comparable visual quality. PixGrow uses the MozJPEG codec within its WebAssembly compression engine when optimizing JPEG images.

= What image formats does PixGrow support? =
PixGrow converts JPEG and PNG images to WebP format. It also applies MozJPEG encoding for optimized JPEG output. For specific details on current format support, refer to the plugin changelog and support forum.

= Can I restore my original images after optimization? =
Yes. Before replacing any image, PixGrow automatically creates a backup of the original file on your server. You can restore any image — or your full Media Library — to its original unoptimized state at any time using the built-in restore tool.

= Do I need to keep the browser tab open during bulk optimization? =
Yes. Because PixGrow compresses images using WebAssembly inside your browser, the PixGrow dashboard tab must remain active during the bulk queue. If you close or navigate away from the tab, the queue pauses and resumes when you return.

= Does PixGrow affect my site's frontend performance or admin speed? =
No. PixGrow's WebAssembly engine only activates when you open the dashboard and start an optimization queue. It has no impact on the WordPress admin outside that context and no impact on frontend page loads for site visitors.

= Can PixGrow optimize images automatically on upload? =
PixGrow includes a background asynchronous upload optimization pipeline introduced in version 1.0.2. New image uploads can be processed automatically, reducing the need for repeated manual bulk runs as your Media Library grows.

= Can PixGrow compress WooCommerce product images? =
Yes. PixGrow works through the WordPress Media Library, which includes WooCommerce product images. Bulk optimization processes all registered attachment sizes for each product image, including thumbnails and custom cropped sizes.

= Does PixGrow work with page builders like Elementor or Divi? =
Yes. PixGrow optimizes images at the WordPress Media Library level, making it compatible with all page builders — including Elementor, Divi, Beaver Builder, WPBakery, and the Gutenberg Block Editor — as well as any theme that references standard Media Library attachments.

= How does PixGrow handle thumbnail and resized image versions? =
PixGrow processes all attachment sizes registered in the WordPress Media Library for each image, including thumbnail, medium, large, and any custom sizes registered by your active theme or plugins.

= Can PixGrow find hardcoded image URLs in my theme or post content? =
Yes. PixGrow includes a Reference Path Scanner that identifies hardcoded image paths in theme template files and WordPress post content. This helps locate image URLs that may need updating after WebP conversion, particularly in themes that reference image paths outside the standard Media Library system.

= What happens to my backups if I uninstall PixGrow? =
PixGrow includes a Delete Backups Toggle in its settings. Before uninstalling, you can choose to preserve all backups and settings — keeping your originals accessible on the server — or remove them completely for a clean uninstall.

= How does PixGrow help with image-related page speed audit recommendations? =
Google PageSpeed Insights and Lighthouse commonly flag two image-related opportunities: serving images in next-gen formats and efficiently encoding images. PixGrow addresses both by converting images to WebP and reducing file sizes through compression. Resolving these audit items can help reduce total page weight and improve page speed metrics.

= What is WebAssembly and why does PixGrow use it? =
WebAssembly (Wasm) is a binary instruction format that runs inside modern web browsers at near-native speed. PixGrow uses WebAssembly to execute image compression codecs locally in your browser, eliminating the need for server-side processing or external APIs.

= Is PixGrow compatible with WordPress Multisite? =
For the latest information on Multisite compatibility, refer to the official support forum at wordpress.org/support/plugin/pixgrow-image-optimizer/

= How do I get support for PixGrow? =
Support is available through the official WordPress.org support forum: https://wordpress.org/support/plugin/pixgrow-image-optimizer/ — When submitting a request, include your WordPress version, PHP version, browser name and version, hosting environment type, and a description of the issue.

---

== Installation ==

= Automatic Installation =

1. Log into your WordPress admin panel.
2. Go to **Plugins → Add New Plugin**.
3. Search for **PixGrow Image Optimizer**.
4. Click **Install Now**, then **Activate**.
5. Open the **PixGrow** menu in the left sidebar to begin.

= Manual Installation =

1. Download `pixgrow-image-optimizer.zip` from the WordPress.org plugin page.
2. Upload the `pixgrow-image-optimizer` folder to `/wp-content/plugins/` via FTP or your hosting file manager.
3. Activate the plugin from **Plugins** in your WordPress admin dashboard.
4. Open the **PixGrow** menu in the left sidebar to begin.

= First Optimization Run =

1. Open the PixGrow dashboard. The browser compiles the WebAssembly codecs on first load — this takes a few seconds.
2. Review your Media Library statistics in the dashboard overview.
3. Configure your preferred quality settings.
4. Click **Start Bulk Optimization** to begin the queue.
5. Keep the browser tab active until the queue completes.
6. Use the restore tool at any time to revert any image to its original version.

---

== Screenshots ==

1. The optimization dashboard displaying Media Library statistics, queue status, and settings tabs.
2. The bulk compression interface showing the WebP conversion queue processing images.
3. The optimization log displaying original file sizes, compressed file sizes, and reduction achieved.
4. The settings tab showing backup options, format selection, and data preservation preferences.
5. The Amber Option Notice warning with the explicit save action button.
6. The draggable visual comparison slider for side-by-side review of original vs. compressed image quality.

---

== Changelog ==

= 1.0.2 =
* Fixed background automatic upload optimization pipeline.
* Added custom event trigger window dispatch for asynchronous upload starts.
* Updated licensing checks to support both QA constants.

= 1.0.1 =
* Final UAT fixes and cache busting.
* Fixed single image compression and queue handling.

= 1.0.0 =
* Initial release of PixGrow Image Optimizer.
* Client-side WebAssembly WebP and JPEG compression.
* MozJPEG encoder support.
* Automatic local backups and restore functionality.
* Visual quality comparison slider.
* Reference Path Scanner.

---

== Support ==

For questions, bug reports, and feature requests, use the official WordPress.org support forum:

https://wordpress.org/support/plugin/pixgrow-image-optimizer/

When submitting a support request, please include your WordPress version, PHP version, browser name and version, hosting environment type, and a clear description of the issue.