Import produktów do WooCommerce przez CSV lub API bez duplikatów

Bezpieczny import produktów WooCommerce przez CSV lub API: mapowanie, SKU, warianty, obrazy, walidacja, partie, ponawianie i rollback.

Import produktów do WooCommerce przez CSV lub API bez duplikatów
Krótka odpowiedź

Produkty należy parować według stabilnego SKU lub zewnętrznego ID, określić źródło prawdy dla każdego pola, a import najpierw uruchomić w trybie podglądu na małej próbce. Nieprawidłowe wiersze należy wydzielić do raportu, partie przetwarzać idempotentnie, a przed aktualizacją produkcyjną wykonać kopię zapasową bazy danych i plików multimedialnych.

Import produktów do WooCommerce pozwala wypełnić lub zaktualizować katalog szybciej niż ręczna redakcja, ale jedno błędne mapowanie może nadpisać ceny, utworzyć zduplikowane atrybuty lub odłączyć warianty. CSV odzwierciedla stan wsadowy, API może przesyłać zmiany na bieżąco. W obu przypadkach najważniejsza jest stabilna tożsamość rekordu i precyzyjna reguła określająca, którymi polami zarządza źródło.

Bezpieczny import to powtarzalny proces z walidacją, podglądem zmian, partiami, raportem błędów i możliwością wycofania. Pierwsza próba powinna odbyć się na środowisku staging i na małej reprezentatywnej próbce, a nie na całym katalogu produkcyjnym. Obrazy, taksonomie i warianty wymagają osobnego mapowania, ponieważ tekstowa zgodność nazwy nie wystarcza do jednoznacznego powiązania.

Wybierz CSV, API lub ich kombinację

CSV sprawdza się przy jednorazowej migracji, kontrolowanej partii danych lub eksporcie od dostawcy wykonywanym z mniejszą częstotliwością. Można go ręcznie sprawdzić i zarchiwizować, ale sam w sobie nie rozwiązuje konfliktów zmian. API zapewnia bieżącą wymianę danych i odpowiedzi ze statusem, ale wymaga uwierzytelniania, limitów, kolejki, monitoringu i wersjonowania kontraktu. Wybór zależy od wymaganej aktualności danych i sposobu eksploatacji.

Często sprawdza się połączenie obu podejść: zdarzenia aktualizują cenę i stan magazynowy, a regularny pełny eksport wykrywa rozbieżności. Proszę określić, co się stanie w razie awarii źródła i jaki wiek danych jest akceptowalny. Ręczny upload nie może konkurować z automatyczną synchronizacją o to samo pole bez reguły pierwszeństwa.

Utwórz mapę danych i stabilną tożsamość

Każdej kolumnie lub polu API przypisz cel, typ, obowiązkowość, format, jednostkę, słownik i źródło prawdy. Odróżnij pustą wartość od polecenia usunięcia. SKU lub zewnętrzny identyfikator musi pozostać stabilny również po zmianie nazwy. Duplikat identyfikatora należy zatrzymać przed zapisem, a nie po utworzeniu dwóch produktów.

Warianty potrzebują ID rodzica i własnego SKU wariantu. Atrybuty mapujcie na istniejące globalne termy za pomocą stabilnego sluga lub tabeli synonimów, aby import nie tworzył `żółty`, `Zolty` i `yellow`. Kategorie mają własną mapę kodu źródłowego na docelową taksonomię. Nie używajcie wolnego tekstu do wyprowadzania krytycznej klasyfikacji bez kontroli.

  • Stabilny SKU lub zewnętrzne ID
  • Jednoznaczne znaczenie pustej wartości
  • Rodzic i tożsamość wariantu
  • Mapowanie taksonomii i jednostek

Zwalidujcie plik i wyświetlcie podgląd zmian

Przed importem proszę sprawdzić kodowanie, separator, nagłówki, liczbę kolumn, typy danych, wartości wymagane i unikalność. W przypadku ceny należy walidować format dziesiętny i walutę zgodnie z procesem, a w przypadku stanu magazynowego liczbę całkowitą lub obsługiwaną wartość. Nieprawidłowy wiersz powinien otrzymać numer, pole i zrozumiały komunikat błędu bez zatrzymywania wierszy, które są bezpiecznie niezależne.

