Optimize your import speed.
If you have a slow import, or if you're running into a lot of server timeouts, then you can follow these steps to optimize your import.
Follow all of the steps listed here: http://www.wpallimport.com/documentation/troubleshooting/slow-imports/.
It's possible that you can't change these settings, but if you're able to it will help with speed:
When using Manual Record Matching (see documentation) the fastest and most versatile option is "Post ID". If you don't have the Post ID in your file, you can use a custom PHP function to find the ID: see documentation.
As an example, if you're updating WooCommerce products and you're using these settings: https://d.pr/i/XzCxWm, you can switch to Post ID and use this function to greatly increase the speed of the import:
[wc_get_product_id_by_sku({sku[1]})]
See: https://d.pr/i/tDncIB.
In an attempt to stop other plugins from running a bunch of actions during post save/updates, try enabling Increase speed by disabling do_action calls in wp_insert_post during import (All Import -> Manage Imports -> Import Settings -> Configure Advanced Settings): https://d.pr/c8LRQ. Make sure to check your imported posts and confirm that they're correct with this setting enabled.
In some cases, this change can significantly improve the import speed.
Before you clean up your database, it's extremely important to make a back up that you can roll back to. After you've made a back up, you can use one of the following plugins to clear transients and orphaned data:
If you're using a plugin like EWWW Image Optimizer, or Smush Pro, you should disable them before you start your import. These types of plugins can cause the imports to run extremely slowly.
If other plugins (or your theme) are running a lot of do_action calls during the import, it could cause things to crawl. Check this by running a full conflict test: http://www.wpallimport.com/documentation/troubleshooting/plugin-theme-conflicts/.
Here's a detailed guide on troubleshooting a slow WordPress install in general: https://carlalexander.ca/troubleshoot-wordpress-performance/.
If the import is causing your server to max out its resources (CPU/Memory), the import will run extremely slowly. Sometimes the only way to fix this is to upgrade your server, but it's possible that changing some settings in WP All Import could help.
These are the things that increase CPU/Memory usage:
To remedy some of these issues, you can:
Once you've done everything listed above, you can try increasing the records per iteration via the Import Settings to speed things up: https://d.pr/i/Vakkd3. The higher you can set this, the faster the import will run.
If you set the records per iteration higher and the server terminates the import, you can work with your web host to find the error in the logs on your server to see what's causing the termination and fix it: https://gist.github.com/mbissett/d98d1acdf4b2ba11bc67d6f652d4497c.
If they can't find anything in the logs, try using the error-revealer plugin to log the error yourself: https://github.com/mbissett/error-revealer. Make sure to follow the directions closely and revert the changes to your wp-config.php file when you're done.
Some common problem areas are:
The web host and server you choose will have a direct impact on the speed of your imports. If you're trying to import a lot of data on a bad server, it's going to be slow no matter what you do. If you follow all of the steps above and nothing increases the speed, try switching to a good web host like one of the following:
WARNING: Follow these instructions closely or you will end up with many duplicate posts.
On the very first run of your import, if you're sure that there are no duplicate posts in your import file, you can use this method to import your posts very quickly:
add_filter( 'wp_all_import_is_check_duplicates', 'wpai_is_check_duplicates', 10, 2 );
function wpai_is_check_duplicates( $is_check_duplicates, $import_id ) {
return false;
}