WP Manifestindependent plugin directory
manifest / media / wp-seed-pixel

WP Seed Pixel

Local, non-destructive JPEG optimization for WordPress: no cloud, service quota or AI runtime.

★ 0stars
16release downloads
≈10active sites
v0.7.0latest · 6d ago

Install

Download wp-seed-pixel-0.7.0.zip From the v0.7.0 release on GitHub, Oct 13, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/warzou/wp-seed-pixel/releases/download/v0.7.0/wp-seed-pixel-0.7.0.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WP Seed Pixel 0.3.0

Local, non-destructive JPEG optimization for the WordPress Media Library. No cloud upload, service quota, AI runtime or telemetry. The original is kept. Use automatic uploads, individual actions or selected bulk processing, with a bounded local Adaptive strategy. No extra runtime package or second library.

0.3.0 is a Tech Preview. Owner acceptance passed; this is not a universal production certification. Review tested compatibility and back up the site before a pilot.

Install

Upload wp-seed-pixel-0.3.0.zip through Plugins > Add New > Upload Plugin. Download that installable asset from the GitHub release, not GitHub's automatic Source code ZIP or tar.gz archives. Activate on one site. Open Media > WP Seed Pixel. Automatic processing defaults to OFF. Back up the database and uploads before a library-wide batch.

Choose an image in Media > Library and use Optimize with WP Seed Pixel. Native attachment details in list and grid show status, benefit and optional technical details. Regenerate web versions uses the preserved original. For several images, use the list view bulk action, then Resume on the Pixel page. A selection is capped at 1000 items; larger libraries can use several selections or the separate explicitly confirmed whole-library action. A batch processes one attachment per authenticated POST and can be paused, resumed after reload, and retried twice per failed attachment. Keep the admin page open to advance it; this is not a background worker daemon. Image buttons and batch progress require JavaScript. Settings and the diagnostic single-image fallback work without it. Numeric IDs are confined to developer tools, not normal use. Frontend rendering does not require JavaScript.

Presets

Preset Derivatives JPEG quality
balanced (new installation default) THUMB 640; VIEW target 1920 local quality/byte selection, source reuse
web (legacy/API default) maximum 1600 x 1600, proportional 82
participant_album (example) THUMB maximum 640; VIEW maximum 2048 80; 90

No cropping, enlargement, sharpening or aesthetic alteration. Preset dimensions are upper bounds, not promised square outputs. Both derivatives come from the master independently, never from a previous compressed derivative.

Smaller transfer is not guaranteed. A Q90 re-encode can be larger than an already-compressed source. The result reports negative transfer savings honestly. Disk use can increase because the master and native WordPress sizes remain.

The recommended balanced intent tries at most three independent qualities per output, checks sampled local structure and RGB error, and retains a safe MASTER when encoding has no material gain. It never exposes an original carrying private metadata. A reused resource has kind=master, quality=null and adds zero disk bytes; it is not a duplicate file. A source retained after quality rejection can exceed the dimension/soft weight target. See algorithm. Existing settings and fixed/custom profiles stay unchanged on upgrade. Select Balanced explicitly to regenerate existing images; there is no upgrade-wide batch. The quality metric is a bounded heuristic, not a human visual certification.

Safety and compatibility

  • WordPress WP_Image_Editor selects its existing GD or Imagick backend.
  • Ordinary, unprofiled three-channel RGB JPEGs are supported. EXIF rotation and mirrored orientations require PHP EXIF. Sensitive metadata is removed from outputs; the fixed technical GD/JPEG encoder comment can remain.
  • ICC-profiled, declared non-sRGB/uncalibrated, CMYK and grayscale JPEGs are deliberately skipped. This release does not promise profile conversion or wide-gamut color fidelity.
  • PNG, GIF (including animation), WebP, AVIF and SVG are skipped, not overwritten.
  • Source files must be regular local files inside this site's uploads directory, without symlink components. Remote/offloaded/private external storage is not supported by this release; this plugin is not a private-album access-control system.
  • Preflight limits: 40 megapixels, 64 MB source, bounded JPEG header, estimated decode memory and staging disk budget. Host resource failures remain possible.
  • File locks and metadata compare-and-swap prevent two Pixel jobs and concurrent metadata overwrites. Foreign metadata filters cause a safe refusal.
  • Other optimizers are neither disabled nor rewritten. Coexistence with each commercial optimizer requires a separate real-site validation.
  • PHP minimum 8.1, WordPress minimum 6.6 are declared API floors, not an assertion that every combination was tested. See compatibility.
  • Network activation is refused. Per-site multisite behavior is not certified.

Deactivation and removal

Deactivation stops automation and pauses a running batch; masters and outputs remain. Default uninstall retains generated files and settings. Optional cleanup removes only proven-owned, hash-matching, unreferenced derivatives and plugin metadata. Shared or changed files are retained conservatively. WordPress itself deletes its original when the user explicitly deletes an attachment.

Interrupted output publication leaves a journal. The next job for that attachment recovers it under the lock. A crash does not replace the previous valid generation. Previously published URLs remain stored, including after regeneration, to avoid breaking static/cached HTML. A maximum of twenty previous generations is kept; further regeneration stops until explicitly reviewed/pruned with the PHP API. Disk growth includes these retained generations. Never prune before reviewing external and cached uses; database reference checks cannot see a CDN cache. Locks are persistent empty synchronization files, not active processes. Do not manually remove locks while workers may be running.

Documentation

Image-engine visual review passed for 0.2.0; its engine is unchanged. The 0.3.0 admin UX passed owner acceptance, not a production certification. Linux, Imagick, MySQL/MariaDB and multisite remain uncertified. English source strings are translatable; a French catalogue is not shipped yet.

Administration screenshots

These are real local WordPress screens with generated synthetic media only.

Settings

Settings

Media Library

Native Media Library integration

Attachment details

Per-image results and regeneration

Selected bulk result

Bulk processing with distinct skipped and failed items

License

GPL-2.0-or-later; see LICENSE. No third-party code, font, image corpus or licensed WordPress theme is bundled. Synthetic fixtures and public screenshots are original project test material, distributed under the same license.

Releases

6 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v0.7.0 latest
Oct 13, 2026 6d ago
wp-seed-pixel-0.7.0.zip +1 asset
2
wp-seed-pixel-0.7.0.zip2
wp-seed-pixel-0.7.0.zip.sha2560
Oct 10, 2026 9d ago
wp-seed-pixel-0.6.1.zip +1 asset
3
wp-seed-pixel-0.6.1.zip3
wp-seed-pixel-0.6.1.zip.sha2560
Oct 9, 2026 10d ago
wp-seed-pixel-0.6.0.zip
2
Oct 7, 2026 12d ago
wp-seed-pixel-0.5.1.zip +1 asset
3
wp-seed-pixel-0.5.1.zip3
wp-seed-pixel-0.5.1.zip.sha2560
Oct 7, 2026 12d ago
wp-seed-pixel-0.5.0.zip +1 asset cohort
5
wp-seed-pixel-0.5.0.zip5
wp-seed-pixel-0.5.0.zip.sha2560
Oct 2, 2026 17d ago
wp-seed-pixel-0.3.0.zip +1 asset
1
wp-seed-pixel-0.3.0.zip1
wp-seed-pixel-0.3.0.zip.sha2560

Active-site estimate ≈10 comes from the v0.5.0 cohort. Method.