Problems with Import Files

Problems with Import Files

This could be happening for a number of reasons, but the troubleshooting process always started the same:

Contact your host and have them check your server』s error log. They will be able to see exactly why your server is rejecting your import file and they will know exactly how to fix it. There isn』t anything we can do to help until your host has checked the error log and we know exactly what the issue is.

Common Server Configuration Issues

Import files are usually rejected because the file you』re trying to upload exceeds your server』s hard limits on file size. Here are the most common hard limits that users encounter:

Maximum Upload File Size (PHP): This is set in php.ini with upload_max_filesize. It determines the maximum file size that your server will allow to be uploaded. This value must be larger than the size of the file you wish to upload to WP All Import.

Maximum Post Size (PHP): This is set in php.ini with post_max_size. It determines the maximum file size allowed to be used in PHP process. This should be set higher than upload_max_filesize.

Memory Limit (PHP): This is set in php.ini with memory_limit. It determines how much memory a script is able to allocate. This should be set higher than post_max_size.

"There's a problem with your import file."

This error is usually encountered when the import file is not valid. There are a number of common reasons that this may be the case:

No Import File: Open the URL in your web browser. It should either download or display a valid import file. If anything else happens then WP All Import will not be able to import the data.

Changed Import File: If the structure of the import file changes then WP All Import will no longer be able to find the data that it is supposed to import. You can either create a new import with the new file, or you can adjust the XPath setting in Import Settings ▸ Advanced Options, and then reconfigure your import in Manage Imports ▸ Edit Import.

Character Encoding: Sometimes the file in encoded in such a way that it may look valid but it』s really not. Other times, a file will declare that it is encoded in one way but really it』s encoded in a different way. Read more on our guide to character encoding.

Incorrect feed type detected: If you're downloading a feed via URL, and there's no file extension, it's possible that WP All Import will guess the incorrect file type. To fix it, you can add "#/" at the end of the URL, then put a fake file name with the real extension, e.g.: https://example.com/?action=getfeed&results=100#/feed.json

Does Not Pass Validation: There are pretty strict rules that XML, CSV, and JSON files must conform to in order for them to work. You can validate your data and URL using one of the following free online services:

XML: http://codebeautify.org/xmlvalidator

CSV: http://csvlint.io

JSON: http://jsonlint.com

Send WordPress Export File to Google Drive using Zapier

Send WordPress Export File to Google Drive using Zapier

Zapier can be used to send an export file to a Google Drive account. Connect Zapier to WP All Export and create the required trigger and action. The trigger would execute whenever a new export is found. The action would be sending the export file towards the Google Drive designated.

Trigger: New Export File in WP All Export Pro

Learn more about connecting to Zapier and setting up the trigger here: https://www.wpallimport.com/documentation/external-app-integration/.

Action: Upload File in Google Drive

Choose app & event

Zapier will ask to set up an action after the trigger is configured.

Select Google Drive as the app and Upload File as the action event, then click on Continue. This event will upload the export file into the selected Google Drive account.

Choose Account

Select the Google Drive account to use. If there's no account added, select + Connect a new account from the dropdown list and follow the steps.

Once an account has been chosen, click Continue.

Set up action

This section allows configuring in which Google Drive and folder the export file will be saved.

The following can be configured:

Drive: The drive to use. The personal Google Drive is used by default.Folder: Folder where to place the file. If left blank, defaults to the top-level folder.File: The file to be uploaded. Select Export File from the drop-down list to add the actual export file.Convert To Document?: If enabled, tells Google to convert the file into an editable document.File Name: Define the new file name. By default, uses the original filename.File Extension: Only used if a different filename is specified.

Click Continue to move onto the following step.

Test action

Once the Google Drive integration has been configured, Zapier will try to test it. Select Skip Test to avoid this step.

Test the newly created Zap by clicking on Test & Continue.

Once the test is done, enable this Zap by clicking on Turn on Zap.

Scheduling Imports Using Cron Jobs

Scheduling Imports Using Cron Jobs

Each time the cron is run, WP All Import will download your XML or CSV file from the specified URL and update, delete, and create posts on your site according to your settings.

To set up a recurring import using cron jobs, specify the URL to your XML or CSV file on the Import Settings page.

Then, visit the Scheduling Options link on the Manage Imports page to open the Scheduling Options Popup.

You will need to choose the 「Manual Scheduling」 option here:

Manual Scheduling

Each import has two cron URLs – a trigger URL, and a processing URL.

The trigger URL will look something like this:http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger

The processing URL will look something like this:http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=processing

You can find your secret key on the All Import -> Settings screen, and the import ID on the Manage Imports screen.

