StifLi Backup Tools

Description

StifLi Backup Tools is a professional WordPress backup plugin for creating full site backups, database backups, file backups, scheduled backups, staging sites, and migration packages directly from your WordPress dashboard.

The plugin is designed for everyday WordPress site owners, freelancers, agencies, and administrators who need a practical backup and restore workflow without depending on complex server tools. It uses background processing, resumable jobs, chunked ZIP creation, streaming database exports, and HTTP range downloads to help backups and restores complete even on shared hosting, slower servers, or environments where long requests may be interrupted.

Use StifLi Backup Tools to back up WordPress before updates, keep scheduled backup copies, migrate a site to a new domain, create a staging copy, restore selected components, or send backup archives to remote storage such as Google Drive, Dropbox, Amazon S3-compatible storage, FTP, or SFTP.

WordPress backup features

  • Full WordPress backups including database, plugins, themes, uploads, and selected site files.
  • Database-only backups for quick snapshots before plugin, theme, or content changes.
  • Files-only backup options for plugins, themes, and uploads.
  • Differential scheduled backups to save only changed files between full backups.
  • Backup integrity checks before restore.
  • Backup explorer for reviewing backup contents.
  • Component restore for database, plugins, themes, or uploads.
  • Selective restore for specific files or directories.
  • Backup upload and local backup rescan tools.
  • HTTP range downloads for large backup archives and interrupted downloads.

Scheduled backups

Create automatic WordPress backups on a schedule and control how many copies are kept locally and remotely.

  • Daily, weekly, fortnightly, monthly, and custom scheduled backup workflows.
  • Choose backup components: database, plugins, themes, uploads, or full site.
  • Choose local storage, remote storage, or remote-only backups.
  • Full or differential backup strategy.
  • Separate retention rules for local backups, remote backups, and differential backups.
  • Email notifications for backup results.
  • Optional webhook notifications for external monitoring or automation.

Remote backup storage

StifLi Backup Tools can send backup archives to remote destinations only after you explicitly configure and enable them.

Supported destinations include:

  • Google Drive
  • Dropbox
  • Amazon S3
  • S3-compatible storage such as Backblaze B2, Wasabi, MinIO, and DigitalOcean Spaces
  • FTP
  • SFTP

Remote storage is optional. The plugin does not contact external storage services unless you enable and configure the corresponding destination.

WordPress restore and recovery

Restore your WordPress site from a backup with a guided process and live progress updates.

  • Restore database and files.
  • Restore only selected components.
  • Restore uploaded backup ZIP files.
  • Restore local or remote backup archives.
  • Merge differential backups with their parent full backup when required.
  • Streaming restore progress designed to avoid browser and hosting timeouts.
  • Semaphore locking to help prevent overlapping backup and restore operations.

WordPress migration tools

Move a WordPress site to another server or domain using migration packages and URL remapping.

  • Create migration packages from the WordPress dashboard.
  • Import migration packages on the destination site.
  • Remap URLs when moving to a new domain.
  • Optional site-to-site Push/Pull migration using a shared secret between two WordPress sites you control.
  • Standalone installer for migration scenarios where WordPress is not yet installed on the destination server.

Staging sites

Create a staging copy of your WordPress site for safe testing before making changes on production.

  • Create staging sites in a subdirectory.
  • Copy files and database tables into the staging environment.
  • Search and replace URLs for the staging copy.
  • Track staging job progress.
  • Delete staging sites from the plugin interface.

Maintenance and optimization tools

StifLi Backup Tools also includes practical maintenance utilities for WordPress administrators.

  • Image optimization using the WordPress image editor when available.
  • Database cleanup for revisions, spam comments, trash comments, transients, and overhead.
  • Temporary file cleanup for backup, restore, staging, and upload leftovers.
  • Custom exclude rules for uploads and wp-content backup paths.
  • System information and log viewer for troubleshooting backup issues.

Built for shared hosting

