ANONYMIZED CLIENT WORK · AUGUST 2026

Restore an automated WordPress image pipeline

A client's newer uploads had fallen outside its image-conversion workflow. We added a repeatable sidecar-generation process that preserves originals, with file-level checks and a dated coverage report.

Delivered by Demirix. Client identity, domain, photographs and private operational details are omitted. Evidence reviewed again on 17 October 2026.

Starting state and constraints

The client operated an image-heavy WordPress site behind a content delivery network. The August delivery notes record that recent uploads were no longer being converted by the previous image workflow. Original media had to remain available, and repeat runs needed to avoid overlapping or rewriting unchanged files.

A retained file manifest from 5 August contains 8,293 JPEG/PNG source paths. We independently recounted 8,098 paths with a corresponding WebP sibling, leaving 195 without one in that snapshot. This is file presence, not a visual-quality or byte-size audit.

Implementation

  1. Scan uploaded JPEG and PNG files and generate a WebP sibling alongside the original.
  2. Use a process lock to prevent overlapping jobs. Skip an existing sibling when it is newer than the source.
  3. Write new output to a temporary file, compare its size with the original and retain it only when it is smaller and non-empty.
  4. Record converted, skipped, discarded and failed counts for the operator.
  5. Serve the format through an Accept-aware server rule, retaining the original as the fallback. The delivery report records that the process was automated.
Upload: retain the original media
Convert: check freshness, size and output
Serve: choose WebP or the original fallback

Supported result and timeframe

August 2026 delivery evidence
EvidenceWhat it supports
5 August retained manifest8,098 of 8,293 source paths had matching WebP siblings when recounted.
6 August delivery notes and reportRecorded coverage of 8,290 of 8,293 images, with automation in place.
Retained implementation scriptOriginal preservation, locking, freshness checks, new-output size checks and per-run counts.

The later figure is the recorded delivery result, not a fresh full-library inventory. The manifest and report are different evidence types; neither proves that every file was smaller, visually acceptable or served from every CDN cache.

Read the anonymized evidence summary. Full client reports and source paths remain private. No claim about rankings, enquiries, revenue or site-wide load time is derived from these counts.

A separate live check and an important limit

On 17 October we checked one image referenced by the live homepage. A WebP-capable request returned HTTP 200 with image/webp; a request for the original format returned HTTP 200 with image/png. Both responses varied on Accept. This confirms format negotiation for that sample only.

The sampled WebP was 9,806 bytes and the PNG was 6,430 bytes. Format conversion alone therefore did not reduce that asset's transfer size. The script's size comparison applies to newly generated files; it skips existing siblings that are newer than their source. The sample does not establish which process generated that existing file.

A follow-up audit should compare existing derivatives as well as newly generated ones, sample visual quality and check CDN behavior. We did not modify the client site during this publication review. The delivery case is a documented workflow and coverage change, not a claim that all current images are optimized.

What another team can reuse

Treat media optimization as an operated pipeline: preserve originals, make repeat runs safe, define useful output, log failures and verify the response a visitor actually receives. A file extension or coverage count is only one acceptance check.

For deployment and ownership decisions, see our CI/CD project service and CDN comparison guide. Our separate homepage case demonstrates a dated page-level measurement with its own baseline and limits.

Have a similar engineering problem?

Start with your current setup, the outcome you need and the constraints. We agree the investigation, deliverables and acceptance checks before implementation.

An enquiry starts a scoping conversation. It does not book a meeting or start a paid engagement.