Poradnik

Jak masowo importować produkty do WooCommerce

WooCommerce potrafi zaimportować setki produktów naraz z pliku CSV. Ten poradnik opisuje wbudowany importer, sytuacje, w których lepsza jest wtyczka lub REST API, oraz sposób na to, by do pliku CSV trafiły czyste dane.

Dodawanie produktów jeden po drugim w panelu administracyjnym WooCommerce sprawdza się w małym sklepie, ale wdrożenie katalogu dostawcy w ten sposób może zająć dni. WooCommerce zawiera importer produktów z CSV, a do większych lub cyklicznych zadań dostępne są wtyczki importu i API.

Sam import rzadko jest najtrudniejszy. Trudne jest przygotowanie poprawnego pliku CSV: jeden wiersz na produkt lub wariant, właściwe kolumny, spójne atrybuty i opisy, które warto publikować.

Opcja 1: wbudowany importer CSV WooCommerce

WooCommerce zawiera importer i eksporter produktów w formacie CSV. W panelu WordPress przejdź do Produkty → Wszystkie produkty i wybierz Importuj. Prześlij plik CSV, przypisz jego kolumny do pól WooCommerce i uruchom import. Zaznaczenie opcji „Update existing products” pozwala aktualizować produkty dopasowane po ID lub SKU zamiast tworzyć duplikaty.

  • Najpierw wyeksportuj jeden istniejący produkt i użyj tego pliku jako szablonu — pokazuje dokładne nazwy kolumn oczekiwane przez Twój sklep.
  • Typowe kolumny to Type, SKU, Name, Published, Short description, Description, Regular price, Categories, Tags, Images oraz Attribute 1 name / Attribute 1 value(s).
  • Zdjęcia są importowane z adresów URL, więc muszą być publicznie dostępne w czasie importu.
  • Produkty zmienne wymagają wiersza nadrzędnego typu „variable” i jednego wiersza na każdy wariant, który odwołuje się do produktu nadrzędnego.
  • Bardzo duże pliki mogą przekraczać limit czasu na hostingu współdzielonym — podziel je na partie po kilkaset wierszy.

Opcja 2: wtyczki importu

Wtyczki importu firm trzecich dodają funkcje, których brakuje w importerze podstawowym: zaplanowane lub cykliczne importy z pliku produktowego dostawcy, obsługę XML, reguły transformacji pól i lepszą obsługę bardzo dużych plików. Mają sens, gdy dostawca regularnie przysyła zaktualizowane pliki z cenami i stanami magazynowymi.

Wtyczki nadal oczekują ustrukturyzowanych danych wejściowych. Jeśli dostawca przekazuje pliki PDF zamiast pliku produktowego, wtyczka nie zdejmuje z Ciebie pracy związanej z zamianą tych plików PDF w wiersze.

Opcja 3: REST API WooCommerce

Programiści i narzędzia integracyjne mogą tworzyć produkty przez REST API WooCommerce, w tym przez punkt końcowy wsadowy, który tworzy lub aktualizuje wiele produktów w jednym żądaniu. Pasuje to do zautomatyzowanych procesów i aplikacji, które tworzą produkty bezpośrednio, bez etapu CSV.

Doc2Shelf korzysta z tej drogi: po weryfikacji wysyła produkty do WooCommerce jako proste produkty robocze z długimi i krótkimi opisami, abyś mógł je sprawdzić w WooCommerce przed opublikowaniem. Globalne atrybuty filtrów i produkty zmienne konfiguruje się osobno w WooCommerce.

Przygotowanie danych produktów do importu zbiorczego

Niezależnie od metody importu, o wyniku decyduje jakość danych. Przed importem:

  • Nadaj każdemu produktowi unikalny SKU — dzięki niemu późniejsze aktualizacje trafiają do właściwego produktu.
  • Najpierw utwórz w WooCommerce kategorie i atrybuty globalne, a następnie odwołuj się do nich konsekwentnie.
  • Ujednolij specyfikacje: te same jednostki, te same nazwy atrybutów, jedna wartość w komórce.
  • Pisz prawdziwe opisy zamiast wklejać tekst dostawcy; platformy handlowe i wyszukiwarki nagradzają unikalne treści.
  • Przy pierwszym uruchomieniu importuj produkty jako wersje robocze — ustaw Published na -1 (0 oznacza produkty prywatne) — a następnie sprawdź próbkę przed opublikowaniem całości.

