Otwiera się w nowej karcie
26 października, 2026

Import produktów z pliku CSV do WooCommerce. Jak przygotować arkusz bez błędów?

Import produktów z pliku CSV do WooCommerce - przygotowanie arkusza i przebieg importu w panelu sklepu

Ręczne dodawanie produktów jeden po drugim ma sens przy kilkunastu pozycjach. Przy kilkuset zajmuje całe dni i sprzyja pomyłkom. WooCommerce ma wbudowane narzędzie, które wczytuje cały asortyment z jednego pliku CSV, ale stawia arkuszowi konkretne wymagania. Jeden zły separator albo źle zapisana kolumna wystarczy, żeby import zakończył się listą pominiętych wierszy albo produktami bez cen i zdjęć.

Ta instrukcja jest przeznaczona dla właścicieli sklepów i osób, które samodzielnie opiekują się ofertą. Nie wymaga znajomości programowania. Wystarczy arkusz kalkulacyjny i dostęp do panelu sklepu z uprawnieniami administratora lub kierownika sklepu.

Po lekturze czytelnik będzie umiał zbudować arkusz zgodny z tym, czego oczekuje importer, zapisać go we właściwym formacie, przeprowadzić import, odczytać raport z jego wyniku i naprawić typowe błędy. Osobno opisuję aktualizację istniejących produktów, bo tam najłatwiej o szkody w gotowej ofercie.

Co potrafi wbudowany importer i gdzie się go uruchamia?

Importer jest częścią samego WooCommerce i nie wymaga instalowania dodatkowej wtyczki. Znajduje się w panelu WordPressa, w menu „Produkty”, na ekranie „Wszystkie produkty”. Obok przycisku dodawania nowego produktu widać tam dwa przyciski: „Importuj” i „Eksportuj”.

Narzędzie przyjmuje pliki CSV oraz TXT. Potrafi tworzyć nowe produkty i aktualizować istniejące. Obsługuje produkty proste, z wariantami, grupowe, zewnętrzne, a także wirtualne i do pobrania. Z jednego pliku wczytuje nazwy, opisy, ceny, stany magazynowe, kategorie, znaczniki, zdjęcia, atrybuty, wymiary i wagę.

Ma też ograniczenia, o których lepiej wiedzieć przed rozpoczęciem pracy. Według dokumentacji WooCommerce importer nie pozwala nadać nowemu produktowi wybranego identyfikatora, ponieważ sklep sam przydziela kolejny wolny numer. Nie ustawia również tekstu alternatywnego zdjęć. Dane pochodzące z innych wtyczek da się wczytać tylko jako zwykły tekst w polach dodatkowych, bez złożonych struktur.

Od czego zacząć arkusz, żeby nie zgadywać nazw kolumn?

Dokumentacja WooCommerce podaje trzy drogi: eksport produktów z własnego sklepu, pobranie przykładowego pliku udostępnionego przez twórców WooCommerce albo zbudowanie arkusza od zera według schematu kolumn. Radzę zawsze zaczynać od pierwszej, nawet jeśli w sklepie jest dopiero jeden produkt testowy. Plik z eksportu ma dokładnie te kolumny, ten zapis cen i ten układ, których importer oczekuje w danym sklepie.

Jeśli sklep jest pusty, wystarczy dodać ręcznie jeden produkt prosty z ceną, kategorią i zdjęciem, a przy ofercie z rozmiarami lub kolorami również jeden produkt z wariantami. Taki wzorzec pokazuje od razu, jak WooCommerce zapisuje każdą informację.

  1. W panelu należy przejść do „Produkty”, a następnie „Wszystkie produkty”.
  2. U góry ekranu należy kliknąć „Eksportuj”. Otworzy się ekran eksportu produktów do pliku CSV.
  3. W polu „Które kolumny powinny zostać wyeksportowane?” najlepiej pozostawić ustawienie „Eksportuj wszystkie kolumny”.
  4. W polach dotyczących typów produktów i kategorii można zostawić ustawienia domyślne, czyli wszystkie produkty i wszystkie kategorie.
  5. Jeśli produkty mają dane z innych wtyczek, należy zaznaczyć „Tak, eksportuj wszystkie niestandardowe dane”. Kolumny z takimi danymi dostaną w nagłówku przedrostek meta:.
  6. Kliknięcie „Wygeneruj plik CSV” powoduje pobranie pliku na dysk komputera.