Many WordPress sites run on shared hosting or constrained VPS environments. StifLi Backup Tools is built with those limitations in mind.

  • Background processing via WP-Cron.
  • Resumable backup and restore stages.
  • Chunked ZIP creation.
  • Streaming database export and import.
  • Memory-aware file operations.
  • Locking to avoid concurrent destructive operations.
  • Compatibility options for different archive engines and compression profiles.

External services

This plugin can connect to third-party services only when you explicitly enable and configure the corresponding feature. No telemetry, analytics, license check, or automatic external update call is made by the plugin.

The full list of services that may be contacted, the data that is sent, and when, is described below.

Google Drive (optional, opt-in)

If you connect a Google account to use Google Drive as a remote backup destination, the plugin contacts Google’s OAuth and Drive APIs.

  • Endpoints used:
    • https://oauth2.googleapis.com/token — to exchange and refresh OAuth tokens.
    • https://www.googleapis.com/drive/v3/* — to list, create, update, download, and delete backup files in your Drive.
    • https://www.googleapis.com/upload/drive/v3/files — to upload backup archives in resumable chunks.
  • What is sent: your OAuth client ID and secret provided by you, the refresh/access token, backup ZIP files you choose to upload, and metadata such as filename, size, and parent folder ID.
  • When: only when you start OAuth connection from the settings page, run a backup that has Google Drive selected as a destination, or browse, restore, or delete remote backups stored in your Drive.
  • Provider terms: Google Terms of Service and Google Privacy Policy.

Dropbox (optional, opt-in)

If you connect a Dropbox account to use it as a remote backup destination, the plugin contacts Dropbox APIs.

  • Endpoints used:
    • https://api.dropboxapi.com/oauth2/token — to exchange and refresh OAuth tokens.
    • https://api.dropboxapi.com/2/* — to query account info, list files, and delete files.
    • https://content.dropboxapi.com/2/* — to upload and download backup archives.
  • What is sent: your Dropbox app key and secret provided by you, the refresh/access token, backup ZIP files you choose to upload, and request metadata such as paths, filenames, and sizes.
  • When: only when you start OAuth connection from the settings page, run a backup that has Dropbox selected as a destination, or browse, restore, or delete remote backups stored in Dropbox.
  • Provider terms: Dropbox Terms of Service and Dropbox Privacy Policy.

Amazon S3 and S3-compatible services (optional, opt-in)

If you configure an S3-compatible remote destination, the plugin contacts the endpoint you specify in the destination settings.

  • Endpoints used: AWS S3 endpoints such as https://s3.<region>.amazonaws.com and https://<bucket>.s3.<region>.amazonaws.com, or the custom S3-compatible endpoint URL you enter.
  • What is sent: your access key ID, the SigV4-signed request, the backup ZIP file you choose to upload, and request metadata such as bucket, object key, and size. Your secret access key is used locally to sign requests and is not sent as plain text.
  • When: only when you test the connection, run a backup that has the S3 destination selected, or browse, restore, or delete remote backups stored in the bucket.
  • Provider terms: depend on the provider you configure. For AWS, see AWS Service Terms and AWS Privacy Notice. For S3-compatible providers, see the terms and privacy policy of the provider you choose.

FTP and SFTP servers (optional, opt-in)

If you configure an FTP or SFTP destination, the plugin connects to the server details you enter in the destination settings.

  • Endpoints used: the FTP or SFTP host, port, and path entered by you.
  • What is sent: the credentials or key details you configure, backup ZIP files you choose to upload, and request metadata required to list, upload, download, or delete files.
  • When: only when you test the connection, run a backup that has the FTP/SFTP destination selected, or browse, restore, or delete remote backups stored on that server.
  • Provider terms: depend on the FTP/SFTP server or hosting provider you choose.

Webhooks (optional, opt-in)

