Návod
Jak hromadně nahrát produkty do WooCommerce
WooCommerce umí z jednoho souboru CSV importovat stovky produktů najednou. Tento návod vás provede vestavěným importérem, vysvětlí, kdy dává větší smysl plugin nebo REST API, a ukáže, jak do CSV dostat čistá data.
Přidávat produkty jeden po druhém v administraci WooCommerce je u malého obchodu v pořádku, ale zavedení katalogu dodavatele tímto způsobem může trvat dny. WooCommerce obsahuje importér produktů z CSV a pro větší nebo opakované úlohy existují importní pluginy a API.
Samotný import je zřídkakdy to těžké. Těžké je vytvořit správné CSV: jeden řádek na produkt nebo variaci, správné sloupce, jednotné atributy a popisy, které stojí za publikování.
Možnost 1: Vestavěný importér CSV ve WooCommerce
WooCommerce obsahuje importér i exportér produktů ve formátu CSV. V administraci WordPressu přejděte do „Products → All Products“ a zvolte „Import“. Nahrajte soubor CSV, namapujte jeho sloupce na pole WooCommerce a spusťte import. Zaškrtnutím „Update existing products“ můžete aktualizovat produkty spárované podle ID nebo SKU místo vytváření duplicit.
- Nejprve exportujte jeden existující produkt a použijte tento soubor jako šablonu — ukáže přesné názvy sloupců, které váš obchod očekává.
- Typické sloupce zahrnují Type, SKU, Name, Published, Short description, Description, Regular price, Categories, Tags, Images a Attribute 1 name / Attribute 1 value(s).
- Obrázky se importují z adres URL, takže musí být v době importu veřejně dostupné.
- Variabilní produkty potřebují nadřazený řádek typu „variable“ a jeden řádek pro každou variaci, který na nadřazený produkt odkazuje.
- Velmi velké soubory mohou na sdíleném hostingu vypršet — rozdělte je na dávky o několika stovkách řádků.
Možnost 2: Importní pluginy
Pluginy třetích stran přidávají funkce, které základní importér nemá: plánované nebo opakované importy z feedu dodavatele, podporu XML, pravidla pro transformaci polí a lepší zpracování velmi velkých souborů. Dávají smysl, když dodavatel pravidelně posílá aktualizované soubory s cenami a skladem.
Pluginy stále očekávají strukturovaný vstup. Pokud dodavatel poskytuje PDF místo feedu, plugin vás práce s převodem těchto PDF na řádky nezbaví.
Možnost 3: REST API WooCommerce
Vývojáři a integrační nástroje mohou vytvářet produkty prostřednictvím REST API WooCommerce, včetně dávkového endpointu, který v jednom požadavku vytvoří nebo aktualizuje mnoho produktů. Hodí se pro automatizované procesy a aplikace, které vytvářejí produkty přímo, bez kroku s CSV.
Doc2Shelf používá tuto cestu: po kontrole odesílá produkty do WooCommerce jako jednoduché produkty ve stavu návrhu s dlouhými i krátkými popisy, takže je můžete ve WooCommerce zkontrolovat, než je zveřejníte. Globální filtrační atributy a variabilní produkty se nastavují ve WooCommerce zvlášť.
Příprava produktových dat pro hromadné nahrání
Ať použijete jakoukoli metodu importu, o výsledku rozhoduje kvalita dat. Před importem:
- Dejte každému produktu jedinečné SKU — právě podle něj se později najde správný produkt při aktualizaci.
- Nejprve ve WooCommerce vytvořte kategorie a globální atributy a poté na ně odkazujte jednotně.
- Normalizujte specifikace: stejné jednotky, stejné názvy atributů, jedna hodnota na buňku.
- Pište skutečné popisy místo vkládání textu od dodavatele; tržiště a vyhledávače odměňují jedinečný text.
- Při prvním spuštění importujte jako návrhy — nastavte Published na -1 (hodnota 0 vytvoří soukromé produkty) — a před zveřejněním všeho zkontrolujte vzorek.
Když dodavatel posílá jen PDF
Mnoho dodavatelů poskytuje produktové listy a katalogy jako PDF, nikoli jako feedy CSV. V takovém případě je úzkým místem extrakce: někdo musí každé PDF přečíst, vyplnit sloupce a napsat popis.
Můžete to dělat ručně, nebo data extrahovat nástrojem a zkontrolovat je. Doc2Shelf čte PDF od dodavatelů, extrahuje specifikace ke kontrole, připravuje dlouhé a krátké popisy pro WooCommerce a vytváří produkty jako návrhy přes REST API — nahrazuje tak krok s tabulkou u katalogů, jejichž zdrojem jsou PDF.
Časté chyby při importu do WooCommerce
Pokud import selže nebo přinese neočekávané výsledky, zkontrolujte nejprve toto:
- Duplicitní nebo chybějící SKU, kvůli nimž se řádky přeskočí nebo produkty zduplikují.
- Nesprávné kódování souboru — uložte CSV jako UTF-8, aby se znaky s diakritikou správně naimportovaly.
- Adresy URL obrázků, které přesměrovávají, vyžadují přihlášení nebo odkazují na velmi velké soubory.
- Nejednotně zapsané cesty kategorií (pro vnořené kategorie použijte „Parent > Child“).
- Variace, jejichž hodnoty atributů neodpovídají hodnotám atributů nadřazeného produktu.
Referenční přehled sloupců CSV produktů ve WooCommerce
Základní importér čte pevnou sadu názvů sloupců. Export jednoho produktu z vašeho obchodu vám dá přesné hlavičky, které vaše verze WooCommerce očekává; tabulka níže vysvětluje sloupce, na kterých pro hromadné nahrání nejvíce záleží. Povinný je pouze Name — všechny ostatní sloupce jsou volitelné, ale katalog importovaný bez Type, SKU, cen a kategorií znamená později spoustu ruční práce.
Sloupce s jednotkou v hlavičce, například Weight a tři rozměry, zobrazují jednotku nastavenou v nastavení vašeho obchodu, proto tyto hlavičky zkopírujte z exportu a nepište je ručně. Vlastní data, která nemají vlastní sloupec, patří do sloupce, jehož hlavička začíná meta: následovaným klíčem pole.
| Sloupec | Co obsahuje | Příklad | Poznámky |
|---|---|---|---|
| ID | Existující ID produktu ve WooCommerce | — | U nových produktů nechte prázdné; aktualizační importy párují nejprve podle ID. |
| Type | Typ produktu | simple | Dále variable, variation, grouped nebo external. Virtual a downloadable jsou označení přidávaná k produktu, nikoli samostatné typy. |
| SKU | Váš jedinečný kód produktu | ACME-KTL-17 | Druhý klíč pro párování při aktualizacích, po ID. Musí být v obchodě jedinečný. |
| GTIN, UPC, EAN, or ISBN | Globální identifikátor produktu | 4006381333931 | Základní pole. Od WooCommerce 11.2 záložní klíč pro párování, pokud jsou ID i SKU prázdné. |
| Name | Název produktu | Nerezová konvice 1,7 l | Jediný povinný sloupec. |
| Published | Stav po importu | -1 | 1 = zveřejněno, 0 = soukromé, -1 = návrh, 2 = čeká na kontrolu. |
| Regular price / Sale price | Ceny | 49.90 | Čistá čísla bez symbolu měny. |
| Stock | Množství na skladě | 25 | Podle potřeby použijte spolu s In stock? a Backorders allowed?. |
| Weight (unit), Length (unit), Width (unit), Height (unit) | Přepravní hmotnost a rozměry | 1.2 | Hlavička zobrazuje jednotku vašeho obchodu, například kg nebo cm. |
| Categories | Kategorie produktů | Kuchyň > Konvice, Dárky | Odděleno čárkami; „>“ označuje podkategorii. |
| Images | Adresy URL obrázků | https://cdn.example.com/ktl-front.jpg | Odděleno čárkami; první obrázek se stane hlavním obrázkem. |
| Parent | Nadřazený produkt řádku variace | ACME-KTL | SKU nadřazeného produktu, nebo id: následované ID nadřazeného produktu. |
| Attribute 1 name / Attribute 1 value(s) | Atribut a jeho hodnoty | Color / Red, Blue | Pro další atributy přidejte Attribute 2, Attribute 3 atd. |
| Attribute 1 visible / Attribute 1 global | Příznaky tohoto atributu | 1 / 1 | Visible jej zobrazí na stránce produktu; global použije atribut platný pro celý obchod. |
| Attribute 1 default | Předvybraná hodnota variabilního produktu | Red | Nastavte jej na nadřazeném řádku. |
| meta:supplier_code | Vlastní metapole | D-4471 | Každá hlavička začínající meta: se uloží jako vlastní meta. |
Variabilní produkty v CSV: nadřazené řádky a řádky variací
Variabilní produkt je rozložen do několika řádků: jednoho nadřazeného řádku, který definuje produkt a nabízené hodnoty atributů, a jednoho řádku pro každou variaci, který nese cenu, SKU a zásobu pro jednu kombinaci. Nadřazený řádek má Type „variable“; každý řádek variace má Type „variation“ a ve sloupci Parent odkazuje zpět na nadřazený produkt pomocí jeho SKU nebo id: následovaného jeho ID.
Sloupce atributů řádky propojují. Na nadřazeném řádku uvádí Attribute 1 value(s) všechny hodnoty, které produkt nabízí, oddělené čárkami. U každé variace se objeví stejný Attribute 1 name s právě jednou z těchto hodnot. Pravopis a velikost písmen se musí shodovat: variace s hodnotou „red“ pod nadřazeným produktem, který nabízí „Red“, může skončit bez použitelné hodnoty atributu.
Pokud používáte atribut platný pro celý obchod, vytvořený v části Products → Attributes, nastavte Attribute 1 global na 1 u nadřazeného produktu i jeho variací — s ním pracuje vrstvená navigace a filtrační widgety. Od WooCommerce 11.1 může aktualizační import také přidávat nové variace k již existujícímu variabilnímu produktu, takže řadu můžete rozšířit bez znovuvytváření nadřazeného produktu.
- Každý nadřazený řádek mějte nad jeho variacemi, aby se soubor snadno kontroloval a nadřazený produkt existoval, když se na něj variace odkazují.
- Každé variaci dejte vlastní SKU a cenu; variace bez ceny nelze koupit.
- Pomocí Attribute 1 default na nadřazeném řádku určíte, která možnost je předvybraná.
| Řádek | Type | SKU | Parent | Attribute 1 name | Attribute 1 value(s) |
|---|---|---|---|---|---|
| Nadřazený | variable | ACME-KTL | — | Barva | Červená, Modrá |
| Variace 1 | variation | ACME-KTL-RED | ACME-KTL | Barva | Červená |
| Variace 2 | variation | ACME-KTL-BLU | ACME-KTL | Barva | Modrá |
Přidání obrázků produktů přes CSV
Sloupec Images přijímá jednu nebo více adres URL obrázků oddělených čárkami. První adresa se stane hlavním obrázkem a ostatní tvoří galerii produktu v uvedeném pořadí. Během importu WordPress stáhne každý soubor do vaší knihovny médií, takže každá adresa URL musí být v tu chvíli veřejně dostupná — bez přihlášení, bez odkazu ke sdílení s omezenou platností a bez přesměrování na webovou stránku místo na soubor.
Obrázky bývají nejpomalejší částí importu: několik set produktů s pěti obrázky znamená více než tisíc stahování. Před umístěním na hosting obrázky zmenšete, používejte popisné názvy souborů (kettle-red-front.jpg, nikoli IMG_0042.jpg) a velké katalogy rozdělte na menší soubory.
Základní importér neumí nastavit alternativní text obrázků (alt text). Doplňte jej dodatečně v knihovně médií, přes REST API nebo pomocí importního rozšíření, které to podporuje. Variace má pouze jeden obrázek, proto u řádku každé variace uveďte nejvýše jednu adresu URL.
Hromadné vytváření produktů přes REST API WooCommerce
REST API je lepší cestou, když se importy opakují, když produktová data už jsou v jiném systému nebo když by s CSV neměl nikdo vůbec pracovat. Jeho dávkový endpoint produktů (POST /wp-json/wc/v3/products/batch) přijímá operace vytvoření, aktualizace a smazání v jediném požadavku.
Ve výchozím nastavení je dávkový požadavek omezen na 100 objektů napříč vytvářením, aktualizacemi a mazáním. Stejný limit platí pro dávkové endpointy variací, kategorií, atributů a hodnot atributů. Katalog s 1000 produkty proto vyžaduje nejméně deset požadavků, a po přidání variací ještě více.
- Vytvořte klíč REST API s oprávněním ke čtení a zápisu v části WooCommerce → Settings → Advanced → REST API, nebo nechte aplikaci, aby si jej vyžádala prostřednictvím autorizační obrazovky WooCommerce.
- Nejprve vytvořte kategorie, globální atributy a hodnoty atributů a poznamenejte si jejich ID.
- Odesílejte jednoduché a nadřazené produkty v dávkách po nejvýše 100 se stavem nastaveným na návrh.
- Variace každého variabilního produktu vytvořte přes dávkový endpoint variací daného produktu.
- V odpovědi zkontrolujte výsledek každé položky a opakujte jen položky, které selhaly.
- Vzorek návrhů zkontrolujte v administraci a poté je zveřejněte.
Výběr pluginu nebo způsobu hromadného nahrávání produktů do WooCommerce
Pokud základní importér nestačí, posuzujte importní plugin či rozšíření podle toho, jak zpracovává vaše data, a ne podle délky seznamu funkcí, a než se k němu zavážete, otestujte jej na testovací kopii obchodu s reálným souborem od dodavatele. Tabulka porovnává čtyři cesty, za ní následují otázky, které stojí za to položit u každého pluginu.
- Zdrojové formáty: pouze CSV, nebo také XML, soubory tabulek a vzdálené feedy načítané přes URL.
- Plánování: zda umí opakovat import podle rozvrhu, aby načítal nové ceny a zásoby.
- Mapování a transformace: přejmenování sloupců, dělení hodnot, převod jednotek a použití cenových pravidel během importu.
- Variabilní produkty: zda spolehlivě vytváří nadřazené produkty, variace a globální atributy.
- Obrázky: jak je stahuje, zda rozpozná duplicity a zda nastavuje alternativní text.
- Velké soubory: zpracování na pozadí nebo po částech, aby dlouhé importy nevypršely.
- Pravidla aktualizace: podle jakého klíče páruje (ID, SKU nebo GTIN) a která pole smí přepsat.
| Cesta | Nejvhodnější pro | Na co si dát pozor |
|---|---|---|
| Základní importér CSV | Jednorázové importy a hromadné aktualizace prováděné zaměstnanci obchodu | Limity nahrávání a času na serveru; žádný alternativní text obrázků |
| Importní plugin nebo rozšíření | Opakující se feedy dodavatelů, zdroje XML nebo tabulky, plánované aktualizace | Další plugin, který je třeba udržovat a udržet kompatibilní |
| Dávkové požadavky REST API | Automatizované procesy a synchronizace z jiného systému | Čas vývojáře; ve výchozím nastavení 100 objektů na dávkový požadavek |
| Aplikace, která produkty vytváří za vás | Produktová data, která nevznikají v tabulce, například dokumenty dodavatelů | Ověřte, které typy produktů a pole aplikace skutečně nastavuje |
Kontrolní seznam před importem a opravy chyb
Většina neúspěšných importů pramení z vynechaného přípravného kroku. Před každým velkým importem projděte kontrolní seznam a pomocí tabulky diagnostikujte problémy, které přesto nastanou.
- Zálohujte databázi nebo spusťte import na testovací kopii obchodu.
- Exportujte jeden existující produkt a zkopírujte jeho řádek hlaviček do svého souboru.
- Vytvořte kategorie, globální atributy a hodnoty atributů, na které soubor odkazuje.
- Ověřte, že každé SKU je jedinečné a že hodnota Parent u každé variace odpovídá existujícímu SKU nadřazeného produktu.
- Ve sloupcích cen, zásob, hmotnosti a rozměrů používejte čistá čísla.
- Vzorek adres URL obrázků otevřete v anonymním okně prohlížeče a ověřte, že se načtou bez přihlášení.
- Nastavte Published na -1, aby produkty přišly jako návrhy.
- Uložte soubor jako CSV v kódování UTF-8.
- Naimportujte testovací soubor o deseti řádcích, zkontrolujte výsledky a poté importujte zbytek po dávkách.
| Problém | Pravděpodobná příčina | Oprava |
|---|---|---|
| Produkty se duplikují místo aktualizace | Není zaškrtnuto „Update existing products“, nebo ID a SKU neodpovídají obchodu | Zaškrtněte možnost; zkopírujte ID nebo SKU z čerstvého exportu |
| Řádky přeskočené při aktualizačním importu | Žádná shoda podle ID ani SKU (GTIN se zkouší jen tehdy, když jsou obojí prázdné, od verze 11.2) | Do každého řádku doplňte SKU nebo ID existujícího produktu |
| Variace importované jako samostatné produkty | Type není nastaven na variation nebo je sloupec Parent prázdný či obsahuje překlep | Použijte Type „variation“ a přesné SKU nadřazeného produktu |
| Chybějící obrázky | Adresa URL vyžaduje přihlášení, přesměrovává nebo hostitel stahování blokuje | Umístěte obrázky na veřejné přímé adresy URL a import spusťte znovu |
| Soubor odmítnut při nahrávání | Soubor je větší než maximální velikost nahrávání na serveru | Soubor rozdělte, nebo požádejte hosting o zvýšení limitu |
| Import se zastaví v půli | Dosažen časový nebo paměťový limit serveru | Importujte menší soubory |
Testování na zkušebních produktech před ostrým importem
Malý zkušební soubor zachytí chyby v mapování dříve, než zasáhnou stovky produktů. Vytvořte jej ze své skutečné šablony, aby byly hlavičky shodné, a každý zkušební produkt výrazně označte — předponou „TEST-“ u SKU a štítkem „test“ — abyste produkty mohli později najít a smazat.
Pokryjte každý případ, který váš skutečný soubor obsahuje, nejen ten snadný. Obvykle stačí zhruba deset řádků:
- Jeden jednoduchý produkt s vyplněnými všemi sloupci, které plánujete používat.
- Jeden variabilní produkt se dvěma atributy a alespoň třemi variacemi.
- Jeden produkt s galerií několika obrázků a jeden bez obrázků.
- Jeden produkt ve vnořené kategorii, která ještě neexistuje.
- Jeden produkt s diakritikou, uvozovkami a čárkou v popisu.
- Jeden řádek, který aktualizuje existující produkt podle SKU.
- Zkontrolujte výsledky v administraci i na webu obchodu — ceny, rozbalovací nabídky variací, pořadí obrázků a stránky kategorií — a poté zkušební produkty před ostrým importem smažte.
Často kladené otázky
- Má WooCommerce vestavěné hromadné nahrávání produktů?
- Ano. WooCommerce obsahuje importér produktů z CSV v části „Products → All Products → Import“ a odpovídající exportér. Pro standardní importy CSV není potřeba žádný plugin.
- Kolik produktů lze do WooCommerce importovat najednou?
- Importér nemá pevný limit počtu produktů, ale to, co je praktické, určují časové limity serveru a limity paměti vašeho hostingu. Obvyklým řešením je rozdělit velké katalogy na dávky o několika stovkách řádků.
- Lze importem CSV aktualizovat existující produkty?
- Ano. V importéru zapněte „Update existing products“; řádky se spárují s existujícími produkty podle ID nebo SKU a aktualizují se pouze sloupce, které zahrnete.
- Lze importovat produkty do WooCommerce přímo z PDF?
- Základním importérem ne, ten očekává CSV. Nejprve je nutné produktová data z PDF extrahovat — ručně nebo pomocí nástroje pro extrakci — a pak je naimportovat přes CSV nebo vytvořit produkty přes REST API.
- Které sloupce potřebuje CSV produktů pro WooCommerce?
- Základní importér vyžaduje pouze Name. Pro použitelný katalog uveďte alespoň Type, SKU, Published, Regular price, Categories, Images a Description. Exportujte jeden produkt ze svého obchodu a získáte přesné názvy hlaviček, které vaše verze očekává.
- Jak pomocí CSV importovat variabilní produkty?
- Přidejte jeden nadřazený řádek s Type „variable“, který uvádí všechny hodnoty atributů, a poté jeden řádek pro každou variaci s Type „variation“, SKU nadřazeného produktu ve sloupci Parent, jednou hodnotou atributu a vlastním SKU a cenou.
- Mohu pomocí importéru CSV importovat obrázky produktů a alternativní text?
- Obrázky ano: uveďte veřejné adresy URL obrázků do sloupce Images, oddělené čárkami, s hlavním obrázkem na prvním místě. Alternativní text ne — základní importér jej nastavit neumí, proto jej doplňte dodatečně nebo použijte REST API či rozšíření.
- Kolik produktů mohu vytvořit jedním požadavkem REST API WooCommerce?
- Dávkový endpoint ve výchozím nastavení přijímá až 100 objektů na požadavek, přičemž se vytváření, aktualizace a mazání počítají dohromady. Větší katalogy se odesílají jako série dávkových požadavků.