Pobrany plik należy otworzyć w arkuszu kalkulacyjnym i potraktować jako szablon. Wiersz z nagłówkami zostaje bez zmian, a wiersze z produktami testowymi służą za wzór zapisu. Oryginał z eksportu trzeba zachować w osobnym miejscu, bo przyda się do porównania, gdy coś pójdzie niezgodnie z planem.

W sklepie z polskim panelem nagłówki w pliku z eksportu są po polsku, na przykład „Identyfikator”, „Rodzaj”, „Nazwa”, „Cena”. Importer rozpoznaje je sam. Rozpoznaje też angielskie nazwy ze schematu WooCommerce, takie jak Type, SKU, Name czy Regular price, dlatego w dalszej części podaję obie wersje. Niezależnie od języka nagłówków dopasowanie zawsze widać na ekranie mapowania i tam należy je skontrolować.

Fragment dokumentacji WooCommerce z listą zalecanych edytorów plików CSV oraz trzema sposobami przygotowania pliku z produktami
Lista zalecanych edytorów i trzy sposoby uzyskania pliku: eksport ze sklepu, plik przykładowy lub własny arkusz. Źródło: woocommerce.com

Dokumentacja wymienia jako zalecane edytory Arkusze Google, LibreOffice Calc, Apache OpenOffice Calc oraz Numbers na komputerach Apple. Zwraca też uwagę, że programy tego typu potrafią same zmienić formatowanie i kodowanie znaków, więc zapisany plik trzeba obejrzeć przed importem. Do zapisu wracam w osobnej części, ponieważ to on odpowiada za dużą część nieudanych importów.

Jakie kolumny powinien zawierać arkusz?

Arkusz nie musi mieć wszystkich kolumn ze schematu. Importer wczytuje tylko te, które znajdzie i które zostaną dopasowane do pól produktu. Dla nowego produktu prostego w praktyce wystarcza kilka kolumn, a resztę ustawień sklep uzupełnia wartościami domyślnymi.

Każdy wiersz arkusza to jeden produkt albo jeden wariant. Pierwszy wiersz zawiera wyłącznie nagłówki. Między wierszami nie może być pustych linii, scalonych komórek, wierszy z podsumowaniem ani dodatkowych tytułów nad tabelą.

  • Type („Rodzaj”) – typ produktu. Dozwolone wartości to simple, variable, grouped, external, variation, virtual i downloadable. Zwykły produkt bez wariantów to simple.
  • SKU – kod produktu nadawany przez sprzedawcę. Musi być niepowtarzalny w całym sklepie. To po nim importer rozpoznaje produkt przy późniejszych aktualizacjach.
  • Name („Nazwa”) – nazwa produktu widoczna w sklepie.
  • Published („Opublikowano”) – stan publikacji: 1 oznacza produkt opublikowany, 0 prywatny, -1 szkic.
  • Regular price („Cena”) i Sale price („Cena promocyjna”) – cena podstawowa i obniżona.
  • Short description („Krótki opis”) i Description („Opis”) – teksty produktu.
  • Categories („Kategorie”), Tags („Znaczniki”) i Images („Obrazki”) – przypisanie do kategorii, znaczniki oraz zdjęcia.
  • In stock? („W magazynie?”) i Stock („Stan magazynowy”) – dostępność oraz liczba sztuk.
  • Tax status („Status podatku”) i Tax class („Klasa podatkowa”) – sposób opodatkowania produktu.

Kolumna ID („Identyfikator”) wymaga osobnej uwagi. Przy dodawaniu nowych produktów powinna pozostać pusta albo zostać usunięta z arkusza. Wpisany w niej numer oznacza dla importera odwołanie do produktu, który już istnieje w sklepie. Numery skopiowane z innego sklepu lub z pliku dostawcy nie mają w nowym sklepie żadnego znaczenia i wywołują błędy.

Jak zapisywać wartości w komórkach, żeby importer je zrozumiał?

Większość nieudanych importów nie wynika z braku kolumn, tylko z wartości zapisanych inaczej, niż przewiduje schemat. Zasady są proste, ale trzeba ich przestrzegać w każdym wierszu.

Pola typu tak albo nie

Wszędzie tam, gdzie odpowiedź brzmi tak lub nie, wpisuje się 1 albo 0. Dotyczy to między innymi kolumn „W magazynie?”, „Wyróżniony produkt?”, „Sprzedawany pojedynczo?” oraz „Włącz opinie klientów?”. Słowa „tak”, „nie” ani znak „x” nie zostaną odczytane zgodnie z zamiarem.

Ceny, waga i wymiary