If you want to run your import every 24 hours, you should run the trigger URL every 24 hours. If you want to run your import once per week, you should run the trigger URL every week.

The processing URL should be run every two minutes because it may not finish your import in one run. The reason is that many hosts have maximum script execution times in place, so its only possible for the processing script to finish only a small percentage of your import before it is timed out.

If this is the case and the processing script is run again after two minutes, it checks to see if your import is finished, or if there』s still work to be done. If there』s work to be done, it will import posts for as long as it can, or two minutes, whichever is longer.

Then, on the next run of the processing script, it will see if more work needs to be done on the import – and if so, it will do it. If not, it will 「untrigger」 the import. And now the processing script will have no effect until the import is triggered again by the next run of the trigger script.

Setting Up Cron Jobs

The instructions for setting up cron jobs vary across hosts. Commonly, you can do it in your web hosting control panel.

To create a cron job that hits the cron URLs, commonly the wget command is used. Examples are on the Manage Imports -> Cron Scheduling screen of WP All Import.

Below are a few cron command examples (not all options work with all hosts, ask your host for help as needed):

wget --spider "http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger&rand="$RANDOM

wget -q -O - "http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger&rand="$RANDOM

curl "http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger&rand="$RANDOM

lynx "http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger&rand="$RANDOM

To ask your web hosting provider to set up the cron for you, use this e-mail template:

Hi Support,

Please set up two cron jobs.

CRON JOB 1Fetch this URL every 24 hours: http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=trigger

CRON JOB 2Fetch this URL every 2 minutes: http://YOUR-WEBSITE.com/wp-load.php?import_key=[YOUR_SECRET_KEY]&import_id=[YOUR_IMPORT_ID]&action=processing

Thanks,Your Name

If your web host doesn』t have a cron feature, you can use an external service like EasyCron.

Call Cron URLs from the Command Line

You can call the WP All Import and WP All Export cron URLs from the command line. This may be necessary if your site's configuration won't allow inbound calls to the regular cron URLs.

It'd look something like this:

/path/to/your/php-cgi /path/to/yourwordpressinstall/wp-load.php import_key=ABC123 import_id=5 action=trigger
/path/to/your/php-cgi /path/to/yourwordpressinstall/wp-load.php import_key=ABC123 import_id=5 action=processing

Note: The php-cgi binary must be used or the parameters won't be passed correctly.

Recommended Hosts

Recommended Hosts

While many hosts work well with WP All Import, if you are looking for a specific recommendation Liquid Web and Nexcess work exceptionally well with WP All Import and we've partnered with them to offer a discount for new users. To take advantage of this discount, use the coupon code WPALLIMPORT35 for 35% off your first 3mo when signing up.

Managed Hosting Plans

Nexcess offers two products that we recommend, one tuned for general purpose WordPress sites, and another specifically tuned for WooCommerce sites. Both plans start at $19/mo and work great with WP All Import.

Nexcess Managed WordPress Hosting

Nexcess Managed WooCommerce Hosting

VPS, Cloud, and Dedicated Servers

If you need more horsepower, flexibility, or control over your hosting environment, then you probably want to go with one of Liquid Web's hosting options. They have a variety of options to choose from, with VPS hosting starting at $39/mo, cloud hosting at $51/mo, and dedicated servers at $140/mo.

Liquid Web VPS Hosting

Liquid Web Cloud Hosting

Liquid Web Dedicated Servers

Which one is best for me?

If you aren't sure, the managed hosting options from Nexcess will probably serve your needs very well. If you have a large site or need more flexibility than a managed hosting plan can offer, then you should get in touch with Liquid Web to discuss their VPS, cloud, and dedicated hosting options.

Managed Hosting vs VPS Hosting

Managed Hosting: The hosting company has many sites from different customers all running on the same server inside the same operating system, competing for the same resources. Think of it like sharing a house with roommates. Everyone shares the same kitchen, living room, and bathroom. If the same person spends four hours a day showering or fills the refrigerator with their groceries, you』re going to have a problem. Like landlords, some shared hosts are better about mitigating these issues, but you are still sharing a bathroom with many other people.

VPS & Cloud Hosting: Sites from different customers are still running on the same server, but on separate operating systems, in virtual computers. Another piece of software called a hypervisor makes sure that each operating system always has the same amount of resources available to it. Think of it like living in an apartment complex. You still have a lot of neighbors technically living in the same building, but no matter how many people are taking a shower at the same time, yours is always available.

Dedicated Hosting: You are renting out an entire server and are not sharing it with anyone. This is overkill for the vast majority of sites, but if you need complete control over your hosting environment, then renting a dedicated server is a good option.

Imports & Server Resources

