WordPress / Alovio Protect

Restore points & rollback

How Alovio Protect keeps a copy before anything changes, rolls back a single bad plugin or theme update without touching the rest of the site, and what it cannot undo.

Everything else in Alovio Protect is built on the assumption that a change can be put back. A restore point is a copy of the affected files, saved before anything is changed, under wp-content/alovio-protect/snapshots/. You will find them on the Restore points tab.

When a copy is taken

A restore point is created before a change that is worth being able to undo:

  • Before a plugin or theme update — so a bad update can be rolled back. This is on by default and can be switched off on the Settings tab.
  • Before the crash guard takes ownership of another plugin’s fatal-error handler.
  • When a file is quarantined by the malware scanner, so releasing it again is one click.

A restore point even records a file that did not exist at the time, so restoring removes whatever has appeared at that path since.

Rolling back one plugin, not the whole site

An update that installs cleanly and then breaks the site is the common case, and it is the one WordPress does not cover — its own temporary backup only survives a failed install and is deleted the moment one succeeds. So Alovio Protect archives a copy before the files are replaced, and putting it back is one action.

Only that extension’s folder is restored — which is the point. Rolling the whole site back to last night would lose every order, comment and booking taken since.

Two things make the rollback hold:

  • The rolled-back version is pinned. Without this, an automatic update would quietly reinstall the version that broke the site, usually overnight, and the rollback would look like it failed. Only automatic updates are held — the manual update button still works, and the screen offers to release the pin.
  • The database is not rolled back, and the screen says so before you confirm, rather than implying an update can always be undone. If the update changed the database schema, the older code may meet tables it does not recognise. Your content, orders and settings are not touched either way.

Restoring

Restoring is one action from the Restore points tab, or with WP-CLI:

wp alovio snapshots              # list restore points
wp alovio restore <id>           # put a restore point's files back

A restore is itself a change to the site, so it takes a restore point first — restoring the wrong point must not be the end of the story. These show up labelled as taken before another restore.

What is kept

  • The newest 20 restore points are kept.
  • A file up to 16 MB, and a restore point up to 64 MB in total, is copied. Anything larger is recorded but not copied, and a restore tells you so rather than silently doing nothing.
  • Copies are stored flat under numbered .bak names rather than as a mirrored tree — so a stored copy of a PHP file is never a second PHP file the web server could execute. The folder also carries its own deny rules.

See also