Get the Best WordPress Backup
& Migration Plugin Today
Get Duplicator Now

Duplicator Documentation

Documentation, Reference Materials, and Tutorials for Duplicator

How to resolve builds getting stuck at a certain % point?

Issue AWhy does the build percent get stuck at 5% or pending?

Try each option starting with Option 1 first and move through in order.

Option 1The Plugin is configured for the wrong admin-ajax protocol.
If the wp-admin URL is “https” vs “http”, then switching protocols may solve the problem (only switch if wp-admin is https).

  1. Go to Settings > Packages > Advanced Settings
  2. Change the AJAX setting to ‘https’ > save settings > retry build

Option 2The host is blocking localhost traffic to admin-ajax.php.
Some hosts prevent the server from calling back to itself (localhost). The Fail2Ban service may also be responsible.

  1. Go to Settings > Packages > Advanced Settings
  2. Enable “Client-Side kickoff” > save settings > retry build

Option 3Basic authentication is protecting the WordPress admin area.
When accessing the wp-admin area a popup login window shows, then basic authentication enabled.

  1. Go to Settings > Packages > Advanced Settings
  2. Set “Basic Auth” to the credentials you normally enter in the popup > Save settings > retry build

Option 4A security plugin is blocking admin-ajax.
It’s possible you have a security plugin running that’s blocking things.

  1. Disable any security plugins > Run a package build
  2. If build works, turn back on plugins and isolate the setting preventing the build

Option 5The host is blocking admin-ajax.php
Some hosts have rules that block calls to admin-ajax.php. If you suspect this to be the case submit a support ticket.

Pending State:A package in the pending state often indicates that a package created by a schedule can’t be processed due to an AJAX communication failure.
Do the following:

  1. Manually build a package (as opposed to using a schedule)
  2. If that package gets stuck at 5% that indicates something is blocking AJAX communication.See Why is the package build stuck at 5%?for details on how to resolve.

Issue BWhy does the build percent get stuck around 20%?

DB Script Engine
The 20% mark usually indicates there is a problem capturing the database. Go into Settings > Packages and change the Database setting from PHP > mySQL or vice-versa.

Optimize Tables
If you continue to get stuck around the 20% mark consider optimizing your database with a plugin like wp-sweep. Use this plugin to optimize your tables and get rid of unnessary data. Also look for tables that may have un-useful data when migrated. For example if you have a table that logs statistics/security logs in most cases that data will not need to be used after migration. Consider removing any extra data from your database.

Filter Table
If you have a very large table that your host will not allow for the plugin to process then you can filter it out on the archive database tab and then manuallymove the table over.

Issue CWhy does the build percent keep going back to 40%?

This can happen on lower-end budget hosts. The zip process is getting killed by the server, due to limited resources. Below are some steps to followto get around these constraints:

Filter Files: Try filtering out larger files/directories using the file/directory filter option and retry the build, both in ‘Shell Exec’ mode and ‘ZipArchive’ mode to get apackage to complete. This will help you to identify if the issue is purely related to site size. And let you know which archive engine works best on your server.

Switch to DupArchive

  1. Go to Settings > Packages > Basic Settings
  2. Change ‘Archive Engine’ to ‘DupArchive’

Switch to ZipArchive If you’re building with the “Shell Exec” Zip Engine switching to the older ZipArchive engine can occasionally resolve the issue.

  1. Go to Settings > Packages > Basic Settings
  2. Change ‘Archive Engine’ to ‘ZipArchive’

ZipArchive Settings: For ZipArchive use the Legacy setting. Set the “Max Worker Time” to the Recommended Max (see subtext). If your PHPmax_execution_time was setto 300 then this value would be 210 seconds. Next adjust the ZipArchive Buffer Size. For every 2 seconds of Max Worker Time you can get around 1MB of data.So if your Max Worker is set to 210 then you should be able to set the Buffer to around 105MB. These rules are a general guidelines, if you find out thatthe build is working with the 2 seconds to 1MB ratio then it should be safe to slowly increment the buffer size by 10MB increments.

Also see:
What can I do for issues with migrating a large site?
Recommended hosting providers for Duplicator?

Was this article helpful?

Related Articles