Gdy dostawca przesyła tylko pliki PDF

Wielu dostawców udostępnia karty katalogowe i katalogi jako pliki PDF, a nie pliki produktowe CSV. W takim przypadku wąskim gardłem jest ekstrakcja: ktoś musi przeczytać każdy plik PDF, wypełnić kolumny i napisać opis.

Możesz robić to ręcznie albo wyodrębnić dane za pomocą narzędzia i je zweryfikować. Doc2Shelf odczytuje pliki PDF dostawców, wyodrębnia specyfikacje do weryfikacji, przygotowuje długie i krótkie opisy WooCommerce i tworzy produkty jako wersje robocze przez REST API — zastępując etap arkusza kalkulacyjnego w katalogach opartych na plikach PDF.

Typowe błędy importu w WooCommerce

Jeśli import się nie powiedzie lub daje nieoczekiwane wyniki, sprawdź najpierw:

  • Zduplikowane lub brakujące SKU powodujące pomijanie wierszy lub duplikowanie produktów.
  • Nieprawidłowe kodowanie pliku — zapisz CSV jako UTF-8, aby znaki diakrytyczne zaimportowały się poprawnie.
  • Adresy URL zdjęć, które przekierowują, wymagają logowania lub prowadzą do bardzo dużych plików.
  • Niespójnie zapisane ścieżki kategorii (dla kategorii zagnieżdżonych użyj „Nadrzędna > Podrzędna”).
  • Warianty, których wartości atrybutów nie zgadzają się z wartościami atrybutów produktu nadrzędnego.

Opis kolumn CSV produktów WooCommerce

Podstawowy importer odczytuje stały zestaw nazw kolumn. Eksport jednego produktu z własnego sklepu daje dokładne nagłówki oczekiwane przez Twoją wersję WooCommerce; poniższa tabela wyjaśnia kolumny najważniejsze przy imporcie zbiorczym. Wymagana jest tylko kolumna Name — każda inna jest opcjonalna, ale katalog zaimportowany bez Type, SKU, cen i kategorii zostawia później dużo pracy ręcznej.

Kolumny z jednostką w nagłówku, takie jak Weight i trzy wymiary, pokazują jednostkę skonfigurowaną w ustawieniach sklepu, więc kopiuj te nagłówki z eksportu zamiast je wpisywać. Dane niestandardowe, które nie mają własnej kolumny, trafiają do kolumny, której nagłówek zaczyna się od meta:, a po nim następuje klucz pola.

