Super Speedy Imports

WooCommerce Imports Quick Start Guide

Published · Last updated

Import WooCommerce products through a visual workflow in WordPress: upload your source, review the automatic mapping, preview a draft product and run the import in your browser. You don’t need code for ordinary field mapping. Super Speedy Imports includes variable products, galleries and the advanced transformations covered below.

Table of Contents

  1. Before You Start
  2. Understanding Product Data Sections
  3. Step-by-Step Import Process
  4. Setting Up Taxonomies
  5. Working with Images
  6. Using PHP Functions

Before You Start

Choose CSV, XML, JSON or a saved WP All Import job

CSV, XML, JSON and JSON Lines files all go through New Import. For XML or JSON, confirm the record path it detected, which is the repeating element that holds one product, and the file stays the source. See Importing XML and JSON feeds.

For a saved WP All Import job, use Migration Tools to convert supported mappings and settings before reviewing them. Unsupported expressions and other differences need attention before a run.

Prepare Your CSV File

Your CSV should have column headers in the first row. A file saved by Excel as “CSV UTF-8” works as it is. New Import reads the prices in the file and suggests the matching Decimal Point, so a price list written 12,99 is offered Comma (,). A price written in the other format is refused and reported against its row and column, and that product’s regular, sale and active prices are left as they were. Common columns include:

ColumnExample Value
Product Name“Blue Cotton T-Shirt”
Description“Comfortable cotton t-shirt…”
Short Description“Soft cotton tee”
SKU“TSHIRT-BLU-001”
Price“29.99”
Sale Price“24.99”
Stock“150”
Category“Clothing > T-Shirts”
Tags“summer, cotton, casual”
Image URL“https://example.com/tshirt.jpg”

Decide how to store product attributes

You don’t have to create global attributes before importing. In the import’s Attributes section, click + Add Attribute, enter a name such as Color, map its source column and select Is Taxonomy. Super Speedy Imports creates a missing global WooCommerce attribute and its terms during the import.

Create an attribute first under Products > Attributes only when you want to configure its WooCommerce slug, ordering or archives yourself. Leave Is Taxonomy clear only when you want a custom attribute stored on that product; custom non-taxonomy attributes require the paid edition.

Product categories and tags are built into WooCommerce. A brand field is available when WooCommerce or another active plugin has registered a product-brand taxonomy.


Understanding Product Data Sections

The Product Data panel is organized into sections. Only the Main section is essential—all other sections are optional, and many fields are auto-calculated.

Main Section (Required Fields)

These are the core fields every product needs:

FieldDescriptionRequired?
Product TitleThe product name displayed in your storeYes
Full DescriptionDetailed product description (supports HTML)Recommended
Short DescriptionBrief summary shown near the priceRecommended
SKUUnique product identifier for inventory trackingRecommended
Regular PriceStandard retail priceYes
Sale PriceDiscounted price (leave empty if not on sale)No

Stock Management Section (Optional)

Map these fields only if your CSV contains stock information:

FieldDescriptionAuto-calculated?
Stock QtyNumber of items in stockNo
Manage StockEnable stock trackingYes (set to “yes” when Stock Qty is provided)
Stock Statusinstock/outofstock/onbackorderYes (calculated from Stock Qty)
BackordersAllow orders when out of stockNo (defaults to “no”)
Low Stock ThresholdAlert level for low stockNo (uses WooCommerce default)

Tip: If you only map Stock Qty, the other stock fields are automatically calculated. You don’t need to map Manage Stock or Stock Status unless you want to override the defaults.

Variable Products Section (Optional)

For product variations (like different sizes or colors of the same product):

FieldDescription
Parent reference (on variation rows)The value on each variation row that names its parent product (typically the parent’s SKU, held in a parent_sku column)

When importing variations, Parent reference (on variation rows) links each variation to its parent product. It must match the parent row’s unique item identifier, typically its SKU. Import the parent first, or make sure a variable parent with that identifier is present in the catalogue.

Downloadable Products Section (Optional)

For digital products like ebooks, software, or music:

FieldDescriptionAuto-calculated?
Download URLDirect link to the downloadable fileNo
Download NameDisplay name shown to customersNo
DownloadableMark product as downloadableYes (set to “yes” when Download URL is provided)

Tip: You only need to map Download URL and Download Name. The Downloadable flag is automatically set when a download URL is provided.

Other Sections

The remaining sections (Publication Date, Publication Info, Other Post Fields) contain WordPress post fields that are auto-populated with sensible defaults:

  • Post Status defaults to “publish”
  • Post Author defaults to the current user
  • Post Date defaults to the current time. A mapped date must be written so the day and month cannot be confused, such as 2026-01-15; see Dates in the mapping screen tour
  • Product Slug is auto-generated from the title

