Build Stuck at 5% or Pending
The build process can get stuck at 5% or show as pending due to various issues, mostly related to AJAX communication failures.
Follow these steps sequentially to resolve the issue:
Option 1 – Check Admin-AJAX Protocol
Mismatch in Protocols: If your wp-admin URL uses HTTPS instead of HTTP, changing the AJAX protocol might solve the issue.
Steps:
- Go to Settings » Packages » Advanced Settings.
- Change the AJAX setting to HTTPS.
- Save settings and retry the build.
Option 2 – Host Blocking Localhost Traffic
Localhost Blocking: Some hosting environments prevent the server from calling back to itself, often due to services like Fail2Ban.
Steps:
- Go to Settings » Packages » Advanced Settings.
- Enable Client-Side kickoff.
- Save settings and retry the build.
Option 3 – Basic Authentication Issue
Basic Authentication: Basic authentication is likely enabled if accessing wp-admin requires entering credentials in a popup login window.
Steps:
- Go to Settings » Packages » Advanced Settings.
- Set Basic Auth to your credentials under Password-Protected Access.
- Save settings and retry the build.
Option 4 – Security Plugin Blocking Admin-AJAX
Security Plugins: Security plugins might block AJAX requests needed for the build process.
Steps:
- Disable any security plugins.
- Run a package build.
- If the build works, re-enable plugins individually to isolate the problematic setting.
Option 5 – Host Blocking Admin-AJAX
Host-Level Block: Some hosting providers have rules in place that block calls to admin-ajax.php. In this case, please reach out to your hosting provider.
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.
Steps:
- Manually build a package (instead of using a schedule).
- If that package gets stuck at 5%, see Options 1-5 for details on how to resolve it.
Build Stuck around 20%
Sticking at the 20% mark generally points to problems associated with capturing the database.
Switch Database Script Engine
Switch Database Setting:
Change the database setting from PHP Code to MySQLDump or vice versa.
Steps:
Go to Settings » Packages » Basic Settings and change the Database setting.
Optimize Tables
Consider optimizing your database with a plugin like wp-sweep or similar to remove unnecessary data.
Steps:
- Optimize your tables using the wp-sweep plugin.
- Look for and remove tables that won’t be useful after migration (e.g., logs).
Filter Table
Large Tables:
If you have a table too large for the plugin to process, filter it out and then manually transfer it.
Steps:
Use the archive database tab to filter out large tables.
Build Stuck around 40%
Low-resource hosts might kill the zip process due to constraints, causing the build process to restart at 40%.
Filtering Files
Filter out larger files/directories to identify if the issue is site size-related.
Steps:
Use the file/directory filter option in both Shell mode and ZipArchive mode.
Switch to DupArchive
Switching to the DupArchive engine might help. Go to Settings » Packages » Basic Settings.
Switch to ZipArchive
Switching from the Shell Zip Engine to the older ZipArchive engine could resolve the issue.
Make sure to follow these steps in a sequential manner, and you should be able to resolve the issues with builds getting stuck at a particular percentage point.