Symptoms
When you hit export, the progress bar stays at 0% and never moves. If you have this type of issue – this is the troubleshooting guide. Start with each step and move on to the next step if the problem persists.
Before you proceed with the troubleshooting steps, please make sure the following is TRUE:
- Your site front end / back end works and displays correctly. If not – please fix it first.
- You are using the latest version of Prime Mover. If not, please update it to the newest version.
Step 1 – Check if you have correct and active login sessions
First – clear your browser cache and log in again to your site / multisite. This ensures that you have a clean and active login session. Incorrect or expired login sessions will cause AJAX errors, which can cause export to hang at 0%. Once logged in, hit the export button again. If the issue persists – proceed to the next step.
Step 2 – Check if your site has a CORS issue
This can cause AJAX issues because of the browser’s “same origin policy” (Cross-Origin Resource Sharing). For example, say you accessed the site’s network at https://www.yoursite.tld/wp-admin/network/sites.php. However, your AJAX URL is using the on-www version: https://yoursite.tld/wp-admin/network/sites.php. This violates the same origin policy, which can block AJAX requests.
The temporary solution is to log in, clear your browser cache, and then log in to your non-www version because this is the version used by your AJAX URL. This should resolve the CORS issue. It is because you are now logged into your non-www version:https://yoursite.tld/wp-admin/network/sites.,PHP and your AJAX URL is using the non-www version too: https://yoursite.tld/wp-admin/admin-ajax.php.
In this case, the permanent solution is to ensure that your site uses only one canonical version. This is useful not only in CORS but also for your site’s SEO. It will ensure that your site is only accessible in one version. You can fix the server by redirecting www to an on-www version.
SSL mixed content issues can also cause CORS / same-origin policy issues. For example, if your site is accessible in both HTTP and HTTP versions, AJAX cannot work correctly. Please make sure to use only the HTTP version. In this case, you can permanently redirect HTTP to HTTPS.
If the issue persists – move to step 3.
Step 3 – Check if you have a JS conflict with other plugins
In this case, you have a third-party plugin that conflicts with other plugins’ AJAX process, such as the one used by Prime Mover. This is usually caused if the plugin JS occupies a global state and is not isolated – so it conflicts with other plugins.
To check if you are affected by this issue, clear your browser console and make sure you are logged in to your site. Then, open the browser console and start the export process.
Check if you have JS console errors that are being logged and initiated. Usually, these errors will tell you the name of the conflicting plugin, so you can try deactivating it to see if the issue is resolved. If you are not sure of the conflicting plugin, try deactivating each plugin one at a time until you find the problem. Once you find the conflicting plugin, deactivate it permanently until you have completed the export.
Step 4 – Check if starting the export causes PHP fatal errors.
In some instances, fatal PHP errors can prevent the export from starting. You will know this by enabling WordPress debugging in your wp-config.php:
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Before starting the export – make sure your debug.log is cleared or not does not exist yet on /wp-content/debug.log/
Then hit export or start export. If it’s stuck at 0%, please check if the debug.log is generated. If it is, please check the log to see if it’s a PHP fatal error.
Usually, this PHP fatal error can be caused by the following:
- Your site uses a plugin/theme incompatible with your PHP version. (e.g., a plugin not yet compatible with PHP 8.0).
- Your site is using a very outdated version of PHP (e.g., 5.6), but you are using a plugin that is not compatible with it.
- You have customer code, plugin, or script that is incompatible with your new server /OS/environment. This could interrupt other processes, such as the one with Prime Mover.
- You are using an outdated version of WordPress that conflicts with your third-party plugins.
Usually, you can resolve these errors easily by deactivating the conflicting plugin to proceed with the export.
Step 5 – If nothing works – report the issue
Finally – if you reach this step and nothing works. Please generate debug logs when you start the export, and please send us these logs:
- Export site info log. (generated in Prime Mover -> Advanced -> Advanced Settings Panel -> Upload/Download Parameters -> Export site info)
- Debug.log (in your /wp-content/debug.log if it is generated)
- Migration log ( generated in Prime Mover -> Advanced -> Advanced Settings Panel -> Debugging Tools -> Download log
You can zip all these logs and send us the link to download them by reporting the issue on this contact form. Please include all relevant details and do not share these logs publicly. It is because it contains sensitive information.
We will analyze your logs to find clues to the issue. Any information obtained will be used to reproduce the problem. If we need more information, we will contact you.
Date updated: March 11, 2025