PDEV Image Optimizer was created because I needed a small image optimization
plugin that simply did its job. I did not need a cloud dashboard, a subscription,
or a long list of advanced settings. I also did not want basic features to stop
working behind a paywall after installing the plugin.
This plugin is completely free and will remain free. There is no PRO version,
no limited free plan, no account, and no feature unlock hidden in the settings.
PDEV Image Optimizer creates WebP or AVIF copies of images from the WordPress
Media Library. It can convert new uploads automatically and process an existing
library in small batches that can be stopped and continued later.
You only choose:
The plugin also includes thumbnail scanning and regeneration, storage savings
statistics, conflict detection, optional Cloudflare support, and a detailed
system report for troubleshooting. The Settings overview explains failed checks
and links directly to the action needed to resolve each problem.
photo.jpg and usually creates thumbnailphoto-768x512.jpg.photo.jpg.webp, photo.jpg.avif, or forphoto-768x512.jpg.webp..jpg, .png, .gif, or .webp.On Apache and compatible LiteSpeed servers, the plugin adds a clearly marked
PDEV Image Optimizer block to .htaccess inside the uploads directory. If
theme image optimization is enabled, it also manages a marked block in the
active theme directory. The block uses rewrite rules, sets the correct MIME
type, and adds Vary: Accept so caches know that one URL can return different
file formats.
On Nginx, WordPress cannot safely edit the server configuration. PDEV Image Optimizer therefore
shows ready-to-copy map and location blocks in System status. A server
administrator must add them to the Nginx configuration and reload Nginx.
The Settings overview includes an optional live delivery test. It creates a
temporary one-pixel source and optimized sidecar inside uploads, requests the
source URL with the appropriate Accept header, verifies the returned HTTP
status and Content-Type, and immediately removes both test files. The test runs
only when an administrator clicks Test image delivery.
Conversion and delivery are separate steps. If WebP or AVIF files exist on disk
but the server rules are missing or ignored, conversion succeeded but visitors
will still receive the original files. Check System status when this happens.
.htaccess delivery and generated Nginx configuration.The plugin needs both an image conversion library and working web-server rules.
Installing and activating the plugin cannot add missing PHP extensions or change
server configuration that your hosting provider has disabled.
Required for conversion:
Required for automatic delivery on Apache or LiteSpeed:
mod_rewrite).mod_mime and mod_headers)..htaccess files must be allowed and processed for the uploads directory.AllowOverride setting..htaccess file must be writable by PHP.htaccessRequired for delivery on Nginx:
map block to the http context and thelocation block to the correct server context.If you use managed hosting and do not have access to these settings, ask the
hosting provider whether Imagick/GD supports WebP or AVIF and whether the required
Apache modules and .htaccess overrides are enabled. PDEV Image Optimizer cannot bypass server
restrictions imposed by the hosting provider.
Image conversion can use considerably more memory than the compressed source
file suggests. To reduce timeouts, 503 responses, and account resource-limit
errors on shared hosting, PDEV Image Optimizer applies conservative limits before and during
conversion.
Default limits applied to both Imagick and GD:
Additional GD protection:
Additional Imagick protection:
These are safety ceilings, not resource reservations. The server may enforce
lower limits, and increasing a PHP or plugin limit cannot bypass the hosting
account’s CPU, RAM, process, or I/O allowance.
Media Library optimization starts with one attachment per request and may use
two only after several fast batches. Slow or memory-heavy batches automatically
return to one attachment. Short pauses are added between requests, and temporary
HTTP 409, 429, 502, 503, and 504 responses use an increasing retry delay. Progress
is saved after every attachment, so a stopped job can be continued without
starting the library scan from the beginning.
One WordPress attachment can contain the original image and several thumbnail
files. Processing one attachment can therefore still convert several physical
files. Thumbnail regeneration always handles one attachment per request and
waits briefly before requesting the next one. Thumbnail scanning is lighter and
uses batches of up to five attachments.
An image that exceeds a safety limit is not converted. It is shown as a failed
item with the reason in the conversion log and error list, while the optimizer
continues with the next attachment. The original image is never removed or
modified. Developers can adjust the safeguards with WordPress filters, but doing
so should be based on the real limits of the hosting account.
Cloudflare integration is optional. When configured, PDEV Image Optimizer sends the Zone ID and
API token to Cloudflare to manage its own Cache Rule and purge the selected zone.
The compatibility test requests one public Media Library image with different
Accept headers and stores only technical response information. Images are not
uploaded to Cloudflare by this plugin.
Cloudflare information: Terms and
Privacy Policy.
Support is provided only through the official support forum for this plugin on
WordPress.org: PDEV Image Optimizer support forum.
Support is not provided by email, through the author’s website, Ko-fi, social
media, private messages, or any other channel. Please use the WordPress.org forum
so questions and solutions remain public and useful to other users.
Before opening a topic, check Tools > Image Optimizer > System status,
then copy the report or export its JSON file and include the relevant details in
your forum post. The report is designed to omit URLs, credentials, personal data,
full server paths, and media content.