Skip to main content
MainWP integrates with popular backup solutions through extensions and API-based backups. Use backup extensions for plugin-based solutions, or API Backups to trigger backups directly through your hosting provider or cloud manager.

What You’ll Accomplish

  • Configure backup extensions for plugin-based backups
  • Set up API Backups with your hosting provider
  • Create and restore backups from your Dashboard
  • Troubleshoot common backup issues

Prerequisites

  • MainWP Dashboard installed and activated
  • Child sites connected to your Dashboard
  • Backup extension installed, or API credentials from your hosting provider

Video Tutorial


Backup Extensions

MainWP integrates with popular backup plugins through dedicated extensions:
ExtensionPlugin
BackWPupBackWPup
BackupBuddyBackupBuddy
Time CapsuleTime Capsule
UpdraftPlusUpdraftPlus
WPVividWPVivid

API Backups

API Backups lets you create backups directly through your hosting provider, cloud manager, or VPS without installing backup plugins on your sites.

Supported Providers

ProviderNotes
cPanelNative and WP Toolkit backups
PleskWP Toolkit backups
KinstaFull API integration
CloudwaysAutomatic site assignment
GridPaneRequires Owner Account with Developer Plan or higher
VultrFull API integration
Akamai (Linode)Full API integration
DigitalOceanFull API integration

Connect API Backups

Each provider requires an API key from their platform. Obtain your API key and enter it in the MainWP settings. Animation showing API Backups settings with API key entry fields for cloud providers

Assign Provider to Child Sites

Cloudways and GridPane automatically detect sites. For all other providers, assign the VPS provider to each child site manually.
1

Open site settings

Go to the Child Site Overview > Edit page.
2

Configure backup provider

Locate the Backup API Provider Settings section, select your VPS provider from the dropdown, and enter the Instance ID.Child Site Edit page showing Backup API Provider Settings
3

Save settings

Click Save Settings.

Per-Site Configuration

For all providers except Cloudways and GridPane, you can enter hosting information per site. This allows you to use multiple accounts from the same provider across your child sites.

cPanel Backups

New cPanel installations have backups disabled by default. Contact your hosting support to enable backups, or follow these steps if you have WHM access.

Check Backup Status

The system displays a red notification on the File and Directory Restoration interfaces when backups are unavailable:
  • cPanel: Home > Files > File and Directory Restoration
  • WHM: Home > Backups > File and Directory Restoration

Enable Backups via Terminal

If the red notification appears, run these commands to enable backups:
StepCommandDocumentation
Force initial backupbackup --forcecPanel backup timing
Generate metadatabackups_create_metadataMetadata script
cPanel automatic backups run on a cron schedule. You may need to manually trigger the first backup via terminal if no automatic backups exist yet. See metadata management for details.

Multi-Site Environment Configuration

For cPanel accounts with multiple WordPress sites, install each site in its own folder. Site paths are case sensitive. Multi-site example:
URLSite Path
https://your-site.com/Child-1//public_html/Child-1/
https://child-2.your-site.com//public_html/child-2/
Single-site example:
URLSite Path
https://your-site.com/public_html/

Connect DigitalOcean

1

Create a DigitalOcean account

Sign up at DigitalOcean if you don’t have an account.
2

Generate a Personal Access Token

Visit Apps & API > Tokens in your DigitalOcean control panel.DigitalOcean Personal Access Tokens pageEnter a token name, set expiration to No expire, and select Full Access.DigitalOcean New Personal Access Token form
3

Enter the token in MainWP

Paste your Personal Access Token in the API Backups settings and click Save Settings.
4

Configure child sites

Go to each site’s Edit page and set the correct Provider and Instance ID. Find the Instance ID in the Droplet URL or through droplet metadata.

Connect Kinsta

Find Your Kinsta Credentials