You only need to map these if your CSV contains specific values you want to use.


Step-by-Step Import Process

Step 1: Upload and review the suggestions

  1. Open Super Speedy > Super Speedy Imports in wp-admin.
  2. In New Import, upload your file, fetch it with Import from URL, or pick a file you uploaded before.
  3. Check the suggested product import type, separators and matching settings, then create the import.
  4. Review the mappings suggested from column names and sample data.
  5. Use the Import Fields panel to inspect sample rows. Accept a suggestion, dismiss it or drag a source field onto the correct destination.

The mapping screen walkthrough explains the field picker, source chips and advanced options. Choose a stable identifier such as SKU before the first run.

Step 2: Map the Main Section

The Product Data section appears first. Focus on the Main subsection:

  1. Product Title — Select the CSV column containing product names
  2. Full Description — Select the description column
  3. Short Description — Select the short description column (if you have one)
  4. SKU — Select the SKU column
  5. Regular Price — Select the price column
  6. Sale Price — Select the sale price column (optional)

Click Show Secondary if you need to see additional fields like the hidden _price field.

Step 3: Map Stock Fields (Optional)

If your CSV has stock quantities:

  1. Expand the Stock Management subsection
  2. Map Stock Qty to your stock column
  3. Leave other stock fields unmapped (they’re auto-calculated)

Step 4: Map Variable Product Fields (Optional)

If importing product variations:

  1. Expand the Variable Products subsection
  2. Set Import contains: to Parent & Child rows, then map Parent reference (on variation rows) to the column containing the parent product’s unique item identifier (typically its SKU)

Step 5: Map Downloadable Fields (Optional)

If importing digital products:

  1. Expand the Downloadable Products subsection
  2. Map Download URL to your file URL column
  3. Map Download Name to your file name column

Step 6: Set Up Taxonomies

Use the Taxonomies section for categories, tags and brands. Use the separate Attributes section for global or custom product attributes. See the Setting Up Taxonomies section below for details.

Step 7: Set Up Images

In the Media section:

  1. Map Featured Image to your main product image URL column
  2. Map Gallery Images to the field containing your image list (commas or pipes separate multiple URLs). If one field contains all images, map it to both Featured Image and Gallery Images.

Step 8: Preview, run and check the products

  1. Save your configuration and use Preview first item to create a separate draft of the first complete product.
  2. Inspect its title, price, stock, images and attributes through the review links, then discard the preview.
  3. Use Preview & Run to review the settings and start the import in WordPress.
  4. Keep the browser tab open as instructed by the screen. Watch progress and elapsed time.
  5. Check the completion result, reported issues and resulting products.
Note

Preview creates draft content and related data. It doesn’t validate every row or show the exact changes an update will make to a live product.

Reuse the saved import for later files with the same structure. Super Speedy Imports includes scheduling; WP-CLI is optional for server-managed runs.

If you need to remove records associated with this import, read the confirmation before using its removal control. It can affect updated records too and doesn’t restore old prices or other overwritten values. See Trashed items and deletes.


Setting Up Taxonomies

Product Categories

Categories use a hierarchical structure. For nested categories, use the > separator:

CSV Example:

Category
Clothing > T-Shirts
Clothing > T-Shirts > V-Neck
Electronics > Phones

In the Taxonomies section, map Product categories to your category column.

Assigning every category level: The Additional Option, “Assign every category level (not just the deepest)”, controls whether a product is assigned to every term in its hierarchy or only the deepest (leaf) term. With it on, a product in Clothing > T-Shirts also appears under the parent category page (/product-category/clothing/), and breadcrumbs/layered-navigation include the parents. Check the saved setting before running the import.

Product Tags

Tags are non-hierarchical. Use commas to separate multiple tags:

CSV Example:

Tags
summer, cotton, casual, bestseller
winter, wool, premium

Map Product tags to your tags column.

Brands

If you have a brands taxonomy (from a plugin like “Perfect Brands for WooCommerce”):

CSV Example:

Brand
Nike
Adidas
Puma

Map Brands to your brand column.

Product Attributes (Color, Material, Size, etc.)

Super Speedy Imports can create missing global WooCommerce attributes during the import. You can still create them first under Products > Attributes when you want to control their WooCommerce settings before importing terms.

CSV Format for Attributes

CSV Example:

Color,Material,Size
Blue,Cotton,Large
Red,Polyester,Medium
Green | Blue,Cotton | Silk,Small | Medium | Large

Use the pipe | separator for products with multiple attribute values.

Mapping Attributes

