Skip to main content

Fix Backup Failures and Improve Backup Performance

Troubleshoot failed backups and improve backup performance by checking PHP limits, server resources, disk space, network issues, and security configurations.

Written by Surya

Most backups complete without any action required from you. However, larger websites can take longer to back up and may occasionally fail because of PHP limits, server resources, network issues, or security rules.

This guide explains the recommended PHP settings, why some backups take longer than expected, and what to check when a backup fails.

Recommended PHP Settings

For the most reliable backup performance, we recommend giving the Siteligent Connector enough PHP execution time and memory to process backup chunks. The Connector processes backups in chunks, so values below the minimum can cause a chunk to be stopped before it finishes.

Setting

Minimum

Recommended

Notes

max_execution_time

60s

300s

Backup chunks self-limit their execution time but need additional headroom.

memory_limit

128M

256M

Provides enough memory for backup processing.

upload_max_filesize

64M

256M

Affects restore archive import size.

post_max_size

64M

256M

Should be at least as large as upload_max_filesize.

max_input_vars

1000

3000

Mainly useful for WordPress admin requests and not directly related to backups.

If you manage your own server, we recommend using the Recommended values where possible.

How to Increase Your PHP Limits

There are several ways to change PHP settings, depending on your hosting environment.

Option 1: php.ini

If you have access to your server's php.ini or php.ini.local file, add or update the following:

max_execution_time = 300
memory_limit = 256M
upload_max_filesize = 256M
post_max_size = 256M

On shared hosting, this file may be available in your home directory or WordPress site's root directory.

If your hosting provider doesn't allow you to change these values, contact them and ask whether they can increase the limits for your site.

Option 2: .htaccess

If your server uses Apache or LiteSpeed and allows PHP configuration through .htaccess, you can add:

php_value max_execution_time 300
php_value memory_limit 256M
php_value upload_max_filesize 256M
php_value post_max_size 256M

This method does not work on every hosting configuration.

If your server runs PHP through FastCGI or PHP-FPM, these .htaccess directives may be ignored. In that case, use a custom php.ini configuration or ask your hosting provider to update the PHP configuration.

Option 3: wp-config.php

WordPress allows you to request a higher memory limit using wp-config.php.

You can add:

/** Increase WordPress memory limit */
define( 'WP_MEMORY_LIMIT', '256M' );

/** For admin-side processes */
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Keep in mind that these settings only request a higher WordPress memory limit. The server-level memory_limit configured by PHP is still the upper limit that WordPress cannot exceed.

These constants also do not change max_execution_time.

Why Does My Backup Take So Long?

Backup time depends on several factors. A large website doesn't necessarily have to be large in total file size to take a long time, having a very large number of files can also significantly increase processing time.

Number of Files

  • The number of files on your website can have a major impact on backup time.

  • Websites with large Plugins or Media directories may contain tens of thousands of small files. Each file needs to be processed individually.

  • For example, a website with 100,000 media files can take considerably longer to back up than one with 10,000 files, even if both websites use a similar amount of storage.

PHP Execution Limits

  • Backup processing runs in chunks and saves progress as it works.

  • If the server's PHP execution limit is too low, the server may terminate a chunk before it has enough time to complete. This can result in the backup having to resume from its last saved position, adding additional processing time.

  • For the best results, we recommend a max_execution_time of 300 seconds.

Server and Loopback Performance

  • Siteligent's background backup process uses requests between the WordPress site and its own REST API to continue processing backup chunks.

  • On some LiteSpeed, Nginx, or shared hosting environments, these requests may be delayed by server connection limits or request queues.

  • This can make a backup take considerably longer than the actual file-processing time would suggest.

Upload Speed

  • Backup data needs to be transferred to cloud storage.

  • If your server has limited outbound bandwidth or is already handling a large amount of network traffic, uploading backup data can slow down the overall process.

Database Size

  • Large databases can also increase backup time.

  • Websites with large tables or hundreds of database tables may take longer because database data needs to be processed before the backup can be completed.

  • This can be particularly noticeable on websites with large amounts of WooCommerce or other transactional data.

Compression

  • Backup archives are compressed while they are being processed.

  • Compression can require significant CPU resources, particularly on shared hosting environments where CPU resources may be limited.

  • A website containing large amounts of text-based data may compress well but still require more CPU time during the backup process.

Common Backup Failures

If a backup fails, start by checking the error message shown in the backup history. Most failures fall into one of the following categories.

Execution Timeout

  • What happens: The server terminates a backup chunk before it has finished processing.

  • Common cause: The site's max_execution_time is too low, or the hosting environment does not allow the Connector to extend the execution time.

What to do:

  1. Check the site's max_execution_time.

  2. Set it to at least 60 seconds.

  3. For the best results, use the recommended 300 seconds.

  4. Run the backup again.

If you cannot change the setting yourself, ask your hosting provider to increase it.

Out of Memory

  • What happens:The backup process runs out of available PHP memory.

  • Common cause: The site's memory_limit is too low for the amount of data being processed.

What to do:

  1. Check the site's PHP memory_limit.

  2. Make sure it is at least 128M.

  3. We recommend 256M.

  4. If necessary, increase the WordPress memory limits in wp-config.php.

  5. Try the backup again.

If your host controls the PHP memory limit, you'll need to ask them to increase it.

Loopback Request Blocked

  • What happens: The first backup chunk may start successfully, but subsequent chunks don't continue.

  • Common cause: A firewall, security plugin, ModSecurity rule, or hosting configuration is blocking requests back to the WordPress site's REST API.

What to check:

  • WordPress REST API access

  • Firewall rules

  • Security plugin logs

  • ModSecurity rules

  • Hosting-level request restrictions

If you're using a security plugin, check its logs for blocked requests around the time the backup stopped.

Disk Space Full

  • Even though backup processing is designed to minimize the amount of backup data stored locally, some operations may still require temporary disk space.

  • If your hosting account is almost full, backup processing may fail when temporary data needs to be written.

  • Check your available server storage and remove unnecessary files if appropriate.

Plugin or Security Conflict

Security plugins such as Wordfence, iThemes Security, or Sucuri can sometimes interfere with the Connector's REST API requests or background processing.

If a backup consistently fails immediately after starting:

  1. Check your security plugin's activity or block logs.

  2. Look for requests from the Siteligent Connector being blocked.

  3. Review your firewall or ModSecurity rules.

  4. If necessary, temporarily disable the relevant security protection and run a test backup.

  5. If the test succeeds, configure the security tool to allow the required Siteligent requests.

A Few Things to Keep in Mind

  • Backups Run in the Background: Once a backup has started, you can safely leave the backup page. The backup continues processing in the background.
    ​

  • Backup Processing Uses Chunks: Large backups are processed in smaller chunks rather than trying to complete the entire backup in a single request. Each chunk saves its progress, which allows the backup to continue from the last checkpoint if a chunk needs to be retried.
    ​

  • Backup Performance Depends on Your Hosting: The same website can take different amounts of time to back up depending on the hosting environment. Server CPU, available memory, PHP configuration, disk performance, network speed, and the number of files on the site can all affect backup time.

Still Having Problems?

If you've checked the PHP settings, server resources, storage connection, and security configuration but backups continue to fail, contact Siteligent Support.

When contacting support, include:

  • The affected website

  • The backup type

  • The approximate time of the failed backup

  • The error message shown in Siteligent

  • Your hosting provider

  • Your current PHP version and relevant PHP limits

This gives the support team enough information to start investigating the problem.

Did this answer your question?