Dry run pokazuje liczbę nowych, zaktualizowanych, niezmienionych, dezaktywowanych i błędnych produktów oraz próbkę różnic w poszczególnych polach. Dzięki temu nieoczekiwane masowe usunięcie zdjęć lub cen można zatrzymać przed zapisem. Osoba zatwierdzająca potwierdza zakres, a zapisany plik wejściowy z sumą kontrolną (checksum) pozwala później wyjaśnić, co zostało zaimportowane.

Przetwarzajcie partie idempotentnie i bezpiecznie

Duży import podziel na partie z punktem kontrolnym i limitem czasu. Tę samą partię można po przerwaniu powtórzyć bez tworzenia duplikatów czy drugiego obrazu. Każdy rekord zapisuj w miarę możliwości transakcyjnie i ewidencjonuj wynik. Zewnętrzne obrazy pobieraj z timeoutem, dozwolonym typem i rozmiarem oraz sprawdzeniem, czy URL nie prowadzi do sieci wewnętrznej.

Podczas importu proszę uwzględnić cache, indeks wyszukiwania, przeliczenia i webhooki. Nie należy uruchamiać kosztownej akcji następczej dla każdego pola, jeśli można ją bezpiecznie wykonać po zakończeniu partii. Warto ograniczyć współbieżność, aby import nie blokował checkoutu. Proces produkcyjny ma monitoring szybkości, błędów i wieku kolejki oraz możliwość wstrzymania bez utraty stanu.

  • Partie z punktem kontrolnym
  • Bezpieczne powtarzanie tych samych danych wejściowych
  • Limit i walidacja zewnętrznych mediów
  • Kontrolowane przeliczenia następcze

Przygotuj rollback i późniejszą kontrolę

Przed masową zmianą utwórzcie możliwą do odtworzenia kopię zapasową bazy danych, a w zależności od importu także przesłanych plików. Rollback może przywrócić cały punkt lub wykorzystać dziennik starych wartości, ale musi zostać wcześniej przetestowany. Przy aktywnych zamówieniach pełne przywrócenie bazy danych może spowodować utratę nowych transakcji, dlatego zaplanujcie czas i oddzielenie zmian w katalogu.

Po imporcie porównaj liczby rekordów, losową i ryzykowną próbkę, ceny, stany magazynowe, warianty, kategorie, obrazy i adresy URL produktów. Sprawdź wyszukiwanie, filtry, koszyk i eksport zamówienia. Błędne wiersze popraw w źródle i uruchom import ponownie, a nie ręcznie edytuj dane docelowe, które kolejna partia nadpisze. Raport i mapowanie zachowaj jako dokumentację operacyjną.

Najczęstsze pytania

Jak importować produkty bez tworzenia duplikatów?

Proszę używać unikalnego, stabilnego SKU lub zewnętrznego ID i dla każdego wiersza wykonywać upsert według tego klucza. Zduplikowane lub brakujące identyfikatory należy odrzucić przed zapisem. Nazwa produktu nie jest wiarygodnym identyfikatorem.

Czy mogę importować obrazy z zewnętrznych adresów URL?

Tak, ale z timeoutem, limitem rozmiaru, kontrolą typu i ochroną przed dostępem do sieci wewnętrznej. Należy ewidencjonować pochodzenie i prawa. Ponowny import nie powinien bez potrzeby ponownie zapisywać tego samego pliku.

Co oznacza dry run importu?

To podgląd bez zapisu, który waliduje dane wejściowe i pokazuje planowane nowe, zmienione, niezmienione i błędne rekordy. Pozwala wykryć nieprawidłowe mapowanie lub masowe nadpisanie, zanim wpłynie ono na katalog.

Źródła i dalsza lektura

Adam Antoni, programista rozwiązań cyfrowych
Adam Antoni · Webiant

Adam Antoni vyvíja weby, aplikácie a softvér na mieru. Prepája firemné systémy, automatizuje procesy a vytvára AI agentov. Pôsobí v Spišskej Novej Vsi a spolupracuje s firmami na celom Slovensku.

Potrzebujesz rozwiązać ten temat w swoim projekcie?

Proszę napisać, co chcą Państwo poprawić, z czym obecnie się zmagają i jakiego rezultatu oczekują. Podczas wstępnej konsultacji omówimy odpowiedni zakres i dalsze kroki.

Proszę wybrać, na które pliki cookie Państwo zezwalają. Wybór można w każdej chwili zmienić za pomocą linku w stopce lub przycisku cookies.

Ochrona prywatności i szczegóły dotyczące plików cookie