If you configure one or more webhook URLs in the scheduled backup settings, the plugin sends an HTTP POST to those URLs when a scheduled backup completes, depending on your notification settings.

  • Endpoints used: any webhook URL you enter in the settings.
  • What is sent: a small JSON payload containing the site URL, backup name, backup type, result status, and timestamp. No credentials, database content, or backup archive content is sent in the webhook payload.
  • When: only when a scheduled backup task with a webhook configured finishes.
  • Provider terms: depend on the third-party endpoint you enter. The plugin authors are not affiliated with any specific webhook provider.

Site-to-site migration Connect API (optional, opt-in)

If you enable the built-in Connect API and use the Push/Pull migration feature, this WordPress site exchanges data with another WordPress site that you control.

  • Endpoints used: /wp-json/stifbt/v1/connect, /wp-json/stifbt/v1/push, and /wp-json/stifbt/v1/pull on the remote site URL you enter manually.
  • What is sent: a shared secret generated by you and, for Push/Pull operations, the migration ZIP package containing the data you chose to migrate.
  • When: only when you test the connection or start a Push/Pull migration from the migration screen.
  • Provider terms: not applicable; the remote endpoint is another WordPress site under your control. No third-party service is involved.

Screenshots

  • Backup in progress. Alt text: Running a WordPress backup from the Backup screen.
  • Scheduled Backup. Alt text: Creating and managing automated backup schedules and retention rules.
  • Restore. Alt text: Restoring a backup with component selection and live progress.
  • Settings. Alt text: Configuring backup options, destinations, and plugin behavior.
  • Migration. Alt text: Creating and importing migration packages for site transfers.

Installation

  1. Upload the stifli-backup-tools folder to /wp-content/plugins/, or install the plugin from the WordPress plugin directory.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Go to StifLi Backup Tools in the WordPress admin menu.
  4. Create your first backup or configure a scheduled backup task.
  5. Optionally configure remote storage destinations from the plugin settings.

FAQ

Can I create a full WordPress backup?

Yes. You can create a full WordPress backup that includes the database, plugins, themes, uploads, and selected site files.

Can I create database-only backups?

Yes. Database-only backups are supported and are useful before updates, imports, content edits, or plugin changes.

Can I schedule automatic backups?

Yes. You can create scheduled backups and choose the frequency, components, destinations, retention rules, and notification settings.

Does the plugin support differential backups?

Yes. Scheduled tasks can use a differential backup strategy, with periodic full backups and differential backups in between.

Can I store backups remotely?

Yes. Optional remote destinations include Google Drive, Dropbox, Amazon S3, S3-compatible storage, FTP, and SFTP.

Does the plugin send data to external services automatically?

No. External services are only contacted when you explicitly enable and configure a feature that requires them, such as remote storage, webhooks, or site-to-site migration.

Can I restore only part of a backup?

Yes. You can restore selected components such as database, plugins, themes, or uploads, and the plugin includes selective restore tools for specific files or directories.

Can I migrate my WordPress site to a new domain?

Yes. The migration tools can create a migration package and remap URLs for a new domain. The plugin also includes optional Push/Pull migration between two WordPress sites you control.

Can I create a staging site?

Yes. StifLi Backup Tools includes staging functionality for creating a test copy of your site in a subdirectory.

Will this work on shared hosting?

The plugin is designed with shared hosting in mind. It uses background processing, resumable operations, chunked archives, and streaming database operations to reduce timeout and memory issues.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“StifLi Backup Tools” is open source software. The following people have contributed to this plugin.

Contributors

Translate “StifLi Backup Tools” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.2.2

  • Improved backup, restore, migration, staging, and remote storage workflows.
  • Added or improved scheduled backup controls, retention settings, and notification options.
  • Added differential backup support for scheduled tasks.
  • Added backup integrity and selective restore tooling.
  • Improved remote destination handling and remote backup management.
  • Improved compatibility for shared hosting and long-running operations.

2.0.0

  • Initial release as StifLi Backup Tools.
  • Async backup engine with WP-Cron resumption.
  • Chunked ZIP creation with periodic flushing.
  • Keyset pagination for large database exports.
  • Streaming database import.
  • Memory-efficient file operations.
  • HTTP Range support for downloads.
  • Semaphore-based locking.