Webhook Notifications

In Settings → Notifications, you can enable HTTP webhooks for backup lifecycle events. Choose a format: Generic JSON, Slack incoming webhook, or Discord webhook. Use Webhook on success and Webhook on failure to control which outcomes send a POST. Test delivery from the same screen when your host allows outbound HTTPS.

Typical Generic JSON payload fields include:

{
  "job_id": "backupridge-2026-001",
  "status": "completed",
  "size": 104857600,
  "duration": 143
}

Slack and Discord formats are encoded for those APIs (e.g. Slack text field, Discord content). The plugin fires backupridge_send_webhook when a webhook should be sent; advanced multi-endpoint management is planned for Pro.

Security Overview

Credential encryption: Storage provider credentials and similar secrets are encrypted at rest using AES-256 before being saved to the WordPress database. Keys are derived using WordPress security primitives; plain secrets are not stored in options.

Directory protection: The backup directory includes .htaccess and index.php guards on Apache-compatible hosts. For Nginx, deny direct access to the backup path (see FAQ on backupridge.com).

Archive encryption (Pro): Optional AES-256-CBC encryption of backup archives before upload, separate from credential encryption.

Admin requests: AJAX and REST handlers use check_ajax_referer where appropriate, verify nonces, and require manage_options (or equivalent) capability.

Database export: Sensitive options can be excluded from SQL exports per plugin rules; review exclusions if you extend exports.

Uninstall Behavior

When Delete all data on uninstall is enabled in Settings, uninstall removes BackupRidge backups under the configured directory, log files, plugin options (backupridge_*), custom tables if used, scheduled cron hooks, and related transients. If disabled, only the plugin files are removed and data may remain on disk.

System Requirements

RequirementMinimumRecommended
WordPress6.7+6.8+
PHP8.0+8.2+

WP-CLI Commands

  • wp backupridge backup — Start a backup job.
  • wp backupridge list — List backups and statuses.
  • wp backupridge run — Run a backup directly, optionally for a schedule.
  • wp backupridge schedules list — List advanced schedules (Pro).
  • wp backupridge schedules run-due — Run due schedules (Pro).
  • wp backupridge restore <job-id> — Restore a backup (Pro).
  • wp backupridge license status — Show license activation status (Pro).
  • wp backupridge license activate <key> — Activate a license key (Pro).

Hooks & Filters

Subset of public hooks — see plugin source for full signatures.

NameTypePurpose
backupridge_backup_startedactionFires when a backup job starts.
backupridge_backup_status_changedactionStatus transitions during a job.
backupridge_backup_finalizedactionBackup completed or terminal state.
backupridge_before_upload_archivesactionBefore remote upload begins.
backupridge_send_webhookactionOutbound webhook dispatch.
backupridge_retention_enforcedactionAfter retention deletes archives.
backupridge_retention_erroractionRetention cleanup failed.
backupridge_storage_connection_checkactionDuring storage connection tests.
backupridge_security_warningactionHost/security warnings (e.g. missing OpenSSL).
backupridge_file_scan_warningactionFile scan warnings.
backupridge_store_urlfilterOverride store / marketing URLs.
backupridge_docs_urlfilterDocumentation URL.
backupridge_support_urlfilterSupport URL.
backupridge_changelog_urlfilterChangelog URL.
backupridge_exclusion_patternsfilterAdd file/path exclusion regexes.
backupridge_file_backup_filesfilterAdjust file list for file backup phase.
backupridge_phase_weightsfilterProgress weights per backup phase.
backupridge_filename_templatefilterFilename template string.
backupridge_filename_contextfilterContext for filename resolution.
backupridge_optional_tablesfilterOptional DB tables for export.
backupridge_db_export_queryfilterSQL export query tuning.
backupridge_sslverifyfilterHTTP SSL verify for remote calls.
backupridge_webhook_allowed_formatsfilterRegistered webhook payload formats.
backupridge_max_remote_destinationsfilterCap remote storage destinations.
backupridge_cron_trigger_urlfilterREST cron trigger URL.

Example:

add_filter('backupridge_exclusion_patterns', function($patterns) {
  $patterns[] = '/wp-content\/cache\//i';
  return $patterns;
});
add_action('backupridge_backup_finalized', function($job) {});
add_filter('backupridge_file_backup_files', function($files) { return $files; });