Product
Solutions
Compare
Resources
Get early access Talk to us
Visual regression testing

Catch the breakage that returns HTTP 200

An update can leave every page returning a successful status code while the layout has collapsed, the hero image has vanished, or the checkout button has moved off screen. Status checks do not see that. Pixel comparison does.

Free during early access. No credit card required.

app.wpcentrify.com/visual
Visual comparisonPost-update
Pages compared
184
across 38 sites
Differences found
3
1 above threshold
Auto rolled back
1
meridian-partners
Passed
181
98.4%
MPmeridian-partners.com
Hero section height changed 42%. Rolled back
FailedHomepage42% diff
HVharvest-collective.store
Cookie banner position shifted 3%
ReviewProduct3% diff
NRnorthridge-dental.com
No visual change detected
Passed6 pages0.1% diff
BFbramble-fields.org
No visual change detected
Passed4 pages0.0% diff
The problem

Successful updates that break the site anyway

The most dangerous update outcome is not the one that takes the site down. A site that is down gets noticed within minutes, by monitoring or by the client. It gets fixed.

The dangerous outcome is the update that succeeds technically while breaking something visually. A CSS change in a plugin release shifts the layout. A JavaScript conflict stops a slider rendering. A form plugin update moves the submit button below the fold on mobile. Every page returns HTTP 200. Every health check passes. Nothing alerts.

This breakage persists until a human looks at the page, which on a client site nobody visits daily can be weeks. By then the client has usually found it themselves, and the conversation is about why you did not notice.

What pixel comparison catches

  • Layout collapse from a CSS conflict
  • Missing images or broken image paths
  • Sliders, carousels and galleries that stopped rendering
  • Fonts failing to load and falling back
  • Buttons and calls to action moving or disappearing
  • Mobile layouts breaking while desktop stays fine
  • Cookie banners and overlays covering content
How it works

Reference, compare, decide

Comparison runs automatically as part of every update, not as a separate step someone has to remember.

01

Reference captured

Before the update runs, screenshots are taken of the pages that matter on that site, at desktop and mobile widths. Which pages are captured is configurable per site, and defaults to the homepage plus your highest-traffic templates.

02

Update applied

The update runs after a restore point has been taken, so a rollback is always available regardless of what the comparison finds.

03

Compared pixel by pixel

New screenshots are captured and compared against the references. Difference is measured as a percentage of changed pixels, with regions that legitimately change on every load excluded.

04

Kept, flagged or rolled back

Below your threshold, the update is kept and the evidence is stored. Above it, the site is rolled back automatically and you are shown exactly what changed, side by side.

Capabilities

How comparison is configured

Per-site page selection

Choose which pages are compared on each site. A store compares product and checkout pages; a publication compares article templates.

Desktop and mobile

Both viewports captured and compared, because mobile-only breakage is common and invisible from a desktop check.

Configurable thresholds

Set how much visual change is acceptable per site. A marketing site with rotating content needs a higher tolerance than a static brochure site.

Dynamic region masking

Exclude areas that legitimately change on every load, such as carousels, timestamps and randomised testimonials, so they do not generate false positives.

Automatic rollback

Exceeding the threshold triggers the same rollback path as a failed health check, with no human in the loop required.

Evidence for clients

Before and after images stored against the change record, which turns a rolled-back update into a line in the monthly report.

In practice

Getting thresholds right

The failure mode of visual regression testing is not missing breakage. It is generating so many false positives that people start ignoring the alerts, at which point the system is worse than useless because it has consumed attention and produced nothing.

Most false positives come from content that legitimately changes: a rotating testimonial, a recent-posts widget, a carousel on a different slide, an advertisement, a relative timestamp. Masking those regions once per site removes the overwhelming majority of noise permanently.

The second source is threshold settings that are too tight. A one percent difference threshold sounds rigorous and produces constant alerts. Starting around five percent and tightening for specific high-value pages is more workable, because the breakage that actually matters is rarely subtle. A collapsed layout is a forty percent difference, not a two percent one.

Why status-code monitoring misses this

  • A broken layout still returns HTTP 200
  • A missing image still returns a rendered page
  • A non-functional slider returns valid HTML
  • A button moved off screen is still in the DOM
  • Mobile breakage is invisible to a desktop check
Answers

Questions about visual regression

It is configurable. The default is the homepage plus a representative page from each major template, which for most sites is four to eight pages. Stores usually add product and checkout pages. Comparing every page on a large site is possible but rarely worth the time it adds to each update.

It will if you do not mask dynamic regions. Carousels, recent-posts widgets, rotating testimonials and timestamps all change legitimately on every load. Masking those once per site removes most noise, and the default thresholds are set to tolerate small legitimate variation.

It adds time, typically under a minute per site because captures run in parallel. Since updates run on a schedule rather than while you wait, the added duration is not usually noticeable in practice.

Yes. You can set comparison to flag rather than roll back automatically, which suits sites where content changes frequently and you would rather make the call yourself. Automatic rollback is the default because the alternative depends on someone being available.

Yes. The connector authenticates directly, so comparison works on sites behind HTTP authentication, maintenance mode or a staging environment.

Early access

See what changed, not just whether it responded

Pixel comparison on every update, at desktop and mobile widths, with automatic rollback when a page breaks.

Free during early access. No credit card required.