Import Products to WooCommerce from Any Website

Import Products to WooCommerce from Any Website

Import Products to WooCommerce from Any Website

Give us a supplier site, brand catalog, or storefront. We turn its product pages into a WooCommerce-ready CSV, structured for the native importer.


WooCommerce knows how to import products. It doesn't know how to turn a supplier's website into a product catalog.


That's the part we handle: type is set per row, variations are linked to their parent, attributes are flagged as global or custom, and category paths use WooCommerce's own notation.

Give us a supplier site, brand catalog, or storefront. We turn its product pages into a WooCommerce-ready CSV, structured for the native importer.


WooCommerce knows how to import products. It doesn't know how to turn a supplier's website into a product catalog.


That's the part we handle: type is set per row, variations are linked to their parent, attributes are flagged as global or custom, and category paths use WooCommerce's own notation.

Give us a supplier site, brand catalog, or storefront. We turn its product pages into a WooCommerce-ready CSV, structured for the native importer.


WooCommerce knows how to import products. It doesn't know how to turn a supplier's website into a product catalog.


That's the part we handle: type is set per row, variations are linked to their parent, attributes are flagged as global or custom, and category paths use WooCommerce's own notation.

  1. Website URL

    Supplier site, brand catalog, or existing storefront.

  2. ShopScraping

    Products · Variations · Attributes · Categories · Images

  3. WooCommerce CSV

    Parent/variation rows · Type · category paths · image URLs

  4. Import

    Products → Import → Upload → Run

What You Get: A WooCommerce-Ready CSV

What You Get: A WooCommerce-Ready CSV

What You Get: A WooCommerce-Ready CSV

WooCommerce's importer is more forgiving than Shopify's about column names — it lets you map anything to anything. That flexibility is exactly why imports go wrong: a file that maps cleanly can still produce four thousand simple products where you wanted eight hundred variable ones.


We deliver the file already shaped, using WooCommerce's default header names so the mapping screen auto-matches every column.

WooCommerce's importer is more forgiving than Shopify's about column names — it lets you map anything to anything. That flexibility is exactly why imports go wrong: a file that maps cleanly can still produce four thousand simple products where you wanted eight hundred variable ones.


We deliver the file already shaped, using WooCommerce's default header names so the mapping screen auto-matches every column.

WooCommerce's importer is more forgiving than Shopify's about column names — it lets you map anything to anything. That flexibility is exactly why imports go wrong: a file that maps cleanly can still produce four thousand simple products where you wanted eight hundred variable ones.


We deliver the file already shaped, using WooCommerce's default header names so the mapping screen auto-matches every column.

Identity and type

ID · Type · SKU · Name · Parent · Published · Visibility in catalog · Is featured?

Content

Description · Short description · Categories · Tags · Purchase note · Allow customer reviews?

Commercial

Regular price · Sale price · Date sale price starts/ends · Tax status · Tax class · In stock? · Stock · Low stock amount · Backorders allowed?

Shipping

Weight · Length · Width · Height · Shipping class

Attributes

Attribute 1 name · Attribute 1 value(s) · Attribute 1 visible · Attribute 1 global · Attribute 1 default

Media

Images — comma-separated URLs, first one becomes the featured image

Extras

Meta: key · Upsells · Cross-sells · Grouped products

Importing Variable Products into WooCommerce

Importing Variable Products into WooCommerce

Importing Variable Products into WooCommerce

Variable products are where WooCommerce imports break, and it's structural rather than accidental. A product with options isn't one row — it's a parent row plus one row per variation, linked by a reference the importer resolves at run time.

Variable products are where WooCommerce imports break, and it's structural rather than accidental. A product with options isn't one row — it's a parent row plus one row per variation, linked by a reference the importer resolves at run time.

Variable products are where WooCommerce imports break, and it's structural rather than accidental. A product with options isn't one row — it's a parent row plus one row per variation, linked by a reference the importer resolves at run time.

How the rows are built

How the rows are built

The parent row carries 'Type: variable', the shared description, the category assignment, and the full set of attribute values. Each variation carries 'Type: variation', its own SKU, its own price and stock, and only the specific attribute values that define it. A shirt in four sizes and three colours arrives as one parent and twelve variations — thirteen rows, correctly typed.

The parent row carries 'Type: variable', the shared description, the category assignment, and the full set of attribute values. Each variation carries 'Type: variation', its own SKU, its own price and stock, and only the specific attribute values that define it. A shirt in four sizes and three colours arrives as one parent and twelve variations — thirteen rows, correctly typed.

How the rows are built

The parent row carries 'Type: variable', the shared description, the category assignment, and the full set of attribute values. Each variation carries 'Type: variation', its own SKU, its own price and stock, and only the specific attribute values that define it. A shirt in four sizes and three colours arrives as one parent and twelve variations — thirteen rows, correctly typed.

How variations find their parent