W kolumnach z cenami wpisuje się samą liczbę, bez symbolu waluty, bez słowa „zł” i bez spacji oddzielającej tysiące. Zapis części dziesiętnej powinien być taki sam jak w pliku z eksportu z tego samego sklepu, bo sklep odczytuje liczby zgodnie ze swoimi ustawieniami. To, czy cena jest traktowana jako kwota z podatkiem, czy bez podatku, wynika z ustawień podatków w sklepie, a nie z arkusza. Opisałem to w tekście o tym, jak ustawić stawki VAT i ceny brutto w WooCommerce.

Waga i wymiary to również same liczby. Jednostki nie wpisuje się do komórki, ponieważ sklep stosuje jednostkę ustawioną w swojej konfiguracji. Wpis „0,5 kg” jest błędem, poprawny jest sam zapis liczbowy.

Kilka wartości w jednej komórce

Kilka kategorii, znaczników, zdjęć lub wartości atrybutu oddziela się przecinkami w obrębie jednej komórki. W arkuszu kalkulacyjnym wpisuje się je po prostu jedna po drugiej, a program przy zapisie do CSV sam ujmie taką komórkę w cudzysłów. Gdy przecinek jest częścią nazwy jednej kategorii, dokumentacja każe poprzedzić go ukośnikiem wstecznym.

Daty, podatki i magazyn

Daty początku i końca promocji podaje się w zapisie rok-miesiąc-dzień, czyli w układzie RRRR-MM-DD, według czasu lokalnego sklepu. Arkusze chętnie zamieniają taki zapis na własny format daty, dlatego te kolumny warto przed wpisaniem ustawić jako zwykły tekst.

W kolumnie „Status podatku” dozwolone są trzy wartości: taxable dla produktu opodatkowanego, shipping dla opodatkowania samej wysyłki oraz none dla produktu bez podatku. W kolumnie „Klasa podatkowa” wpisuje się identyfikator klasy, która już istnieje w ustawieniach sklepu.

Liczba wpisana w kolumnie „Stan magazynowy” włącza zarządzanie zapasem dla danego produktu. Pusta komórka oznacza, że sklep nie liczy sztuk. Przy wariantach można wpisać parent, a wtedy wariant korzysta z ustawień produktu nadrzędnego. Kolumna zamówień oczekujących przyjmuje wartości 1, 0 albo notify.

Infografika z zestawieniem rodzajów danych w arkuszu CSV i sposobu ich zapisu wymaganego przez importer produktów WooCommerce
Najważniejsze zasady zapisu wartości w pliku CSV z produktami, zgodne ze schematem importu WooCommerce.

Kto woli nie zajmować się arkuszem samodzielnie, może zadzwonić pod numer 533 525 168 albo napisać na info@lukaszwudyka.pl. Przejmę wtedy sprawę: uporządkuję plik od dostawcy, dopasuję kolumny do sklepu, wykonam import próbny i wczytam całą ofertę.

Jak wpisać kategorie, zdjęcia, atrybuty i warianty?

Kategorie i ich poziomy

Kategorie wpisuje się nazwami, nie numerami. Podkategorię oznacza znak większości między nazwami, na przykład Kuchnia > Kubki. Produkt przypisany do dwóch kategorii dostaje obie ścieżki oddzielone przecinkiem. Kategoria, której nie ma jeszcze w sklepie, zostaje utworzona podczas importu.

Właśnie dlatego literówki są tu kosztowne. „Kubki”, „kubki ” ze spacją na końcu i „Kubek” to dla sklepu trzy różne kategorie. Przed importem należy posortować kolumnę kategorii i ujednolicić pisownię, a po imporcie przejrzeć listę kategorii w panelu.

Zdjęcia

W kolumnie zdjęć podaje się pełne adresy plików graficznych oddzielone przecinkami. Pierwszy adres staje się zdjęciem głównym, kolejne trafiają do galerii. Zdjęcia muszą być wcześniej wgrane do biblioteki mediów albo dostępne w sieci pod adresem, który otwiera się bez logowania. Jeśli plik znajduje się już w bibliotece mediów sklepu, dokumentacja dopuszcza podanie samej nazwy pliku.

Zdjęcia z zewnętrznych adresów sklep pobiera do własnej biblioteki. Zdarza się, że serwer dostawcy blokuje takie pobieranie, wymaga autoryzacji albo zwraca stronę zamiast obrazu. Produkt powstaje wtedy bez zdjęcia. Adres jednego zdjęcia warto przed importem otworzyć w oknie prywatnym przeglądarki. Jeśli obraz się nie wyświetla, sklep też go nie pobierze.

Atrybuty

