SSP Documentation
Overview
SSP Backup & Restore creates automatic scheduled backups of your WordPress site with support for local storage, Google Drive, Dropbox, and FTP/SFTP. Restore your entire site with one click when disaster strikes.
Requirements
- WordPress 6.2 or higher
- PHP 7.4 or higher
- ZipArchive PHP extension (most hosts have this)
Scheduling
Backups run automatically in the background using WordPress cron. Configure your preferred schedule and forget about it.
| Daily | Runs every day at your specified time. |
|---|---|
| Weekly | Runs once per week on your chosen day and time. |
| Monthly | Runs once per month on your chosen day (1-31) and time. |
| Timezone | All schedules respect your configured timezone. Defaults to your WordPress site timezone. |
Pre-Update Backups
Enable Backup before updates to automatically create a backup before WordPress core, plugin, or theme updates. If an update breaks something, you can roll back instantly.
Backup Scope
Choose what to include in your backups.
Selected Components
- Database — All tables with full SQL export
- Plugins — wp-content/plugins folder
- Themes — wp-content/themes folder
- Uploads — wp-content/uploads folder
- MU-Plugins — wp-content/mu-plugins folder
Entire Site
Backs up the entire WordPress root directory including wp-admin, wp-includes, and all files. Use this for full site migrations or complete disaster recovery.
Custom Exclusions
Skip folders you don’t need. Enter paths relative to wp-content, one per line:
uploads/large-videoscacheupdraft
Cloud Storage
Store backups locally or send them offsite for extra protection.
| Local Server | Stored in wp-content/uploads/ssp-backup-restore/ with .htaccess protection. No setup required. |
|---|---|
| Google Drive | Requires Client ID and Client Secret from Google Cloud Console. Best for backups under 100MB. |
| Dropbox | Requires App Key and App Secret from Dropbox Developer Console. 150MB file size limit. |
| FTP/SFTP | Send backups to any remote server. Supports SSL and passive mode. |
Google Drive Setup
- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the Google Drive API
- Go to APIs & Services → Credentials
- Create OAuth 2.0 Client ID (Web application)
- Add your callback URL:
https://yoursite.com/wp-admin/admin-post.php?action=sspbr_gdrive_callback - Copy Client ID and Client Secret into plugin settings
- Click Connect to Google Drive
Dropbox Setup
- Go to Dropbox App Console
- Create a new app with Scoped access and Full Dropbox access
- Copy App Key and App Secret into plugin settings
- Add your callback URL in Dropbox app settings
- Click Connect to Dropbox
FTP/SFTP Setup
- Enter your FTP host, port, username, and password
- Set the remote path where backups should be stored
- Enable SSL (FTPS) if your server supports it
- Enable Passive Mode if you have firewall issues
- Click Test Connection to verify
Retention Policies
Automatically manage backup storage so you never run out of space.
| Keep All | Never delete backups automatically. Manual cleanup only. |
|---|---|
| Smart Retention | Keeps one backup per day for 30 days, plus one backup per month for 12 months. Oldest backups are automatically deleted. |
| Max Count | Keep only the newest X backups (1-200). Older backups are deleted when the limit is exceeded. |
Restoring Backups
Restore your site from any backup with one click.
- Go to Backup & Restore in your admin menu
- Find the backup you want in the Existing Backups table
- Click Restore and confirm
- Wait for the restore to complete
What Gets Restored
- Database — All tables are dropped and recreated from the backup
- Plugins — Restored to wp-content/plugins
- Themes — Restored to wp-content/themes
- Uploads — Restored to wp-content/uploads
- MU-Plugins — Restored to wp-content/mu-plugins
Download Backups
Click Download to save a backup ZIP file to your computer. Use this for offsite storage or migrating to another server.
Email Notifications
Get notified when backups succeed or fail.
| Enable | Toggle email notifications on or off. |
|---|---|
| Email Address | Where to send notifications. Defaults to your admin email. |
| On Success | Send an email when a backup completes successfully. |
| On Failure | Send an email when a backup fails with error details. |
Troubleshooting
Backup fails with “ZipArchive not available”
Your server doesn’t have the ZipArchive PHP extension. Contact your host to enable it, or switch to a host that supports it.
Google Drive upload fails
- Check that your backup is under 100MB
- Verify your Client ID and Client Secret are correct
- Make sure the Google Drive API is enabled in your project
- Try disconnecting and reconnecting your account
Dropbox upload fails
- Dropbox has a 150MB file size limit
- Verify your App Key and App Secret are correct
- Check that your app has the correct permissions
FTP connection fails
- Verify host, port, username, and password
- Try enabling Passive Mode
- Check if your server requires SSL (FTPS)
- Ensure the remote path exists and is writable
Scheduled backups aren’t running
- WordPress cron requires site traffic to trigger. Low-traffic sites may need a real cron job.
- Add this to your server’s crontab:
*/5 * * * * wget -q -O - https://yoursite.com/wp-cron.php - Or use a service like UptimeRobot to ping your site every 5 minutes.
Backup is too large
- Switch from “Entire site” to “Selected components”
- Exclude large folders like uploads/videos or cache directories
- Use Local or FTP storage instead of cloud services
Restore fails or site is broken after restore
- Check PHP error logs for specific errors
- Ensure your database user has DROP and CREATE permissions
- Try restoring from a different backup
- If completely broken, restore files manually via FTP and import database.sql via phpMyAdmin
Email notifications not sending
- Use the Test button to verify email works
- Install a mailer plugin like WP Mail SMTP
- Check your spam folder
- Verify your server can send outbound email