How variations find their parent

Each variation row's 'Parent' column references the parent by SKU using WooCommerce's id: notation, so the link resolves during import regardless of what internal IDs your store assigns. Nothing depends on row order, and nothing breaks if you import in batches.

Each variation row's 'Parent' column references the parent by SKU using WooCommerce's id: notation, so the link resolves during import regardless of what internal IDs your store assigns. Nothing depends on row order, and nothing breaks if you import in batches.

How variations find their parent

Each variation row's 'Parent' column references the parent by SKU using WooCommerce's id: notation, so the link resolves during import regardless of what internal IDs your store assigns. Nothing depends on row order, and nothing breaks if you import in batches.

Global vs. Custom Attributes

Global vs. Custom Attributes

WooCommerce treats global attributes differently from product-specific attributes. We preserve that distinction in the CSV so filtering, layered navigation, and product-specific information work as expected after import.

WooCommerce treats global attributes differently from product-specific attributes. We preserve that distinction in the CSV so filtering, layered navigation, and product-specific information work as expected after import.

Global vs. Custom Attributes

WooCommerce treats global attributes differently from product-specific attributes. We preserve that distinction in the CSV so filtering, layered navigation, and product-specific information work as expected after import.

WooCommerce global and custom attributes in product CSV import, showing attribute taxonomy, filtering, and product-specific information
WooCommerce global and custom attributes in product CSV import, showing attribute taxonomy, filtering, and product-specific information

Categories, Images, and Why Imports Stall

Categories, Images, and Why Imports Stall

Categories, Images, and Why Imports Stall

Two columns carry more weight in a WooCommerce import than their size suggests: 'Categories' and 'Images'. Both are plain text in the file, and both decide what your store looks like the moment the run finishes.

Two columns carry more weight in a WooCommerce import than their size suggests: 'Categories' and 'Images'. Both are plain text in the file, and both decide what your store looks like the moment the run finishes.

Two columns carry more weight in a WooCommerce import than their size suggests: 'Categories' and 'Images'. Both are plain text in the file, and both decide what your store looks like the moment the run finishes.

Category hierarchy

WooCommerce reads nested categories with '>' and multiple assignments with commas: Tools > Power Tools > Drills, Sale. We deliver the source's complete category path at full depth, so the taxonomy builds itself on the first import instead of arriving as a flat list you re-nest by hand. Categories that don't exist yet are created during the run; ones that already exist are matched, not duplicated.

Image URLs

The 'Images' column takes a comma-separated list of public URLs. The first URL becomes the featured image; the rest populate the gallery in the source's original order. Every URL is checked as publicly fetchable before the file is delivered, so you don't discover broken links halfway through an import. Where a source blocks external requests — hotlink protection, login-gated media, signed URLs that expire — we can rehost the images and supply links WooCommerce can reach. That's available on request rather than by default, since most sources don't need it.

Why image imports stall

Why image imports stall

Worth knowing before you run a large catalog, because it catches people out and it isn't a problem with the file.


WooCommerce doesn't just record image URLs — it downloads every image during the import and generates several thumbnail sizes for each one. A catalog of four thousand products with six images each means twenty-four thousand downloads plus resizing, all inside a single PHP request. On shared hosting that reliably hits 'max_execution_time' or the 'memory_limit', and the run stops partway, leaving a half-imported catalog that's more work to clean up than an empty one.


Three things help, in order of how much effort they take:


• Import in smaller pieces. Split the CSV into files of a few hundred products and run them in sequence. Slower to start, far more predictable.

• Raise the limits. 'max_execution_time' and 'memory_limit' in PHP, plus any timeout your host enforces above that. Your host can usually tell you what's actually in effect.

• Use an importer built for volume. Such tools process in background batches rather than one request, which sidesteps the problem entirely.


We deliver the file; how it goes in is your call. Tell us if you'd rather receive it split into several files and we'll size them however you ask.

Worth knowing before you run a large catalog, because it catches people out and it isn't a problem with the file.


WooCommerce doesn't just record image URLs — it downloads every image during the import and generates several thumbnail sizes for each one. A catalog of four thousand products with six images each means twenty-four thousand downloads plus resizing, all inside a single PHP request. On shared hosting that reliably hits 'max_execution_time' or the 'memory_limit', and the run stops partway, leaving a half-imported catalog that's more work to clean up than an empty one.


Three things help, in order of how much effort they take:


• Import in smaller pieces. Split the CSV into files of a few hundred products and run them in sequence. Slower to start, far more predictable.

• Raise the limits. 'max_execution_time' and 'memory_limit' in PHP, plus any timeout your host enforces above that. Your host can usually tell you what's actually in effect.

• Use an importer built for volume. Such tools process in background batches rather than one request, which sidesteps the problem entirely.


We deliver the file; how it goes in is your call. Tell us if you'd rather receive it split into several files and we'll size them however you ask.