Każdy atrybut zajmuje w arkuszu zestaw numerowanych kolumn: nazwa atrybutu, jego wartości, widoczność na stronie produktu oraz informacja, czy jest to atrybut globalny. W wersji angielskiej są to Attribute 1 name, Attribute 1 value(s), Attribute 1 visible i Attribute 1 global. Drugi atrybut dostaje kolumny z numerem 2 i tak dalej.

W kolumnie widoczności wpisuje się 1, jeśli atrybut ma być pokazany klientowi. W kolumnie atrybutu globalnego 1 oznacza atrybut zdefiniowany dla całego sklepu, a 0 atrybut przypisany tylko do tego produktu. Jeżeli nazwa zgadza się z istniejącym atrybutem globalnym, importer z niego korzysta. Od tego wyboru zależy późniejsze działanie filtrów, co wyjaśniam w tekście o tym, jak przygotować atrybuty produktów pod filtry.

Produkty z wariantami

Produkt z wariantami składa się w arkuszu z kilku wierszy. Pierwszy to produkt nadrzędny z typem variable, własnym kodem SKU i pełną listą wartości atrybutu, na przykład S, M, L. Pod nim znajdują się wiersze wariantów z typem variation. Każdy wariant ma własny, niepowtarzalny kod SKU, własną cenę i tylko jedną wartość atrybutu.

Wariant łączy się z produktem nadrzędnym przez kolumnę Parent („Nadrzędny”). Wpisuje się w niej kod SKU produktu nadrzędnego albo jego identyfikator poprzedzony przedrostkiem id:, na przykład id:123. Wiersz produktu nadrzędnego powinien znajdować się w pliku przed wierszami jego wariantów.

Type,SKU,Name,Published,Regular price,Parent,Attribute 1 name,Attribute 1 value(s),Attribute 1 visible,Attribute 1 global
variable,KOSZ-01,Koszulka bawełniana,1,,,Rozmiar,"S, M, L",1,0
variation,KOSZ-01-S,Koszulka bawełniana - S,1,79,KOSZ-01,Rozmiar,S,1,0
variation,KOSZ-01-M,Koszulka bawełniana - M,1,79,KOSZ-01,Rozmiar,M,1,0
variation,KOSZ-01-L,Koszulka bawełniana - L,1,85,KOSZ-01,Rozmiar,L,1,0

Nazwy i wartości atrybutów w wierszach wariantów muszą być zapisane identycznie jak w produkcie nadrzędnym. Różnica w wielkości liter albo dodatkowa spacja wystarczy, żeby wariant nie został utworzony. Samo działanie wariantów w panelu opisałem w tekście o tym, jak dodać rozmiary i kolory z osobnymi cenami.

Jak zapisać plik, żeby polskie znaki i kolumny się nie rozsypały?

Importer oczekuje pliku w kodowaniu UTF-8, w którym kolumny są rozdzielone przecinkami. Te dwa warunki odpowiadają za dwa najczęstsze objawy: polskie litery zamienione na nieczytelne znaki oraz wszystkie dane umieszczone w jednej kolumnie na ekranie mapowania.

Najmniej kłopotów sprawiają Arkusze Google. Po otwarciu menu „Plik”, pozycji „Pobierz” i wybraniu formatu wartości rozdzielanych przecinkami powstaje plik w kodowaniu UTF-8 z przecinkiem jako separatorem. W LibreOffice Calc przy zapisie do formatu CSV należy włączyć edycję ustawień filtra, a następnie wskazać zestaw znaków UTF-8 oraz przecinek jako separator pól.

Excel nie znajduje się na liście edytorów zalecanych w dokumentacji WooCommerce i z mojego doświadczenia wymaga największej uwagi. Przy zapisie trzeba wybrać typ pliku CSV z dopiskiem UTF-8. Przy polskich ustawieniach regionalnych systemu Excel zwykle rozdziela kolumny średnikiem, a nie przecinkiem. Taki plik nadal da się wczytać, pod warunkiem że na ekranie importu zostanie wpisany właściwy separator, co pokazuję w krokach poniżej.

Arkusze kalkulacyjne potrafią też bez ostrzeżenia zmienić dane. Kody kreskowe i długie numery bywają zamieniane na zapis wykładniczy, a kody zaczynające się od zera tracą to zero. Kolumny z kodami SKU, kodami kreskowymi i datami należy przed wklejeniem danych ustawić jako tekst. Przed zapisem trzeba również zamienić formuły na gotowe wartości.

