Gids

Producten bulk uploaden naar WooCommerce

WooCommerce kan honderden producten tegelijk importeren uit een CSV-bestand. Deze gids behandelt de ingebouwde importer, wanneer een plug-in of de REST API zinvoller is, en hoe u om te beginnen schone gegevens in de CSV krijgt.

Producten één voor één toevoegen in het WooCommerce-beheer is prima voor een kleine winkel, maar een leverancierscatalogus op die manier inladen kan dagen duren. WooCommerce bevat een CSV-importer voor producten, en er zijn importplug-ins en een API voor grotere of terugkerende klussen.

De import zelf is zelden het probleem. Het lastige is een correcte CSV maken: één rij per product of variatie, de juiste kolommen, consistente attributen en beschrijvingen die het waard zijn om te publiceren.

Optie 1: de ingebouwde WooCommerce CSV-importer

WooCommerce wordt geleverd met een CSV-importer en -exporter voor producten. Ga in het WordPress-beheer naar Producten → Alle producten en kies Importeren. Upload uw CSV, koppel de kolommen aan WooCommerce-velden en voer de import uit. Met het aanvinken van “Update existing products” (bestaande producten bijwerken) kunt u producten die op ID of SKU overeenkomen bijwerken in plaats van duplicaten aan te maken.

  • Exporteer eerst één bestaand product en gebruik dat bestand als sjabloon — het toont de exacte kolomnamen die uw winkel verwacht.
  • Gebruikelijke kolommen zijn Type, SKU, Name, Published, Short description, Description, Regular price, Categories, Tags, Images en Attribute 1 name / Attribute 1 value(s).
  • Afbeeldingen worden geïmporteerd via URL’s, dus ze moeten openbaar bereikbaar zijn op het moment van importeren.
  • Variabele producten hebben een bovenliggende rij van het type “variable” nodig en één rij per variatie die naar het bovenliggende product verwijst.
  • Zeer grote bestanden kunnen op shared hosting een time-out veroorzaken — splits ze in batches van een paar honderd rijen.

Optie 2: importplug-ins

Importplug-ins van derden voegen functies toe die de kern-importer mist: geplande of terugkerende imports uit een leveranciersfeed, XML-ondersteuning, transformatieregels voor velden en betere verwerking van zeer grote bestanden. Ze zijn zinvol wanneer een leverancier regelmatig bijgewerkte prijs- en voorraadbestanden stuurt.

Plug-ins verwachten nog steeds gestructureerde invoer. Als uw leverancier pdf’s levert in plaats van een feed, neemt een plug-in het werk om die pdf’s in rijen om te zetten niet weg.

Optie 3: de WooCommerce REST API

Ontwikkelaars en integratietools kunnen producten aanmaken via de WooCommerce REST API, inclusief een batch-eindpunt dat in één verzoek veel producten aanmaakt of bijwerkt. Dit past bij geautomatiseerde pipelines en apps die producten rechtstreeks aanmaken zonder CSV-stap.

Doc2Shelf gebruikt deze route: na beoordeling stuurt het producten naar WooCommerce als eenvoudige conceptproducten met lange en korte beschrijvingen, zodat u ze in WooCommerce kunt controleren voordat u ze live zet. Globale filterattributen en variabele producten stelt u apart in WooCommerce in.

Productgegevens voorbereiden voor een bulk-upload

Welke importmethode u ook gebruikt, de kwaliteit van de gegevens bepaalt het resultaat. Controleer vóór het importeren het volgende:

  • Geef elk product een unieke SKU — daarmee vinden updates later het juiste product.
  • Maak eerst categorieën en globale attributen aan in WooCommerce en verwijs er daarna consistent naar.
  • Normaliseer specificaties: dezelfde eenheden, dezelfde attribuutnamen, één waarde per cel.
  • Schrijf echte beschrijvingen in plaats van leverancierstekst te plakken; marktplaatsen en zoekmachines belonen unieke teksten.
  • Importeer de eerste keer als concepten — stel Published in op -1 (0 maakt producten privé) — en controleer daarna een steekproef voordat u alles publiceert.

Als uw leverancier alleen pdf’s stuurt

Veel leveranciers leveren databladen en catalogi als pdf, niet als CSV-feed. Dan is de bottleneck de extractie: iemand moet elke pdf lezen, de kolommen invullen en een beschrijving schrijven.