Imports require a lot of server resources, especially if you are importing a lot of data or have a large database. Hosting review sites cover speed, reliability, and customer service but rarely let you know which hosts will throttle your processing power or limit your SQL queries.

Some hosts will pack many customers into small, underpowered, servers. Sites that consume a lot of resources will eat up all of the available processing power, leaving none for you and your import. Alternatively, some hosts will proactively kill your import process to protect other people』s sites.

We』ve tested a lot of hosts and out of all of them, Liquid Web and Nexcess are the two we』ve had the best experiences with. Both are fast, reliable, have well-reviewed 24/7 customer support, and work great with WP All Import.

Taxonomy Meta & Images

Taxonomy Meta & Images

Most often you will want to import categories and tags and other taxonomies as part of an import that is creating posts. There are times, however, when you will want to import just the taxonomies on their own. This is especially helpful when you have meta like images, custom fields, and content that need to be imported into the taxonomies themselves. This is only possible by creating an import for taxonomies.

Just like posts, you can import new taxonomies, or you can add meta and content to existing taxonomies.

To get started, select 『Taxonomies』 in Step 1:

Taxonomies in drop down

Then select the taxonomy to import into from the 2nd drop down box that appears on the page:

Select Taxonomy

Then in Step 3 of the import process you can drag and drop your import data just like any other import. Supported fields include the name, description, images term meta (custom fields), and the parent term.

The parent term settings are in the 「Other Category Options」 section:

Other Category Options

And you can also choose whether to manually set the slug for the category, or let a slug be automatically generated.

Note: When importing non-hierarchical taxonomies (e.g. Tags), only the option to set the slug will appear in this section.

Manual Record Matching

Manual Record Matching

WP All Import can import data to posts that already exist on your site, even if they were manually created instead of imported by WP All Import.

You need something in your import file that WP All Import can use to 「match」 the 「records」 in your import file to the posts that already exist on your site – that』s why it』s called Manual Record Matching.

When importing into existing records, you can specify which data WP All Import will update or overwrite, and which will be left alone.

Follow along with the below example to get a complete understanding of how to import data into existing posts on your site.

Example – Updating Multiple Property Listings With New Prices

I have a few property listings with outdated prices.

Example Properties

I have a CSV file with the MLS numbers of the properties, and the new prices.

CSV File

I』ve entered the MLS number of each property in my theme, so we can use the MLS number as the 「matcher」 so that WP All Import knows which price should be assigned to which property.

MLS Number

To do the import, upload your CSV in Step 1, and choose Existing Items.

Step 1 Existing Items

Continue to Step 2 and then to Step 3. In Step 3, set the price Custom Field to the price from your file.

Setting the price

The only field we want to import data to is the price. So just leave all the other fields blank. WP All Import will warn you that your post title and content are blank, but that』s fine – you can continue anyway. We don』t want to update the title or content here, just the price.

Now it』s time for the most important part – telling WP All Import how to match the records in our CSV file with the existing property listings already on our site. We』re going to match by the MLS number – since we have the MLS number in both places – on our site, and in our file.

Choose 「Match by Custom Field」 and click in the Name box to see a dropdown list of Custom Fields available to match by. Then choose 「mls_value」 – the Custom Field name the theme uses internally for the MLS field.

Record Matching

Then drag & drop the MLS column in your CSV file to the Value textbox.

MLS Value

Now, for each record in your file, WP All Import will look for a property on your site with an mls_value Custom Field that equals {mlsno[1]} from your file, and then import the price to it.

To ensure WP All Import only imports the price, and doesn』t overwrite the title, content, and other fields we left empty with blank values, we specify which data points we wanted updated, and which we want ignored.

Choose which data to update

Here』s the result after running the import – our 3 posts were updated with the new prices.

Import Summary

Data Updated

Nested, Hierarchical Taxonomies

Nested, Hierarchical Taxonomies

WP All Import provides two options to import hierarchical or nested taxonomies, also known as 「parent」 and 「child」 taxonomies.

Example A

If you have a file where the taxonomy structure is specified in a single column or element, use 「An element in my file contains the entire hierarchy」.

Example – you have a column in your file with the value 「Ski Resorts > Colorado > Aspen > Aspen Highlands」

Ski Resorts is the parent, Colorado is a child of Ski Resorts, Aspen is a child of Colorado, and Aspen Highlands is a child of Aspen.

Nested Category Example

Click the Preview button to see what your taxonomy structure will look like after it is imported.

Nested Preview

Example B

If you have a file with many different columns or elements containing your taxonomies, choose the 「Manually design the hierarchy with drag & drop」 option.

Drag the four-pointed arrows to the left or right to make a category a parent or child, or drag up and down to re-order.

Drag and Drop Example

Run WordPress Export on a Schedule