CredentialLocation
Account EmailThe email address used to log into Kinsta (usually the main account)
API KeyCompany Settings > API Keys > Create API Key
Environment IDIn the browser address bar when viewing site Info
Company IDIn the browser address bar when viewing site Info
1

Create an API Key

Navigate to Company Settings > API Keys and click Create API Key.Kinsta API Keys navigationKinsta Create API Key dialog
2

Find Environment and Company IDs

Click on a site, go to Info, and locate both IDs in the browser address bar.Kinsta Environment ID in address barKinsta Company ID in URL

Configure Global Settings

1

Open API Backups settings

Navigate to Sites > Backups > API Backups > Manage API Settings > Kinsta.
2

Enable and save

Turn on Enable Kinsta API, enter your API Key, and click Save.MainWP Kinsta API settings

Configure Individual Sites

Navigate to each child site’s Edit page and scroll to the bottom. Select Kinsta from the provider dropdown and enter your Account Email, Company ID, and Environment ID. For sites using a different Kinsta account, enable Overwrite Global Settings and enter the alternate API Key.

Use Kinsta Backups

After configuration, the API Backups tab displays available backups for the selected account. Click Refresh Available Backups to update the list, or Backup Now to create a new backup. Kinsta API Backups tab

Create Backups

Individual Site Backup

1

Navigate to API Backups

Go to MainWP > Sites > API Backups.
2

Create backup

Locate the site and click Backup from the ellipsis menu.
Creating an API backup
Backup duration depends on site size and host speed.

Multiple Sites Backup

1

Navigate to API Backups

Go to MainWP > Sites > API Backups.
2

Select and backup

Check the boxes next to desired sites and click Backup Selected Sites.

Restore Backups

1

Navigate to API Backups

Go to MainWP > Sites > API Backups.
2

Manage backups

Locate the site and click Manage Backups from the ellipsis menu.
3

Restore

Find the desired backup and click Restore Backup from the ellipsis menu.
Restore duration depends on site size and host speed.

Backup Storage Location

MainWP API Backups triggers backups through provider APIs. Your hosting provider handles storage according to their configured settings.
MainWP API Backups does not use custom storage locations. Backups are stored wherever your host or cloud manager has configured.
ProviderDocumentation
GridPaneBackup configuration
CloudwaysDownload backups
VultrAutomatic backups
DigitalOceanBackups product
Akamai (Linode)Backup service
cPanelSystem backups
PleskWP Toolkit backups
cPanel DB Backups: Manual database backups are created via MySQLdump on the child site server and placed in /wp-content/uploads/mainwp/api_db_backups/.

Troubleshooting

Kinsta 404 Errors

If Kinsta API Backups fail to load or show a 404 error, the problem is usually an incorrect Environment ID or a temporary API issue. Example error from Custom Event Monitor:
API Backups :: [Status] 404 :: [Action] kinsta_action_refresh_available_backups
API Backups :: [Response] {"status":404,"message":"The requested environment was not found!"}
1

Verify Environment ID

The Environment ID appears in the URL of the container package, not elsewhere in the interface.
2

Check all credentials

Confirm your Account Email, Company ID, and API Key are entered correctly.
3

Save and refresh

Save settings and click Refresh Available Backups.
If the error persists with correct data, try again later as it may be a temporary Kinsta API issue.

Plesk ID Confusion

Plesk API Backups may fail if you use the wrong ID during setup. Each WordPress installation in Plesk WP Toolkit has three IDs:
ID TypeDescription
Site IDMain identifier for the WordPress installation
Domain IDAppears in Plesk URL (not correct for backups)
Owner IDAccount owner identifier
Solution: Use the Main Site ID instead of the Domain ID when configuring your Plesk connection in MainWP. Re-save settings and retry the backup.

Self-Check Checklist

  • API credentials are entered and saved
  • Child sites are assigned to the correct provider
  • Test backup completes successfully
  • Backups appear in the Manage Backups list
  • Test restore works (on a staging site if possible)