U kunt dit handmatig doen, of de gegevens met een tool extraheren en beoordelen. Doc2Shelf leest leveranciers-pdf’s, extraheert de specificaties ter beoordeling, stelt lange en korte WooCommerce-beschrijvingen op als concept en maakt de producten als concepten aan via de REST API — en vervangt zo de spreadsheetstap voor catalogi die uit pdf’s komen.

Veelvoorkomende WooCommerce-importfouten

Mislukt een import of levert die onverwachte resultaten op, controleer dan eerst het volgende:

  • Dubbele of ontbrekende SKU’s waardoor rijen worden overgeslagen of producten dubbel worden aangemaakt.
  • Verkeerde bestandscodering — sla de CSV op als UTF-8 zodat tekens met accenten goed worden geïmporteerd.
  • Afbeeldings-URL’s die doorverwijzen, inloggen vereisen of naar zeer grote bestanden wijzen.
  • Inconsistent geschreven categoriepaden (gebruik “Parent > Child” voor geneste categorieën).
  • Variaties waarvan de attribuutwaarden niet overeenkomen met de attribuutwaarden van het bovenliggende product.

Naslag voor de WooCommerce-productkolommen in de CSV

De standaardimporter leest een vaste set kolomnamen. Als u één product uit uw eigen winkel exporteert, krijgt u de exacte koppen die uw WooCommerce-versie verwacht; de tabel hieronder legt de kolommen uit die het belangrijkst zijn voor een bulk-upload. Alleen Name is verplicht — elke andere kolom is optioneel, maar een catalogus die zonder Type, SKU, prijzen en categorieën wordt geïmporteerd, laat later veel handwerk over.

Kolommen met een eenheid in de kop, zoals Weight en de drie afmetingen, tonen de eenheid die in uw winkelinstellingen is ingesteld, dus kopieer die koppen uit een export in plaats van ze te typen. Aangepaste gegevens die geen eigen kolom hebben, komen in een kolom waarvan de kop begint met meta: gevolgd door de veldsleutel.

Standaardkolommen van de WooCommerce CSV-importer (WooCommerce 3.1 en later)
KolomWat erin staatVoorbeeldOpmerkingen
IDBestaande WooCommerce-product-ID—Laat leeg voor nieuwe producten; bij importeren om bij te werken wordt eerst op ID gematcht.
TypeProducttypesimpleOok variable, variation, grouped of external. Virtual en downloadable zijn aanduidingen die aan een product worden toegevoegd, geen aparte types.
SKUUw unieke productcodeACME-KTL-17Tweede matchsleutel voor updates, na ID. Moet uniek zijn in de winkel.
GTIN, UPC, EAN, or ISBNWereldwijde productidentificatiecode4006381333931Standaardveld. Sinds WooCommerce 11.2 de terugvalsleutel voor matching wanneer ID en SKU beide leeg zijn.
NameProducttitelRoestvrijstalen waterkoker 1,7 LDe enige verplichte kolom.
PublishedStatus na import-11 = gepubliceerd, 0 = privé, -1 = concept, 2 = in afwachting van beoordeling.
Regular price / Sale pricePrijzen49.90Gewone getallen zonder valutasymbool.
StockVoorraadaantal25Gebruik indien nodig samen met In stock? en Backorders allowed?.
Weight (unit), Length (unit), Width (unit), Height (unit)Verzendgewicht en afmetingen1.2De kop toont de eenheid van uw winkel, bijvoorbeeld kg of cm.
CategoriesProductcategorieënKeuken > Waterkokers, CadeausKommagescheiden; “>” geeft een subcategorie aan.
ImagesAfbeeldings-URL’shttps://cdn.example.com/ktl-front.jpgKommagescheiden; de eerste afbeelding wordt de uitgelichte afbeelding.
ParentBovenliggend product van een variatierijACME-KTLDe SKU van het bovenliggende product, of id: gevolgd door de ID van het bovenliggende product.
Attribute 1 name / Attribute 1 value(s)Een attribuut en de bijbehorende waardenColor / Red, BlueVoeg Attribute 2, Attribute 3 enzovoort toe voor meer attributen.
Attribute 1 visible / Attribute 1 globalVlaggen voor dat attribuut1 / 1Visible toont het attribuut op de productpagina; global gebruikt een attribuut voor de hele winkel.
Attribute 1 defaultVooraf geselecteerde waarde van een variabel productRedStel het in op de bovenliggende rij.
meta:supplier_codeEen aangepast metaveldD-4471Elke kop die met meta: begint, wordt opgeslagen als aangepaste meta.