Run WordPress Export on a Schedule

The Automatic Scheduling service allows you to set up exports with just a couple of clicks. Rather than setting up cron jobs on your server, you can set schedules directly within WP All Export. The Automatic Scheduling service will then contact your site at the scheduled time to run your exports, and check in to make sure they've completed correctly.

Automatic Scheduling vs Manual Scheduling

WP All Export offers two ways to schedule or automate exports. The first option is to manually create the cron jobs in the server. The second option is to use our paid Automatic Scheduling Service, which is integrated within WP All Export and doesn't require any setup.

This guide focuses on Automatic Scheduling.

Configure a Scheduled WordPress Export

To set up the Automatic Scheduling Service on an existing export, navigate to the Manage Exports page. Then, click on Scheduling Options › Automatic Scheduling:

The same Scheduling Options menu appears when creating a new export.

There you decide whether you'd like your export to run weekly or monthly. Then you select the days and times that you would like your export to run.

Sign Up for Automatic Scheduling

This service costs $9 USD per month, and allows for unlimited exports to run on an unlimited amount of sites. Subscribe to the Automatic Scheduling service.

Overview

Overview

WP All Export turns your WordPress data into a custom CSV file. Then, WP All Import saves that data to your new site. First, select what you want to export. You can export posts, pages, WooCommerce products, orders, and custom post types from any theme or plugin.

Next, you download the 'Bundle' that's provided on the export complete screen. Upload that bundle on Step 1 of a new import to automatically configure it. After the import runs your data will be saved on the destination site.

Troubleshooting Guide

Troubleshooting Guide

Is WP All Import not working as expected?

This process will solve pretty much any problem you』re having:

Make sure you are using the latest versions of WordPress, WP All Import and any add-ons and other plugins you have installed. You can get the latest versions of WP All Import and its add-ons in the customer portal.Eliminate other themes and plugins as the potential cause of a conflict. Deactivate all other active WordPress plugins and activate the WordPress default theme.Test out your import on our debugging server. If the import works on our debugging server, but not on yours, you know it』s a problem on your end – most likely with your server settings.Ask your host to check your server』s error log to see if something is stopping WP All Import from working properly. Often, artificial limits on script execution time or MySQL queries prevent WP All Import from finishing imports. Read our guide on terminated imports.

Common Issues

Drag and drop not working? Admin screens look strange? 

First, try clearing your browser cache or using a different web browser. If the problem persists, the issue is usually a theme or plugin conflict. Improperly coded WordPress themes and plugins may load their own JavaScript or CSS files on WP All Import's admin screens, potentially breaking them. See our guide on testing for theme and plugin conflicts: Plugin & Theme Conflicts.

Can』t get from Step 1 to Step 2, Step 2 to Step 3, etc?

Broken PHP session settings will prevent you from being able to move between the different steps of the import process. If you suspect this is the cause, you』ll need to contact your host.

Running in to a Security Check error?

Clear your browser cache or try using a different browser.

Trying to increase import speed?

Read our guide on slow imports.

Import isn』t finishing?

Read our guide on terminated imports.

Concerned your server isn』t properly configured?

If your imports complete successfully, your server is properly configured. If you』re not able to successfully complete an import, it may be that your server is missing necessary components.

We』ve put a lot of effort into getting WP All Import to function on as many different server configurations as possible, and generally speaking, if WordPress works, WP All Import will work.

WP All Import server requirements:

PHP 5.4 or greaterMySQL 5.5 or greatercURLlibxmlSimpleXMLxmlreaderxmlwriterZipArchive

These are all commonly found on servers provided by the vast majority of hosts.

For a list of web hosts that are confirmed to work great with WP All Import, see our recommended hosts page.

File uploads acting weird? Strange caching issues?

Issues with caching can be hard to diagnose. Often they will show themselves if you upload a new import file but WP All Import shows you an older, unrelated import file. There are other symptoms as well, but this is the most common one.

If you』re having a problem with WP All Import and use some form of server side caching, try your import on one of our testing servers. If you aren』t able to reproduce the problem on a testing server, the issue might be related to your caching configuration. We especially see these types of issues with users hosted by WP Engine and Pantheon, or when Varnish tries to cache admin pages.

If you are able to successfully run your import with caching disabled, work with your host to figure out how to configure their caching so that when WP All Import asks for a file or makes a SQL query, the correct result is returned instead of an incorrect, cached result.

Other strange behavior?

Broken WP All Import database tables can stop the import from working correctly.

Try restoring the database tables form a backup, or deleting the WP All Import database tables and reinstalling WP All Import (you will lose all of the data associated with your previous imports).Deactivate and reactivate WP All Import.Test on a fresh WordPress installation with a newly created MySQL database.