Zapisany plik warto otworzyć w zwykłym edytorze tekstu, na przykład w Notatniku. Od razu widać wtedy, jaki znak rozdziela kolumny, czy polskie litery wyglądają poprawnie i czy na końcu nie ma pustych wierszy złożonych z samych separatorów.

Jak przeprowadzić import w panelu sklepu?

Przed pierwszym importem do działającego sklepu należy wykonać pełną kopię zapasową bazy danych i plików. Importu nie da się cofnąć jednym przyciskiem. Sposób wykonania i sprawdzenia kopii opisałem w tekście o tym, jak zrobić kopię zapasową WordPressa. Radzę też zacząć od pliku próbnego z kilkoma wierszami, najlepiej na kopii testowej sklepu.

  1. W panelu należy przejść do „Produkty”, „Wszystkie produkty” i kliknąć „Importuj”. Otworzy się ekran „Importuj produkty z pliku CSV” z czterema etapami: „Prześlij plik CSV”, „Mapowanie kolumn”, „Importuj” i „Gotowe!”.
  2. W polu „Wybierz plik CSV z dysku komputera:” należy wskazać przygotowany plik. Pod polem widać napis „Maksymalny rozmiar:” z limitem ustawionym na serwerze.
  3. Przy dodawaniu nowych produktów pole „Zaktualizuj istniejące produkty” pozostaje niezaznaczone.
  4. Jeśli plik jest rozdzielony średnikami albo ma inne kodowanie, należy kliknąć „Pokaż zaawansowane opcje”. W polu „Separator CSV” wpisuje się wtedy średnik, a w polu „Kodowanie znaków w pliku” można zostawić „Wykryj automatycznie” lub wskazać właściwe kodowanie.
  5. Kliknięcie „Kontynuuj” otwiera ekran „Mapuj pola pliku CSV na pola produktu”. W kolumnie „Nazwa kolumny” widać nagłówki z arkusza wraz z przykładową wartością, a w kolumnie „Mapuj do pola” listy rozwijane z polami produktu.
  6. Każdy wiersz mapowania należy przejrzeć. Kolumnę, która nie powinna trafić do sklepu, ustawia się na „Nie importuj”. Kolumnę z danymi dodatkowymi można ustawić na „Importuj jako dane meta”.
  7. Kliknięcie „Uruchom importer” rozpoczyna wczytywanie. Do zakończenia nie wolno odświeżać strony ani jej zamykać.
  8. Po zakończeniu pojawia się komunikat „Import został zakończony!” z liczbą produktów zaimportowanych, zaktualizowanych, pominiętych i nieudanych.
Infografika z czterema etapami importu produktów w WooCommerce: przesłanie pliku CSV, mapowanie kolumn, importowanie i podsumowanie
Kolejne ekrany importera produktów w WooCommerce i czynności, które należy wykonać na każdym z nich.

Ekran mapowania jest najlepszym miejscem na wychwycenie błędów w pliku. Jeżeli widać na nim jeden wiersz z długim ciągiem nazw oddzielonych średnikami, plik ma inny separator niż wpisany w opcjach. Jeżeli w przykładowych wartościach polskie litery są zniekształcone, problem leży w kodowaniu. W obu sytuacjach należy wrócić do pierwszego etapu, a nie uruchamiać importu.

Jak zaktualizować istniejące produkty z pliku?

Ten sam importer służy do zbiorczej zmiany cen, stanów magazynowych czy opisów. Różnica polega na jednym polu wyboru i na tym, że plik musi wskazywać, których produktów dotyczy. Importer dopasowuje wiersze po identyfikatorze albo po kodzie SKU.

Przy aktualizacji zalecam plik zawężony do niezbędnego minimum: kolumna z kodem SKU lub identyfikatorem oraz wyłącznie te kolumny, które mają się zmienić. Im mniej kolumn w pliku, tym mniejsze ryzyko nadpisania poprawnych danych wartościami nieaktualnymi lub pustymi.

  1. Należy wyeksportować aktualną listę produktów i zachować ten plik jako punkt odniesienia.
  2. W kopii pliku zostawia się kolumnę z kodem SKU lub identyfikatorem oraz kolumny przeznaczone do zmiany, a pozostałe należy usunąć.
  3. Po wprowadzeniu nowych wartości plik zapisuje się według zasad opisanych wcześniej.
  4. Na ekranie importu należy wskazać plik i zaznaczyć pole „Zaktualizuj istniejące produkty”.
  5. Na ekranie mapowania należy upewnić się, że kolumna identyfikująca produkt jest dopasowana do pola „SKU” albo „Identyfikator”.
  6. Po kliknięciu „Uruchom importer” trzeba poczekać na raport i porównać liczbę zaktualizowanych produktów z liczbą wierszy w pliku.

