WordPress recovery tooling

Restore .wpress archives through cPanel

WPress Restore for cPanel combines archive extraction, database provisioning, serialized-data-safe updates, and live job progress in an account-scoped Jupiter interface.

An All-in-One WP Migration .wpress archive contains the pieces of a WordPress site, but turning those pieces into a production-ready cPanel account still takes several careful steps. Files must land in the intended account, the database and user must be created, SQL imported, table prefixes normalized, and serialized URLs changed without corrupting data.

WPress Restore for cPanel packages that work into a plugin for cPanel's Jupiter interface, with a standalone command-line engine for SSH automation.

The restore pipeline

  • Extract the archive in a private, account-scoped location.
  • Place WordPress files at the validated destination.
  • Provision a database and user through authenticated cPanel UAPI.
  • Import SQL and safely normalize SRVMASK table prefixes to wp_.
  • Optionally migrate the site URL through WP-CLI and flush caches.

Background workers keep a restore running when the browser navigates away, while the interface reports live progress. Hosting packages can expose or hide the feature through cPanel Feature Manager.

Security boundaries matter

The interface derives the account from the authenticated cPanel request. Archive and destination paths must resolve inside that account's home directory, job state is private, and temporary database credentials are removed after launch or use. Existing databases are not silently reused or dropped.

Those checks are especially important for a hosting-server plugin: a convenient restore tool must not become a path for one account to reach another account's files or credentials.

Install and test

git clone https://github.com/itchyitchy123/wpress_extract_plugin_cpanel.git
cd wpress_extract_plugin_cpanel
sudo ./install

The documented requirements include cPanel & WHM with Jupiter, root access for installation, PHP 8.1 or newer, Python 3, Node.js, wpress-extract, WP-CLI, and a MySQL or MariaDB command-line client. Test on a non-production account first and back up any non-empty destination before choosing a merge operation.

Use the CLI for repeatable restores

export DB_PASS='a-long-random-password'
./wpress-restore backup.wpress \
  --destination /home/example/public_html \
  --cpanel-user example \
  --db-name example_wordpress \
  --db-user example_wpuser \
  --site-url https://example.com
unset DB_PASS

The repository includes its web UI, worker, standalone restore engine, lifecycle scripts, tests, package builder, and MIT license. Review the full WPress Restore source and documentation on GitHub before installing it on a hosting server.