Quick Start Guide: Importing Products with Super Speedy Imports

January 29, 2026

This guide walks you through importing WooCommerce products using Super Speedy Imports. By the end, you’ll understand how to map your CSV data to product fields, set up taxonomies, and use PHP functions for advanced data transformations.

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

Prepare Your CSV File

Your CSV should have column headers in the first row. Common columns include:

Column Example 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”

Create Product Attributes (If Needed)

If your CSV contains product attributes like Color, Size, or Material, you must create these attributes in WooCommerce before importing:

  1. Go to Products > Attributes in your WordPress admin
  2. Enter the attribute name (e.g., “Color”)
  3. Click Add attribute
  4. Repeat for each attribute (Material, Size, etc.)

Standard taxonomies like Categories, Tags, and Brands are already available and don’t need setup.


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:

Field Description Required?
Product Title The product name displayed in your store Yes
Full Description Detailed product description (supports HTML) Recommended
Short Description Brief summary shown near the price Recommended
SKU Unique product identifier for inventory tracking Recommended
Regular Price Standard retail price Yes
Sale Price Discounted price (leave empty if not on sale) No

Stock Management Section (Optional)

Map these fields only if your CSV contains stock information:

Field Description Auto-calculated?
Stock Qty Number of items in stock No
Manage Stock Enable stock tracking Yes (set to “yes” when Stock Qty is provided)
Stock Status instock/outofstock/onbackorder Yes (calculated from Stock Qty)
Backorders Allow orders when out of stock No (defaults to “no”)
Low Stock Threshold Alert level for low stock No (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):

Field Description
Parent identifier value The parent variable product’s unique identifier (typically its SKU)

When importing variations, the Parent identifier value links each variation to its parent product — it must match the parent row’s unique identifier (typically parent_sku). The parent product should be imported first (or exist already) with product type “variable”.

Downloadable Products Section (Optional)

For digital products like ebooks, software, or music:

Field Description Auto-calculated?
Download URL Direct link to the downloadable file No
Download Name Display name shown to customers No
Downloadable Mark product as downloadable Yes (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
  • 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 Your CSV

  1. Go to Super Speedy Imports in your WordPress admin
  2. Click New Import
  3. Select WooCommerce Products as the template
  4. Upload your CSV file or select an existing one
  5. Click Load

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. Map Parent identifier value to the column containing the parent product’s unique 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

Scroll to the Taxonomies section to map categories, tags, and 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 additional images (use pipe | separator for multiple URLs)

Step 8: Save and Run

  1. Click Save to store your import configuration
  2. Click Run Import to start the import process
  3. Monitor progress in the import log

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 (v2.55.9): A new 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. New imports default this ON. Imports created before 2.55.9 keep their previous leaf-only behaviour until you tick it.

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.)

Product attributes require setup before importing:

Creating Attributes

  1. Go to Products > Attributes
  2. Enter “Color” as the name, “color” as the slug
  3. Click Add attribute
  4. Repeat for Material, Size, or any other attributes

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

After creating attributes, they appear in the Taxonomies section as “Product color”, “Product material”, etc. Map each attribute to the corresponding CSV column.

Setting Variable Attributes: If an attribute should create product variations (like Size), set the “Variable?” dropdown to “Yes” when mapping that taxonomy.


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 a pipe:

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

Note (v2.55.7): If the featured image URL also appears in the gallery column, it now stays in the gallery. Previously SSI stripped the featured image out of the gallery; it no longer does, since WooCommerce stores the featured image and the gallery as independent fields 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 against images already in your media library, search by both post title and filename (the filename in the URL guid). More accurate matching, but slower on large media libraries. Turn it on when your images might already exist and you want SSI to reuse them rather than re-download.

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

For advanced data transformations, you can use PHP functions instead of direct CSV column mappings.

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

  • Verify attributes were created in Products > Attributes before importing
  • Check that attribute names in your CSV match the taxonomy slug

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

Next Steps

For support, visit Super Speedy Plugins Knowledge Base.

×
1/1