When you hit export – the progress bar stays at 0% and it never moves. If you have issue – this is the troubleshooting guide. Start with each step and move on to the next step if the issue 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 latest version of Prime Mover. If not – please update to the latest version.
Step 1 – Check if you have correct and active login sessions
First – clear your browser cache and login 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 persist – proceed to the next step.
Step 2 – Check if your site has CORS issue
This can cause AJAX issues because of browser “same origin policy” (Cross Origin Resource Sharing – CORS). For example – say you accessed the sites network at https://www.yoursite.tld/wp-admin/network/sites.php. However – your AJAX URL is using non-www version: https://yoursite.tld/wp-admin/network/sites.php . This violates same origin policy which can block AJAX requests.
The temporary solution is to logged-out, clear your browser cache and then logged-in to your non-www version because this is the version used by your AJAX URL. This should resolved CORS issue. It is because you are now logged-in to your non-www version:https://yoursite.tld/wp-admin/network/sites.php and your AJAX URL is using non-www version too: https://yoursite.tld/wp-admin/admin-ajax.php
The permanent solution in this case is to make sure only one canonical version is used by your site. This is not only useful in CORS but also to the SEO aspect of your site. This will ensure that your site is only accessible in one version. You can do this fix in the server by for example redirecting www to non-www version, etc.
Note that SSL mixed content issues can also cause CORS / same origin policy issue. For example if your site is accessible in both https and http version. This can prevent AJAX from working correctly. Please make sure to only use https version. You can permanently redirect http to https in this case.
If the issue persist – 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 processes such as the one used by Prime Mover. This is usually caused if the plugin JS occupies global state and not isolated – so it conflicts with other plugins.
To check if you are affected with this issue – clear your browser console and make sure you are logged-in to your site. Open browser console and start the export process.
Check if you have JS console errors that is being logged and initiated. Usually these errors will tell 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 plugins 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 – PHP fatal 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 generated – please check the log if its a PHP fatal error.
Usually this PHP fatal error can be caused by following:
- Your site is using a plugin / theme that is incompatible with your PHP version. (e.g. a plugin that is not compatible yet with PHP 8.0).
- Your site is using very outdated version of PHP (e.g. 5.6) but you are using a plugin that is not compatible to it.
- You have custom code / custom plugin or script that is not compatible with your new server / OS / environment. This could interrupt other processes such as the one with Prime Mover.
- You are using outdated version of WordPress that conflicts with your third party plugins.
Usually you can resolved these errors easily by yourself by either deactivating the conflicting plugin so you can 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 to 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 it 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 see if we could find clues to the issue. Any information obtained will be used to reproduce the issue. We will contact you further if we need more information on the issue.