Zaznaczenie pola aktualizacji zmienia sposób traktowania wierszy bez pary w sklepie. Zgodnie z opisem przy tym polu produkty dopasowane po identyfikatorze lub SKU zostają zaktualizowane, a pozostałe, których w sklepie nie ma, zostają pominięte. Dokumentacja dodaje, że w nowszych wersjach WooCommerce w tym trybie mogą powstawać nowe warianty istniejących produktów z wariantami. Nowych produktów i zmian w istniejących lepiej więc nie łączyć w jednym pliku.

Dokumentacja opisuje jeszcze jedną zależność: jeśli w wierszu podano identyfikator lub SKU, ma on pierwszeństwo nawet wtedy, gdy do niczego nie pasuje. Gdy typ produktu w pliku różni się od typu dopasowanego produktu w sklepie, wiersz kończy się błędem. Pusta komórka w kolumnie typu wyłącza to porównanie.

Po czym poznać, że import się udał, i co zrobić, gdy coś poszło źle?

Sam komunikat o zakończeniu importu nie oznacza jeszcze, że wszystko jest w porządku. Liczy się podsumowanie pod nim. Jeżeli pojawia się w nim liczba produktów pominiętych lub nieudanych, należy kliknąć „Wyświetl log importu”. Otworzy się tabela z nazwą lub kodem produktu oraz kolumną „Przyczyna niepowodzenia”.

Po udanym imporcie warto kliknąć „Zobacz produkty” i obejrzeć kilka pozycji od strony klienta: cenę, zdjęcia, kategorię, dostępność oraz wybór wariantów. Przy produktach z wariantami trzeba też wejść w edycję produktu i przejrzeć kartę „Warianty”. Dobrą praktyką jest próbne dodanie produktu do koszyka.

Najczęstsze przyczyny w logu importu

  • „Produkt z tym SKU już istnieje.” albo „Produkt o tym identyfikatorze już istnieje.” – w sklepie jest już taki produkt, a pole aktualizacji nie zostało zaznaczone. Jeśli celem była aktualizacja, import należy powtórzyć z zaznaczonym polem. Jeśli miał to być nowy produkt, trzeba nadać mu inny kod SKU i opróżnić kolumnę identyfikatora.
  • „Brak istniejących produktów do aktualizacji.” – w trybie aktualizacji wiersz wskazuje kod SKU lub identyfikator, którego nie ma w sklepie. Zwykle winna jest literówka w kodzie, zgubione zero na początku albo dodatkowa spacja.
  • „Nieprawidłowy typ produktu.” – w kolumnie typu znajduje się wartość spoza dozwolonej listy, na przykład polskie słowo zamiast simple lub variable.
  • Komunikat o braku produktu nadrzędnego przy wariancie – kolumna „Nadrzędny” wskazuje kod, którego nie ma, albo produkt nadrzędny znajduje się w pliku poniżej swoich wariantów.
  • Komunikat o tym, że wartość nie jest opcją atrybutu produktu nadrzędnego – wartość atrybutu w wierszu wariantu została zapisana inaczej niż na liście wartości w produkcie nadrzędnym.

Gdy plik nie daje się wczytać albo import się zatrzymuje

Komunikat „Nieprawidłowy typ pliku. Importer obsługuje formaty plików CSV i TXT.” oznacza najczęściej, że wskazano plik arkusza, a nie plik CSV. Należy zapisać go ponownie we właściwym formacie. Komunikat „Plik jest pusty lub nie używa kodowania znaków UTF-8, spróbuj ponownie z innym plikiem.” wymaga ponownego zapisu w kodowaniu UTF-8 albo wskazania kodowania w opcjach zaawansowanych.

WordPress potrafi też odrzucić plik z informacją, że ten typ pliku nie jest dozwolony ze względów bezpieczeństwa. Według dokumentacji zdarza się to między innymi wtedy, gdy plik CSV zawiera kod HTML, na przykład w opisach produktów. Zalecane obejście polega na wgraniu pliku do katalogu z przesłanymi plikami na serwerze przez SFTP lub menedżer plików w panelu hostingu. Następnie w opcjach zaawansowanych, w polu „Lub wprowadź ścieżkę do pliku CSV na swoim serwerze:”, podaje się ścieżkę do tego pliku. Jeśli i to zawodzi, sprawę trzeba zgłosić firmie hostingowej.

