Skip to content

Configuration

VariableDefaultPurpose
WPDIFF_TOKENdev-tokenBearer token for all authenticated endpoints. Always set your own value.
WPDIFF_DATA./data (/data in Docker)Root directory for snapshots and diff output
  • Screenshots are full page, Chromium, 1440px viewport width by default. The width can be set per scan request.
  • CSS animations and transitions are frozen before capture, and the page is scrolled once to trigger lazy loaded images.
  • Requested motion libraries are paused and reset to their first slide, and HTML5 videos are paused, before the screenshot is taken.
  • Elements matching the requested ignore selectors are hidden with their layout space preserved.
  • Pages that fail to load are recorded in the run manifest with their error and skipped in diffs.
  • Invalid TLS certificates are accepted during capture, so staging hosts with self-signed certificates can be scanned.
ThresholdDefaultWhere setMeaning
Structural0.95per /api/diff requestMinimum normalised correlation for a region to count as structurally matched
Colour delta14scanner constantMean per channel difference above which a structurally matched region is still flagged

See How diffing works for what these control.

<data root>/<host>/
runs/<run-id>/
manifest.json # url list, capture timestamps, failures
pages/<slug>.png # full page screenshots
diffs/<from>_vs_<to>/
summary.json # per page results with changed boxes
summary-debug.json # written by debug diffs
<slug>-baseline.png # annotated screenshots for changed pages
<slug>-current.png
<slug>-dbg-*.png # pipeline stages, debug diffs only
<slug>-dbg.json

Everything is plain files. There is no database, and deleting a directory is a safe way to remove a run or a cached diff.

SettingPurpose
Backend URLScanner base URL
API tokenMust match WPDIFF_TOKEN
Max pages per scanCaps the URL inventory the plugin sends, 0 for no cap
Ignore selectorsHidden during capture, one CSS selector per line
Email addressAlert recipient when a scan finds changes, sent with wp_mail
ntfy topic URLAlert channel on ntfy.sh or a self-hosted ntfy server
Developer modeRequests debug diffs and shows the pipeline panel