Podstawowe kolumny importera CSV WooCommerce (WooCommerce 3.1 i nowsze)
KolumnaCo zawieraPrzykładUwagi
IDIstniejący identyfikator produktu w WooCommerce—W nowych produktach zostaw puste; importy aktualizujące dopasowują najpierw po ID.
TypeTyp produktusimpleDostępne są także variable, variation, grouped lub external. Virtual i downloadable to oznaczenia dodawane do produktu, a nie osobne typy.
SKUTwój unikalny kod produktuACME-KTL-17Drugi klucz dopasowania przy aktualizacjach, po ID. Musi być unikalny w sklepie.
GTIN, UPC, EAN lub ISBNGlobalny identyfikator produktu4006381333931Pole podstawowe. Od WooCommerce 11.2 zapasowy klucz dopasowania, gdy ID i SKU są puste.
NameTytuł produktuCzajnik ze stali nierdzewnej 1,7 LJedyna wymagana kolumna.
PublishedStatus po imporcie-11 = opublikowany, 0 = prywatny, -1 = wersja robocza, 2 = oczekuje na przegląd.
Regular price / Sale priceCeny49.90Same liczby, bez symbolu waluty.
StockIlość w magazynie25W razie potrzeby używaj razem z In stock? i Backorders allowed?.
Weight (unit), Length (unit), Width (unit), Height (unit)Masa i wymiary wysyłkowe1.2Nagłówek pokazuje jednostkę ze sklepu, na przykład kg lub cm.
CategoriesKategorie produktówKuchnia > Czajniki, PrezentyOddzielone przecinkami; „>” oznacza podkategorię.
ImagesAdresy URL zdjęćhttps://cdn.example.com/ktl-front.jpgOddzielone przecinkami; pierwsze zdjęcie staje się zdjęciem głównym.
ParentProdukt nadrzędny wiersza wariantuACME-KTLSKU produktu nadrzędnego lub id: i ID produktu nadrzędnego.
Attribute 1 name / Attribute 1 value(s)Atrybut i jego wartościKolor / Czerwony, NiebieskiDodaj Attribute 2, Attribute 3 itd. dla kolejnych atrybutów.
Attribute 1 visible / Attribute 1 globalFlagi tego atrybutu1 / 1Visible pokazuje go na stronie produktu; global używa atrybutu ogólnosklepowego.
Attribute 1 defaultWstępnie wybrana wartość produktu zmiennegoCzerwonyUstaw w wierszu produktu nadrzędnego.
meta:supplier_codeNiestandardowe pole metaD-4471Każdy nagłówek zaczynający się od meta: jest zapisywany jako niestandardowe pole meta.

Produkty zmienne w pliku CSV: wiersze produktu nadrzędnego i wariantów

Produkt zmienny rozciąga się na kilka wierszy: jeden wiersz produktu nadrzędnego, który definiuje produkt i oferowane wartości atrybutów, oraz po jednym wierszu na każdy wariant, zawierającym cenę, SKU i stan magazynowy jednej kombinacji. Wiersz produktu nadrzędnego ma Type „variable”; każdy wiersz wariantu ma Type „variation” i wskazuje produkt nadrzędny w kolumnie Parent, podając jego SKU lub id: i jego ID.

Kolumny atrybutów łączą wiersze. W produkcie nadrzędnym Attribute 1 value(s) wymienia wszystkie oferowane wartości, oddzielone przecinkami. W każdym wariancie ta sama Attribute 1 name występuje z dokładnie jedną z tych wartości. Pisownia i wielkość liter muszą się zgadzać: wariant z wartością „czerwony” pod produktem nadrzędnym oferującym „Czerwony” może pozostać bez użytecznej wartości atrybutu.

Ustaw Attribute 1 global na 1 w produkcie nadrzędnym i jego wariantach, gdy używasz atrybutu ogólnosklepowego utworzonego w Produkty → Atrybuty — z nim działają nawigacja warstwowa i widżety filtrów. Od WooCommerce 11.1 import aktualizujący może też dodawać nowe warianty do istniejącego produktu zmiennego, więc możesz rozszerzyć asortyment bez odtwarzania produktu nadrzędnego.

  • Trzymaj każdy wiersz produktu nadrzędnego nad jego wariantami, aby plik był łatwy do sprawdzenia, a produkt nadrzędny istniał, gdy odwołują się do niego warianty.
  • Nadaj każdemu wariantowi własny SKU i cenę; wariantu bez ceny nie można kupić.
  • Użyj Attribute 1 default w produkcie nadrzędnym, aby określić, która opcja jest wstępnie wybrana.
Przykład: jeden czajnik sprzedawany w dwóch kolorach
WierszTypeSKUParentAttribute 1 nameAttribute 1 value(s)
Produkt nadrzędnyvariableACME-KTL—KolorCzerwony, Niebieski
Wariant 1variationACME-KTL-REDACME-KTLKolorCzerwony
Wariant 2variationACME-KTL-BLUACME-KTLKolorNiebieski

Dodawanie zdjęć produktów przez plik CSV