Import, który zatrzymuje się w połowie albo kończy błędem serwera, zwykle oznacza plik zbyt duży na możliwości hostingu. Dokumentacja nie podaje sztywnej liczby produktów, bo granicę wyznaczają pamięć serwera, limit wielkości przesyłanych plików i dopuszczalny czas pracy skryptu. Rozwiązaniem jest podział pliku na mniejsze części, każda z wierszem nagłówków. Produkt nadrzędny i jego warianty muszą przy tym pozostać w tej samej części.

Jak usunąć skutki nieudanego importu?

Jeżeli import utworzył produkty z błędami, najbezpieczniej poprawić arkusz i wczytać go ponownie w trybie aktualizacji, dopasowując produkty po kodzie SKU. Gdy błędnych produktów jest dużo i mają zostać usunięte, na liście produktów można je odfiltrować, zaznaczyć i przenieść do kosza działaniem zbiorczym. Przy poważniejszych szkodach w istniejącej ofercie pozostaje przywrócenie kopii zapasowej wykonanej przed importem.

Jakich błędów unikać przy przygotowaniu arkusza?

Większość kłopotów powtarza się w niemal każdym sklepie. Poniższą listę warto przejść przed kliknięciem przycisku importu, zwłaszcza gdy plik pochodzi od dostawcy lub z innej platformy sprzedażowej.

  • Import pełnego pliku bez próby. Kilka wierszy testowych z każdym typem produktu pozwala wykryć błąd, zanim powieli się w setkach pozycji.
  • Brak kopii zapasowej przed aktualizacją cen lub stanów w działającym sklepie.
  • Puste albo powtarzające się kody SKU. Bez niepowtarzalnego kodu późniejsza aktualizacja z pliku staje się zawodna.
  • Identyfikatory przeniesione z innego sklepu w kolumnie „Identyfikator” przy tworzeniu nowych produktów.
  • Symbole walut, jednostki i odstępy w komórkach z liczbami.
  • Różna pisownia tej samej kategorii lub tej samej wartości atrybutu, w tym spacje na końcu komórki.
  • Formuły, scalone komórki, ukryte kolumny i puste wiersze pozostawione w arkuszu.

Najczęstsze pytania

Czy plik CSV musi zawierać wszystkie kolumny ze schematu WooCommerce?

Nie. Importer wczytuje tylko kolumny obecne w pliku i dopasowane na ekranie mapowania. Dla nowego produktu prostego wystarczają w praktyce typ, kod SKU, nazwa, stan publikacji, cena i kategoria, a brakujące ustawienia przyjmują wartości domyślne sklepu.

Ile produktów można wczytać za jednym razem?

Dokumentacja WooCommerce nie podaje stałego limitu liczby produktów. Granicę wyznacza serwer: jego pamięć, czas pracy skryptu oraz limit wielkości pliku widoczny na ekranie importu przy napisie „Maksymalny rozmiar:”. Przy dużych katalogach bezpieczniej jest dzielić plik na części i wczytywać je kolejno.

Dlaczego po imporcie polskie litery wyglądają niepoprawnie?

Plik został zapisany w innym kodowaniu niż UTF-8. Należy zapisać go ponownie we właściwym kodowaniu albo w zaawansowanych opcjach importu wskazać w polu „Kodowanie znaków w pliku” kodowanie, w którym plik faktycznie powstał. Produkty wczytane z błędnymi znakami poprawia się ponownym importem w trybie aktualizacji.

Dlaczego na ekranie mapowania widać tylko jedną kolumnę?

Importer domyślnie oczekuje przecinka jako separatora, a plik jest rozdzielony innym znakiem, najczęściej średnikiem. Należy wrócić do pierwszego etapu, rozwinąć zaawansowane opcje i w polu „Separator CSV” wpisać znak użyty w pliku.

Czy ponowny import tego samego pliku utworzy duplikaty?

Jeżeli produkty mają kody SKU, importer bez zaznaczonego pola aktualizacji pominie wiersze, których kod już istnieje w sklepie, i pokaże je w logu. Ryzyko duplikatów dotyczy plików bez kodów SKU, dlatego każdy produkt i każdy wariant powinien mieć własny kod.

Czy importer pobierze zdjęcia z serwera dostawcy?

Tak, pod warunkiem że adresy zdjęć są dostępne publicznie i serwer dostawcy nie blokuje pobierania. W przeciwnym razie produkt zostanie utworzony bez zdjęcia. Bezpieczniejszą drogą jest wcześniejsze wgranie zdjęć do biblioteki mediów sklepu i wpisanie w arkuszu ich adresów lub nazw plików.