Variabele producten in een CSV: bovenliggende rijen en variatierijen

Een variabel product is verdeeld over meerdere rijen: één bovenliggende rij die het product en de aangeboden attribuutwaarden definieert, en één rij per variatie met de prijs, SKU en voorraad voor één combinatie. De bovenliggende rij heeft Type “variable”; elke variatierij heeft Type “variation” en verwijst terug naar het bovenliggende product in de kolom Parent, met de SKU van het bovenliggende product of id: gevolgd door de bijbehorende ID.

De attribuutkolommen verbinden de rijen. Bij het bovenliggende product staan onder Attribute 1 value(s) alle waarden die het product aanbiedt, gescheiden door komma’s. Bij elke variatie staat dezelfde Attribute 1 name met precies één van die waarden. Spelling en hoofdletters moeten overeenkomen: een variatie met “red” onder een bovenliggend product dat “Red” aanbiedt, kan zonder bruikbare attribuutwaarde eindigen.

Zet Attribute 1 global op 1 bij het bovenliggende product en de variaties wanneer u een attribuut voor de hele winkel gebruikt dat u onder Producten → Attributen hebt aangemaakt — daarmee werken gelaagde navigatie en filterwidgets. Sinds WooCommerce 11.1 kan een update-import ook nieuwe variaties toevoegen aan een variabel product dat al bestaat, zodat u een assortiment kunt uitbreiden zonder het bovenliggende product opnieuw op te bouwen.

  • Houd elke bovenliggende rij boven de bijbehorende variaties, zodat het bestand makkelijk te controleren is en het bovenliggende product bestaat wanneer de variaties ernaar verwijzen.
  • Geef elke variatie een eigen SKU en prijs; een variatie zonder prijs kan niet worden gekocht.
  • Gebruik Attribute 1 default bij het bovenliggende product om te bepalen welke optie vooraf is geselecteerd.
Voorbeeld: één waterkoker in twee kleuren
RijTypeSKUParentAttribute 1 nameAttribute 1 value(s)
BovenliggendvariableACME-KTL—ColorRed, Blue
Variatie 1variationACME-KTL-REDACME-KTLColorRed
Variatie 2variationACME-KTL-BLUACME-KTLColorBlue

Productafbeeldingen toevoegen via de CSV

De kolom Images accepteert een of meer afbeeldings-URL’s, gescheiden door komma’s. De eerste URL wordt de uitgelichte afbeelding en de rest vormt de productgalerij in de aangegeven volgorde. Tijdens de import downloadt WordPress elk bestand naar uw mediabibliotheek, dus elke URL moet op dat moment openbaar bereikbaar zijn — geen login, geen verlopende deellink en geen doorverwijzing naar een webpagina in plaats van het bestand.

Afbeeldingen zijn meestal het traagste onderdeel van een import: een paar honderd producten met elk vijf afbeeldingen betekent meer dan duizend downloads. Verklein afbeeldingen voordat u ze host, gebruik beschrijvende bestandsnamen (kettle-red-front.jpg, niet IMG_0042.jpg) en splits grote catalogi in kleinere bestanden.

De standaardimporter kan geen alt-tekst voor afbeeldingen instellen. Voeg alt-tekst achteraf toe in de mediabibliotheek, via de REST API of met een importextensie die dit ondersteunt. Een variatie bevat één afbeelding, dus geef elke variatierij hooguit één URL.

Producten in bulk aanmaken met de WooCommerce REST API

De REST API is de betere route wanneer imports zich herhalen, wanneer productgegevens al in een ander systeem staan of wanneer niemand meer met een CSV hoeft te werken. Het batch-eindpunt voor producten (POST /wp-json/wc/v3/products/batch) accepteert aanmaak-, update- en verwijderbewerkingen in één verzoek.

Standaard is een batchverzoek beperkt tot 100 objecten voor aanmaken, bijwerken en verwijderen samen. Dezelfde limiet geldt voor de batch-eindpunten voor variaties, categorieën, attributen en attribuuttermen. Een catalogus van 1.000 producten kost dus minstens tien verzoeken, en meer zodra er variaties bij komen.

  1. Maak een REST API-sleutel met lees-/schrijfrechten aan onder WooCommerce → Instellingen → Geavanceerd → REST API, of laat een app er een aanvragen via het autorisatiescherm van WooCommerce.
  2. Maak eerst de categorieën, globale attributen en attribuuttermen aan en noteer hun ID’s.
  3. Verstuur enkelvoudige en bovenliggende producten in batches van maximaal 100, met de status ingesteld op concept.
  4. Maak de variaties van elk variabel product aan via het batch-eindpunt voor variaties van dat product.
  5. Controleer het resultaat van elk item in het antwoord en probeer alleen de mislukte items opnieuw.
  6. Controleer een steekproef van de concepten in het beheer en publiceer ze daarna.