Why image imports stall

Worth knowing before you run a large catalog, because it catches people out and it isn't a problem with the file.


WooCommerce doesn't just record image URLs — it downloads every image during the import and generates several thumbnail sizes for each one. A catalog of four thousand products with six images each means twenty-four thousand downloads plus resizing, all inside a single PHP request. On shared hosting that reliably hits 'max_execution_time' or the 'memory_limit', and the run stops partway, leaving a half-imported catalog that's more work to clean up than an empty one.


Three things help, in order of how much effort they take:


• Import in smaller pieces. Split the CSV into files of a few hundred products and run them in sequence. Slower to start, far more predictable.

• Raise the limits. 'max_execution_time' and 'memory_limit' in PHP, plus any timeout your host enforces above that. Your host can usually tell you what's actually in effect.

• Use an importer built for volume. Such tools process in background batches rather than one request, which sidesteps the problem entirely.


We deliver the file; how it goes in is your call. Tell us if you'd rather receive it split into several files and we'll size them however you ask.

Where the Products Come From

Where the Products Come From

A WooCommerce import needs a source, and a website is a perfectly good one. This page covers the WooCommerce end of our catalog import service — the same pipeline builds files for any platform.

A WooCommerce import needs a source, and a website is a perfectly good one. This page covers the WooCommerce end of our catalog import service — the same pipeline builds files for any platform.

Where the Products Come From

A WooCommerce import needs a source, and a website is a perfectly good one. This page covers the WooCommerce end of our catalog import service — the same pipeline builds files for any platform.

A supplier or distributor site

Complete product content published on the website, no usable feed offered.

Supplier / distributor

A manufacturer or brand site

Official specifications, documentation, and photography — ideal for filling gaps in records you already have.

Manufacturer / brand

Your existing store, before a rebuild

Reading the live storefront captures variants and category structure that admin exports frequently drop.

Your own store

A competitor's store

Assortment depth, attribute conventions, how the category is actually built.

Competitor

More on how each source is read: how product data collection works.

More on how each source is read: how product data collection works.

More on how each source is read: how product data collection works.

See a Real File First

See a Real File First

See a Real File First

Send a website URL from the source you plan to import, and we'll build the sample from your actual products.

Send a website URL from the source you plan to import, and we'll build the sample from your actual products.

Send a website URL from the source you plan to import, and we'll build the sample from your actual products.

How It Works

How It Works

How It Works

01
01

Submit your source

Submit your source

A supplier site, a category page, a brand page, or a list of product URLs.

A supplier site, a category page, a brand page, or a list of product URLs.

01

Submit your source

A supplier site, a category page, a brand page, or a list of product URLs.

02
02

Choose your fields

Choose your fields

The standard WooCommerce column set, or your own template.

The standard WooCommerce column set, or your own template.

02

Choose your fields

The standard WooCommerce column set, or your own template.

03
03

Set your schedule

Set your schedule

One-off for a launch or a rebuild. Daily, weekly, or monthly to keep prices and stock in step with the supplier.

One-off for a launch or a rebuild. Daily, weekly, or monthly to keep prices and stock in step with the supplier.

03

Set your schedule

One-off for a launch or a rebuild. Daily, weekly, or monthly to keep prices and stock in step with the supplier.

04
04

Receive a CSV, Excel, JSON

Receive a CSV, Excel, JSON

Typed rows, resolved parent references, checked image URLs.

Typed rows, resolved parent references, checked image URLs.

04

Receive a CSV, Excel, JSON

Typed rows, resolved parent references, checked image URLs.

What Store Owners Use It For

What Store Owners Use It For

What Store Owners Use It For

Launching a WooCommerce store

One or several suppliers publishing everything online, no catalog of your own yet. The first import becomes the store.

Bulk product upload for a new range

A new distributor or brand, delivered in your existing attribute and category structure.

Rebuilding or replatforming

Moving products off Magento, PrestaShop, an old WooCommerce install, or a custom build. We cover the catalog: products, variations, images, identifiers, taxonomy.

Keeping a supplier catalog current

Scheduled runs update prices, stock, and new arrivals without re-importing the whole thing.

Frequently Asked Questions About Importing Products to WooCommerce

Importing into Shopify instead? We support that too — just get in touch.

Ready to Fill Your WooCommerce Catalog?

Ready to Fill Your WooCommerce Catalog?

Send us the source and tell us what the store needs to carry. We'll prepare a sample export — variations, attributes, and images included — so you can run it on staging before the full delivery.

Ready to Fill Your WooCommerce Catalog?

Send us the source and tell us what the store needs to carry. We'll prepare a sample export — variations, attributes, and images included — so you can run it on staging before the full delivery.

Ready to Fill Your WooCommerce Catalog?

Send us the source and tell us what the store needs to carry. We'll prepare a sample export — variations, attributes, and images included — so you can run it on staging before the full delivery.