Czy z pliku można zmienić same ceny, nie ruszając reszty danych?

Tak. Plik powinien wtedy zawierać tylko kolumnę z kodem SKU lub identyfikatorem oraz kolumny z cenami, a na ekranie importu trzeba zaznaczyć pole „Zaktualizuj istniejące produkty”. Kolumny, których nie ma w pliku albo które ustawiono na „Nie importuj”, pozostają w sklepie bez zmian.

Brak czasu albo ochoty, żeby zająć się tym samodzielnie?

Przygotowanie arkusza bywa żmudne, zwłaszcza gdy plik od dostawcy ma inne nazwy kolumn, mieszane zapisy cen i kilkaset wariantów. Chętnie przejmę to zadanie od początku do końca. Uporządkuję dane, ułożę kategorie i atrybuty, przygotuję zdjęcia, wykonam import próbny na kopii sklepu, wczytam całą ofertę i sprawdzę, czy produkty wyświetlają się oraz sprzedają tak, jak powinny.

Wystarczy zadzwonić pod numer 533 525 168 albo napisać na adres info@lukaszwudyka.pl i przesłać plik, którym sklep dysponuje. Po jego obejrzeniu powiem wprost, ile pracy wymaga i w jakiej kolejności najlepiej ją wykonać.

Rozpocznij dyskusję

Komentować mogą zalogowani czytelnicy. Za każdy komentarz zbliżasz się do kolejnej rangi.

Nie mam konta

Wystarczy nick i e-mail. Hasło ustawisz po kliknięciu w link z maila.

NowicjuszObserwatorKomentatorDyskutantBywaleci jeszcze 5 wyżej
Załóż konto
Lukasz Wudyka
Łukasz Wudyka
Właściciel firmy Pozycjonowanie Stron, prezes Fundacji Usuwanie Hejtu

Pisze o tym, co robi na co dzień: o widoczności firm w Google, o stronach, które sprzedają, i o ochronie dobrego imienia w sieci.

Udostępnij wpis
Komentarz dla mediów?
533 525 168
Zamów usługi
222 500 844
Zadzwoń do fundacji
222 900 142

Podobne wpisy

Import produktów z pliku CSV do WooCommerce - przygotowanie arkusza i przebieg importu w panelu sklepu
26 października, 2026
20 min

Import produktów z pliku CSV do WooCommerce. Jak przygotować arkusz bez błędów?

Jak zbudować arkusz, który importer WooCommerce wczyta bez pominiętych wierszy: potrzebne kolumny, zapis wartości, warianty, zapis pliku CSV, kolejne ekrany importu oraz…

Czytaj
Kilka domen firmy przekierowanych na jeden adres główny strony internetowej
26 października, 2026
20 min

Kilka domen firmy. Jak przekierować wszystkie na jeden adres główny?

Firma ma kilka domen, a każda zachowuje się inaczej? Opisuję, jak wybrać adres główny, ustawić przekierowania trwałe ze wszystkich pozostałych domen, nie…

Czytaj
Błąd odpowiedzi JSON w edytorze WordPressa: jak ustalić przyczynę i przywrócić zapis wpisów
26 października, 2026
20 min

„Odpowiedź nie jest prawidłową odpowiedzią JSON”. Jak naprawić zapis w edytorze?

Komunikat o nieprawidłowej odpowiedzi JSON blokuje zapis wpisów i wgrywanie obrazków w edytorze WordPressa. Instrukcja pokazuje, jak zabezpieczyć treść, sprawdzić odpowiedź serwera…

Czytaj
Wymagane pola: 0 z 5

    1Dane kontaktowe
    2Czego dotyczy sprawa?
    3Opis sprawy
    Dodaj do opisu:
    Bez zobowiązańDane tylko do odpowiedzi

    Wiadomość dotarła

    Dziękujemy. Odpowiemy najszybciej, jak to możliwe. W pilnej sprawie prosimy dzwonić: 222 500 844.

    Wymagane pola: 0 z 5

      1Dane kontaktowe
      2Czego dotyczy sprawa?
      3Opis sprawy
      Dodaj do opisu:
      Bez zobowiązańDane tylko do odpowiedzi

      Wiadomość dotarła

      Dziękujemy. Odpowiemy najszybciej, jak to możliwe. W pilnej sprawie prosimy dzwonić: 533 525 168.

      Otrzymuj nasze komentarze

      Podaj adres e-mail redakcji, a każdy nowy komentarz wyślemy na skrzynkę w chwili publikacji. Nie musisz sprawdzać strony.