Een plug-in of route kiezen voor het bulk uploaden van WooCommerce-producten

Als de standaardimporter niet volstaat, beoordeel dan een importplug-in of -extensie op hoe die uw gegevens verwerkt, niet op de lengte van de lijst met functies, en test hem op een staging-kopie van de winkel met een echt leveranciersbestand voordat u zich eraan bindt. De tabel vergelijkt de vier routes, gevolgd door de vragen die u bij elke plug-in moet stellen.

  • Bronformaten: alleen CSV, of ook XML, spreadsheetbestanden en externe feeds die via een URL worden opgehaald.
  • Planning: of een import volgens een schema opnieuw kan draaien om nieuwe prijzen en voorraad op te pikken.
  • Mapping en transformaties: kolommen hernoemen, waarden splitsen, eenheden omrekenen en prijsregels toepassen tijdens de import.
  • Variabele producten: of bovenliggende producten, variaties en globale attributen betrouwbaar worden opgebouwd.
  • Afbeeldingen: hoe ze worden gedownload, of duplicaten worden herkend en of alt-tekst wordt ingesteld.
  • Grote bestanden: verwerking op de achtergrond of in delen, zodat lange imports niet verlopen.
  • Updateregels: op welke sleutel wordt gematcht (ID, SKU of GTIN) en welke velden mogen worden overschreven.
Vier manieren om WooCommerce-producten in bulk te uploaden
RouteHet meest geschikt voorLet op
Standaard CSV-importerEenmalige imports en bulkupdates door winkelmedewerkersUploadlimieten en tijdslimieten van de server; geen alt-tekst voor afbeeldingen
Importplug-in of -extensieTerugkerende leveranciersfeeds, XML- of spreadsheetbronnen, geplande updatesNog een plug-in om te onderhouden en compatibel te houden
REST API-batchverzoekenGeautomatiseerde pipelines en synchronisatie vanuit een ander systeemOntwikkeltijd; standaard 100 objecten per batchverzoek
App die producten voor u aanmaaktProductgegevens die buiten een spreadsheet beginnen, zoals leveranciersdocumentenControleer welke producttypen en velden de app daadwerkelijk instelt

Checklist vóór de import en oplossingen voor fouten

De meeste mislukte imports zijn terug te voeren op een overgeslagen voorbereidingsstap. Loop de checklist door vóór elke grote import en gebruik de tabel om problemen te achterhalen die dan nog opduiken.

  1. Maak een back-up van de database, of voer de import uit op een staging-kopie van de winkel.
  2. Exporteer één bestaand product en kopieer de kopregel naar uw bestand.
  3. Maak de categorieën, globale attributen en attribuuttermen aan waarnaar het bestand verwijst.
  4. Controleer of elke SKU uniek is en of de waarde in Parent van elke variatie overeenkomt met de SKU van een bestaand bovenliggend product.
  5. Gebruik gewone getallen in de kolommen voor prijs, voorraad, gewicht en afmetingen.
  6. Open een steekproef van afbeeldings-URL’s in een privévenster van de browser om te bevestigen dat ze zonder login laden.
  7. Stel Published in op -1, zodat de producten als concept binnenkomen.
  8. Sla het bestand op als UTF-8 CSV.
  9. Importeer een testbestand van tien rijen, beoordeel de resultaten en importeer daarna de rest in batches.
WooCommerce-importproblemen: oorzaak en oplossing
ProbleemWaarschijnlijke oorzaakOplossing
Producten gedupliceerd in plaats van bijgewerkt“Update existing products” niet aangevinkt, of ID’s en SKU’s komen niet overeen met de winkelVink de optie aan; kopieer ID’s of SKU’s uit een nieuwe export
Rijen overgeslagen bij een update-importGeen match op ID of SKU (GTIN wordt alleen geprobeerd wanneer beide leeg zijn, sinds 11.2)Voeg de SKU of ID van het bestaande product toe aan elke rij
Variaties als afzonderlijke producten geïmporteerdType niet ingesteld op variation, of de kolom Parent is leeg of verkeerd gespeldGebruik Type “variation” en de exacte SKU van het bovenliggende product
Afbeeldingen ontbrekenURL vereist een login, verwijst door of de host blokkeert het downloadenHost afbeeldingen op openbare, directe URL’s en voer de import opnieuw uit
Bestand geweigerd bij uploadenBestand groter dan de maximale uploadgrootte van de serverSplits het bestand, of vraag uw host de limiet te verhogen
Import stopt halverwegeTijds- of geheugenlimiet van de server bereiktImporteer kleinere bestanden