Kolumna Images przyjmuje jeden lub więcej adresów URL zdjęć oddzielonych przecinkami. Pierwszy adres staje się zdjęciem głównym, a pozostałe tworzą galerię produktu w podanej kolejności. Podczas importu WordPress pobiera każdy plik do biblioteki multimediów, więc każdy adres URL musi być w tym momencie publicznie dostępny — bez logowania, bez wygasającego linku do udostępnienia i bez przekierowania na stronę internetową zamiast do pliku.

Zdjęcia są zwykle najwolniejszą częścią importu: kilkaset produktów po pięć zdjęć to ponad tysiąc pobrań. Zmniejsz zdjęcia przed umieszczeniem ich na serwerze, używaj opisowych nazw plików (kettle-red-front.jpg, a nie IMG_0042.jpg) i dziel duże katalogi na mniejsze pliki.

Podstawowy importer nie potrafi ustawić tekstu alternatywnego zdjęć. Dodaj go później w bibliotece multimediów, przez REST API lub za pomocą rozszerzenia importu, które to obsługuje. Wariant ma jedno zdjęcie, więc w wierszu każdego wariantu podawaj co najwyżej jeden adres URL.

Masowe tworzenie produktów przez REST API WooCommerce

REST API to lepsza droga, gdy importy się powtarzają, gdy dane produktów już znajdują się w innym systemie albo gdy nikt nie powinien w ogóle obsługiwać pliku CSV. Jego punkt końcowy wsadowy dla produktów (POST /wp-json/wc/v3/products/batch) przyjmuje operacje tworzenia, aktualizacji i usuwania w jednym żądaniu.

Domyślnie żądanie wsadowe jest ograniczone do 100 obiektów łącznie w operacjach tworzenia, aktualizacji i usuwania. Ten sam limit dotyczy punktów końcowych wsadowych dla wariantów, kategorii, atrybutów i wartości atrybutów. Katalog liczący 1000 produktów wymaga więc co najmniej dziesięciu żądań, a po dodaniu wariantów — więcej.

  1. Utwórz klucz REST API z uprawnieniami odczytu i zapisu w WooCommerce → Ustawienia → Zaawansowane → REST API lub pozwól aplikacji zażądać go przez ekran autoryzacji WooCommerce.
  2. Najpierw utwórz kategorie, atrybuty globalne i wartości atrybutów oraz zapisz ich identyfikatory.
  3. Wysyłaj produkty proste i nadrzędne partiami do 100, z ustawionym statusem wersji roboczej (draft).
  4. Utwórz warianty każdego produktu zmiennego przez punkt końcowy wsadowy wariantów tego produktu.
  5. Sprawdź wynik dla każdej pozycji w odpowiedzi i ponów tylko te pozycje, które się nie powiodły.
  6. Wyrywkowo sprawdź próbkę wersji roboczych w panelu administracyjnym, a następnie opublikuj je.

Wybór wtyczki lub sposobu masowego importu produktów do WooCommerce

Jeśli podstawowy importer nie wystarcza, oceniaj wtyczkę lub rozszerzenie importu po tym, jak obsługuje Twoje dane, a nie po długości listy funkcji, i przed podjęciem decyzji przetestuj je na testowej kopii sklepu (staging) z prawdziwym plikiem dostawcy. Tabela porównuje cztery sposoby, a po niej znajdują się pytania, które warto zadać każdej wtyczce.

  • Formaty źródłowe: tylko CSV czy także XML, pliki arkuszy kalkulacyjnych i zdalne feedy pobierane z adresu URL.
  • Harmonogram: czy potrafi ponawiać import według harmonogramu, aby pobierać nowe ceny i stany magazynowe.
  • Mapowanie i transformacje: zmiana nazw kolumn, dzielenie wartości, przeliczanie jednostek i stosowanie reguł cenowych podczas importu.
  • Produkty zmienne: czy niezawodnie tworzy produkty nadrzędne, warianty i atrybuty globalne.
  • Zdjęcia: jak je pobiera, czy wykrywa duplikaty i czy ustawia tekst alternatywny.
  • Duże pliki: przetwarzanie w tle lub partiami, aby długie importy nie przekraczały limitu czasu.
  • Reguły aktualizacji: według jakiego klucza dopasowuje (ID, SKU lub GTIN) i które pola może nadpisywać.
