What is WP Diff?
WP Diff is a visual regression tool for WordPress sites. It takes full page screenshots of every published page on your site, stores each capture as a timestamped snapshot, and compares any two snapshots to show you exactly which parts of which pages changed.
It has two halves:
- The WordPress plugin owns discovery and orchestration. It builds the page list from your WordPress content, triggers scans, and adds a WP Diff page to wp-admin with a timeline of snapshots and a diff viewer. It talks to the scanner through your site’s own REST API, so the scanner token never reaches the browser.
- The scanner is a headless comparison service. Given a list of URLs it captures full page Chromium screenshots, and given two snapshots it runs the region based diff and returns the differences over an HTTP API. You can self-host it as a Docker container or use the hosted service at app.wpdiff.com.
The problem it solves
Section titled “The problem it solves”Classic screenshot comparison tools work pixel by pixel. That breaks the moment a layout shifts. If your header grows by one pixel, every element below it moves, the whole page is marked as changed, and the report becomes useless.
WP Diff segments each screenshot into regions of interest and searches for every region near its old position in the other snapshot. A region that merely moved still matches and is not flagged. Only regions whose pixels genuinely changed are reported. See How diffing works for the full pipeline.
Typical workflow
Section titled “Typical workflow”- Run a scan to create a baseline snapshot of the whole site.
- Run another scan later, on demand or on a schedule.
- The timeline in wp-admin defaults to comparing the two latest snapshots.
- Changed pages are listed first, each with the changed regions outlined on both screenshots.
- Select any two snapshots on the timeline to compare across a longer window, for example last month against today.
Current status
Section titled “Current status”WP Diff is under active development. The scanner API is a prototype and may change between releases. The plugin is not yet listed in the WordPress plugin directory.