Testen met dummyproducten vóór de echte import

Met een klein dummybestand vangt u mappingfouten af voordat ze honderden producten raken. Bouw het op basis van uw echte sjabloon zodat de koppen identiek zijn, en geef elk testproduct een duidelijke markering — een SKU-voorvoegsel “TEST-” en een tag “test” — zodat u de producten achteraf kunt vinden en verwijderen.

Dek elk geval af dat uw echte bestand bevat, niet alleen het gemakkelijke. Ongeveer tien rijen zijn meestal genoeg:

  • Eén enkelvoudig product waarbij elke kolom die u wilt gebruiken is ingevuld.
  • Eén variabel product met twee attributen en minstens drie variaties.
  • Eén product met een galerij van meerdere afbeeldingen en één zonder afbeeldingen.
  • Eén product in een geneste categorie die nog niet bestaat.
  • Eén product met letters met accenten, aanhalingstekens en een komma in de beschrijving.
  • Eén rij die een bestaand product bijwerkt op basis van de SKU.
  • Controleer de resultaten in het beheer en in de winkel — prijzen, keuzelijsten voor variaties, volgorde van afbeeldingen en categoriepagina’s — en verwijder de testproducten vóór de echte import.

Veelgestelde vragen

Heeft WooCommerce een ingebouwde bulk-upload voor producten?
Ja. WooCommerce bevat een CSV-importer voor producten onder Producten → Alle producten → Importeren, en een bijbehorende exporter. Voor standaard CSV-imports is geen plug-in nodig.
Hoeveel producten kan ik in één keer in WooCommerce importeren?
De importer heeft geen vaste productlimiet, maar time-outs van de server en geheugenlimieten van uw hosting bepalen wat praktisch haalbaar is. Grote catalogi opsplitsen in batches van een paar honderd rijen is de gebruikelijke oplossing.
Kan ik bestaande producten bijwerken met een CSV-import?
Ja. Schakel “Update existing products” in de importer in; rijen worden op ID of SKU aan bestaande producten gekoppeld en alleen de kolommen die u opneemt worden bijgewerkt.
Kan ik producten rechtstreeks uit pdf’s in WooCommerce importeren?
Niet met de kern-importer, die CSV verwacht. U moet de productgegevens eerst uit de pdf’s extraheren — handmatig of met een extractietool — en ze daarna via CSV importeren of de producten via de REST API aanmaken.
Welke kolommen heeft een WooCommerce-product-CSV nodig?
De standaardimporter vereist alleen Name. Neem voor een bruikbare catalogus minstens Type, SKU, Published, Regular price, Categories, Images en Description op. Exporteer één product uit uw winkel om de exacte kopnamen te krijgen die uw versie verwacht.
Hoe importeer ik variabele producten met een CSV?
Voeg één bovenliggende rij met Type “variable” toe die alle attribuutwaarden opsomt, en vervolgens één rij per variatie met Type “variation”, de SKU van het bovenliggende product in de kolom Parent, één attribuutwaarde en een eigen SKU en prijs.
Kan ik productafbeeldingen en alt-tekst importeren met de CSV-importer?
Afbeeldingen wel: vermeld openbare afbeeldings-URL’s in de kolom Images, gescheiden door komma’s, met de uitgelichte afbeelding eerst. Alt-tekst niet — de standaardimporter kan die niet instellen, dus voeg die achteraf toe of gebruik de REST API of een extensie.
Hoeveel producten kan ik per WooCommerce REST API-verzoek aanmaken?
Het batch-eindpunt accepteert standaard maximaal 100 objecten per verzoek, waarbij aanmaken, bijwerken en verwijderen samen worden geteld. Grotere catalogi worden als reeks batchverzoeken verstuurd.

Meer gidsen

Zet leveranciers-pdf’s om in gecontroleerde productgegevens

Doc2Shelf haalt productgegevens uit leveranciersdocumenten en stelt vermeldingen en compliancedocumenten op als concept, ter beoordeling door u.

Maak uw gratis account aan