Cztery sposoby masowego importu produktów do WooCommerce
SposóbNajlepszy doNa co uważać
Podstawowy importer CSVJednorazowe importy i aktualizacje zbiorcze wykonywane przez pracowników sklepuLimity przesyłania i czasu na serwerze; brak tekstu alternatywnego zdjęć
Wtyczka lub rozszerzenie importuCykliczne feedy dostawców, źródła XML lub arkusze kalkulacyjne, zaplanowane aktualizacjeJeszcze jedna wtyczka do utrzymania i dbania o zgodność
Żądania wsadowe REST APIZautomatyzowane procesy i synchronizacja z innego systemuCzas programisty; domyślnie 100 obiektów na żądanie wsadowe
Aplikacja, która tworzy produkty za CiebieDane produktów, które nie powstają w arkuszu kalkulacyjnym, takie jak dokumenty dostawcówSprawdź, jakie typy produktów i pola aplikacja faktycznie ustawia

Lista kontrolna przed importem i naprawa błędów

Większość nieudanych importów wynika z pominięcia któregoś kroku przygotowania. Przejdź przez listę kontrolną przed każdym dużym importem, a tabelę wykorzystaj do diagnozowania problemów, które mimo to się pojawią.

  1. Wykonaj kopię zapasową bazy danych lub uruchom import na testowej kopii sklepu (staging).
  2. Wyeksportuj jeden istniejący produkt i skopiuj jego wiersz nagłówkowy do swojego pliku.
  3. Utwórz kategorie, atrybuty globalne i wartości atrybutów, do których odwołuje się plik.
  4. Sprawdź, czy każdy SKU jest unikalny, a wartość Parent każdego wariantu odpowiada istniejącemu SKU produktu nadrzędnego.
  5. W kolumnach ceny, stanu magazynowego, masy i wymiarów używaj samych liczb.
  6. Otwórz próbkę adresów URL zdjęć w oknie prywatnym przeglądarki, aby potwierdzić, że ładują się bez logowania.
  7. Ustaw Published na -1, aby produkty trafiły jako wersje robocze.
  8. Zapisz plik jako CSV w kodowaniu UTF-8.
  9. Zaimportuj dziesięciowierszowy plik testowy, sprawdź wyniki, a następnie zaimportuj resztę partiami.
Problemy z importem w WooCommerce: przyczyna i rozwiązanie
ProblemPrawdopodobna przyczynaRozwiązanie
Produkty zduplikowane zamiast zaktualizowaneNie zaznaczono „Update existing products” albo ID i SKU nie zgadzają się ze sklepemZaznacz tę opcję; skopiuj ID lub SKU ze świeżego eksportu
Wiersze pominięte w imporcie aktualizującymBrak dopasowania po ID lub SKU (GTIN jest sprawdzany tylko wtedy, gdy oba są puste, od wersji 11.2)Dodaj SKU lub ID istniejącego produktu do każdego wiersza
Warianty zaimportowane jako osobne produktyType nie ustawiono na variation albo kolumna Parent jest pusta lub zawiera literówkęUżyj Type „variation” i dokładnego SKU produktu nadrzędnego
Brakujące zdjęciaAdres URL wymaga logowania, przekierowuje lub host blokuje pobieranieUmieść zdjęcia pod publicznymi, bezpośrednimi adresami URL i ponów import
Plik odrzucony przy przesyłaniuPlik większy niż maksymalny rozmiar przesyłania na serwerzePodziel plik albo poproś hosting o podniesienie limitu
Import zatrzymuje się w połowieOsiągnięto limit czasu lub pamięci serweraImportuj mniejsze pliki

Testowanie na produktach próbnych przed właściwym importem

Mały plik próbny wychwytuje błędy mapowania, zanim dotkną setek produktów. Zbuduj go na podstawie swojego prawdziwego szablonu, aby nagłówki były identyczne, i oznacz każdy produkt testowy w oczywisty sposób — prefiksem SKU „TEST-” i tagiem „test” — aby później łatwo je znaleźć i usunąć.