Use the Attributes section rather than the Taxonomies section:

  1. Click + Add Attribute.
  2. Enter the attribute name, such as Color.
  3. Map the corresponding CSV column.
  4. Select Is Taxonomy to store it as a global WooCommerce attribute. A missing attribute is created during the run.

Setting variable attributes: If an attribute defines variations, select Used for variations on that attribute row.


Working with Images

Featured Image

The main product image. Provide a full URL:

https://example.com/images/product-photo.jpg

Gallery Images

Additional product photos. Separate multiple URLs with commas or pipes:

https://example.com/img1.jpg|https://example.com/img2.jpg|https://example.com/img3.jpg

If the featured image URL also appears in the gallery column, it stays in the gallery. WooCommerce stores the featured image and gallery independently and allows them to overlap.

Image Handling Options

There is no on/off “upload images” switch. Whenever you map a Featured Image or Gallery Images field, remote image URLs are downloaded into your media library automatically by the upload-remote-images stage.

The image-related setting you can configure in the Additional Options section is:

  • Thorough image search — when matching media-library images, search by both post title and filename (the filename in the URL guid). This is more accurate but slower on large media libraries. Turn it on when your media library may contain the supplied images and you want SSI to reuse them rather than download copies.

Use External Images is not an Additional Option. It is a field mapping: map your image-URL column to the External Images field (in the Media section) to store the URLs for the third-party External Images plugin, which serves them from their remote location instead of downloading them. This requires the External Images plugin to be installed.


Using PHP Functions

Super Speedy Imports supports PHP functions for advanced transformations. Ordinary field mapping, fixed values and text templates use the visual controls without PHP.

When to Use Functions

  • Transform values (e.g., convert “Yes”/”No” to “instock”/”outofstock”)
  • Combine multiple columns into one field
  • Apply conditional logic
  • Format prices or dates
  • Clean up data inconsistencies

Function Format

Switch a field from “CSV Field” to “PHP Function” using the dropdown, then enter a callable function:

return function($data, $h) {
    // $data = array of values from the current CSV row
    // $h = array mapping column names to indices
    // Return the transformed value
};

Example: Calculate Sale Price

If your CSV has a discount percentage instead of a sale price:

return function($data, $h) {
    $price = floatval($data[$h['Price']]);
    $discount = floatval($data[$h['Discount Percent']]);

    if ($discount > 0) {
        return $price * (1 - $discount / 100);
    }
    return '';  // No sale price if no discount
};

Example: Format Product Title

Combine brand and product name into the title:

return function($data, $h) {
    $brand = trim($data[$h['Brand']]);
    $name = trim($data[$h['Product Name']]);

    if (!empty($brand)) {
        return $brand . ' - ' . $name;
    }
    return $name;
};

Example: Set Stock Status from Boolean

Convert a “1” or “0” value to WooCommerce stock status:

return function($data, $h) {
    $available = $data[$h['Available']];
    return $available == '1' ? 'instock' : 'outofstock';
};

Example: Clean HTML from Description

Strip unwanted HTML tags while keeping basic formatting:

return function($data, $h) {
    $description = $data[$h['Raw Description']];
    return strip_tags($description, '<p><br><strong><em><ul><li>');
};

Example: Generate SKU from Multiple Fields

Create a SKU from category code and product ID:

return function($data, $h) {
    $category = strtoupper(substr($data[$h['Category Code']], 0, 3));
    $id = str_pad($data[$h['Product ID']], 5, '0', STR_PAD_LEFT);
    return $category . '-' . $id;
};

Tips for Writing Functions

  1. Always return a value — Even if empty, return '' rather than nothing
  2. Handle missing data — Check if columns exist before accessing them
  3. Use correct types — Cast to floatval() for prices, intval() for quantities
  4. Test with a few rows first — Run a small test import before processing thousands of products

Troubleshooting

Products Not Importing

  • Check that required fields (Title, Price) are mapped
  • Verify your CSV encoding is UTF-8
  • Look for errors in the import log

Categories Not Creating

  • Ensure the category hierarchy separator is correct (> by default)
  • Check for extra spaces around category names

Attributes Not Appearing

  • Check that the source column is mapped in the Attributes section.
  • For a global WooCommerce attribute, select Is Taxonomy and check the attribute name. The import creates it when it is missing.
  • For variation attributes, select Used for variations and check that the parent/variation structure is configured.

Images Not Loading

  • Verify image URLs are publicly accessible
  • Check that your server allows external HTTP requests
  • For large imports, images are processed in batches

Further reading

Review the suggestions SSI makes from your file.
Choose the layout that matches your variation data.
Set up repeat imports with Super Speedy Imports.

Written for Super Speedy Imports 3.40.0.

Comments

▲
▼
1/1