Uwzględnij każdy przypadek, który występuje w prawdziwym pliku, nie tylko najłatwiejszy. Zwykle wystarczy około dziesięciu wierszy:

  • Jeden produkt prosty z wypełnionymi wszystkimi kolumnami, których zamierzasz używać.
  • Jeden produkt zmienny z dwoma atrybutami i co najmniej trzema wariantami.
  • Jeden produkt z galerią kilku zdjęć i jeden bez zdjęć.
  • Jeden produkt w zagnieżdżonej kategorii, która jeszcze nie istnieje.
  • Jeden produkt ze znakami diakrytycznymi, cudzysłowami i przecinkiem w opisie.
  • Jeden wiersz, który aktualizuje istniejący produkt po SKU.
  • Sprawdź wyniki w panelu administracyjnym i na stronie sklepu — ceny, listy rozwijane wariantów, kolejność zdjęć i strony kategorii — a następnie usuń produkty testowe przed właściwym importem.

Najczęściej zadawane pytania

Czy WooCommerce ma wbudowany masowy import produktów?
Tak. WooCommerce zawiera importer produktów z CSV w menu Produkty → Wszystkie produkty → Importuj oraz odpowiadający mu eksporter. Do standardowych importów CSV nie jest potrzebna żadna wtyczka.
Ile produktów mogę zaimportować do WooCommerce naraz?
Importer nie ma ustalonego limitu produktów, ale praktyczne granice wyznaczają limity czasu i pamięci serwera na Twoim hostingu. Zwykłe obejście to podział dużych katalogów na partie po kilkaset wierszy.
Czy mogę zaktualizować istniejące produkty za pomocą importu CSV?
Tak. Włącz w importerze opcję „Update existing products”; wiersze są dopasowywane do istniejących produktów po ID lub SKU i aktualizowane są tylko kolumny, które uwzględnisz.
Czy mogę importować produkty do WooCommerce bezpośrednio z plików PDF?
Nie za pomocą podstawowego importera, który oczekuje CSV. Najpierw musisz wyodrębnić dane produktów z plików PDF — ręcznie lub za pomocą narzędzia do ekstrakcji — a następnie zaimportować je przez CSV lub utworzyć produkty przez REST API.
Jakich kolumn potrzebuje plik CSV produktów WooCommerce?
Podstawowy importer wymaga tylko kolumny Name. Aby katalog był użyteczny, uwzględnij co najmniej Type, SKU, Published, Regular price, Categories, Images i Description. Wyeksportuj jeden produkt ze swojego sklepu, aby poznać dokładne nazwy nagłówków oczekiwane przez Twoją wersję.
Jak zaimportować produkty zmienne z pliku CSV?
Dodaj jeden wiersz produktu nadrzędnego z Type „variable”, który wymienia wszystkie wartości atrybutów, a następnie po jednym wierszu na wariant z Type „variation”, SKU produktu nadrzędnego w kolumnie Parent, pojedynczą wartością atrybutu oraz własnym SKU i ceną.
Czy mogę importować zdjęcia produktów i tekst alternatywny za pomocą importera CSV?
Zdjęcia — tak: podaj publiczne adresy URL zdjęć w kolumnie Images, oddzielone przecinkami, ze zdjęciem głównym na początku. Tekstu alternatywnego — nie: podstawowy importer nie potrafi go ustawić, więc dodaj go później albo użyj REST API lub rozszerzenia.
Ile produktów mogę utworzyć w jednym żądaniu REST API WooCommerce?
Punkt końcowy wsadowy domyślnie przyjmuje do 100 obiektów na żądanie, licząc razem operacje tworzenia, aktualizacji i usuwania. Większe katalogi wysyła się jako serię żądań wsadowych.

Więcej poradników

Zamień pliki PDF od dostawców w sprawdzone dane produktów

Doc2Shelf wyodrębnia dane produktów z dokumentów dostawców i przygotowuje projekty ofert oraz dokumentów zgodności do Twojej weryfikacji.

Załóż darmowe konto