Dostawca wycofał kolekcję, import pozostawił niepotrzebne pozycje albo po sezonie trzeba uporządkować kilka tysięcy produktów. Lista jest gotowa, ale ręczne zaznaczanie kolejnych stron w panelu zabiera czas. Przy dużym katalogu liczy się także sposób wykonania operacji: długi przebieg musi zachować postęp i pozwolić sprawdzić, co faktycznie zostało zmienione.

Masowe usuwanie produktów w PrestaShop z CSV pozwala przetworzyć wskazaną listę identyfikatorów bez otwierania każdej karty produktu. Moduł Kasowanie produktów Pro może wyłączać produkty, usuwać je lub kasować same kombinacje. Pracę dzieli na krótkie kroki AJAX, zapisuje kolejkę w bazie i pokazuje postęp. Obsługuje też listę wklejoną do formularza oraz wybór produktów według warunków.

Tysiące produktów do usunięcia — dlaczego AJAX ma znaczenie?

Przetwarzanie partiami pozwala rozłożyć długą operację na wiele osobnych żądań do serwera. Przeglądarka zleca krok, odbiera wynik i dopiero wtedy uruchamia następny. Cały przebieg może trwać dłużej niż limit czasu pojedynczego żądania PHP, ponieważ kolejne kroki pracują nad pozostałą częścią zapisanej kolejki.

W Kasowaniu produktów Pro krok ma domyślnie zaplanowany budżet 8 sekund. Można go ustawić w zakresie 2–30 sekund, a moduł uwzględnia limit PHP zgłaszany przez serwer. Liczba produktów obsłużonych w kroku zależy od czasu ich przetwarzania. Usunięcie produktu z wieloma kombinacjami, zdjęciami i powiązaniami może potrwać dłużej niż wyłączenie prostej pozycji.

To rozwiązanie do dużych list: obecna wersja przyjmuje do 200 000 identyfikatorów w jednym przebiegu. Większy zestaw trzeba podzielić na kilka przebiegów. Limit dotyczy listy wejściowej; jeden nieunikalny indeks może pasować do kilku produktów. AJAX rozwiązuje problem wykonania całej listy w jednym długim żądaniu, ale nie usuwa ograniczeń pamięci, bazy danych ani wydajności hostingu. Dlatego nie ma jednej rzetelnej odpowiedzi na pytanie, ile potrwa skasowanie 50 000 produktów w każdym sklepie.

Podczas pracy widać liczbę przetworzonych wierszy, tempo i szacowany czas pozostały. Przebieg można wstrzymać i wznowić. Po zamknięciu karty przeglądarka przestaje zlecać kolejne kroki, ale zapisana kolejka i postęp pozostają dostępne po powrocie do modułu.

Wyłączyć produkt, usunąć go czy skasować tylko warianty?

Najpierw wybierz, co ma stać się z pozycjami z listy. Te trzy działania mają różne skutki:

Działanie Skutek i zastosowanie
Wyłącz produkty Produkt pozostaje w katalogu, ale zostaje oznaczony jako nieaktywny. Możesz go później ponownie włączyć. To przydatne, gdy chcesz zachować dane do dalszej decyzji.
Usuń produkty Trwale usuwa produkty w wybranym zakresie. Pełne usunięcie korzysta z mechanizmu PrestaShop i obejmuje powiązane dane, w tym zdjęcia oraz kombinacje. Moduł nie ma funkcji cofania tej operacji.
Usuń tylko kombinacje Usuwa dopasowane warianty, pozostawiając produkty nadrzędne. Wymaga sprawdzenia, jak identyfikator z listy wskazuje kombinacje.

W multistore sprawdź również zasięg. Usunięcie produktu tylko z wybranego sklepu może oznaczać odpięcie go od tego sklepu, z zachowaniem w pozostałych. Operacja obejmująca wszystkie sklepy ma szersze skutki. Wybrany sklep służy też do wyszukiwania pozycji z listy — sam zasięg „wszystkie sklepy” nie oznacza wyszukania każdego identyfikatora w całej instalacji.

Jak przygotować CSV do masowego usuwania produktów?

Najprostszy plik zawiera jedną kolumnę z identyfikatorami produktów z tej samej instalacji PrestaShop:

id_product
101
102
103

Dla takiego pliku wybierz identyfikator id_product, kolumnę 0 oraz zaznacz, że pierwszy wiersz jest nagłówkiem. Numeracja kolumn zaczyna się od zera. Jeżeli eksport zawiera więcej kolumn, wskaż tę właściwą; pozostałe dane nie określają działania, które moduł ma wykonać.

Produkty można dopasowywać również po indeksie, EAN-13 lub UPC. MPN i ISBN są dostępne wtedy, gdy odpowiednie pola istnieją w danym sklepie. Przy kodach z zerami na początku zachowaj format tekstowy w arkuszu. Nie zakładaj też, że indeks dostawcy jest automatycznie tym samym polem co indeks produktu w PrestaShop.

Powtórzenie kodu w pliku i kod pasujący do kilku produktów to dwa różne przypadki. Dla powtórzeń można włączyć przetwarzanie identyfikatora tylko raz. Dla niejednoznacznego dopasowania wybierasz politykę: pominięcie i raport, wszystkie trafienia albo pierwsze trafienie. Przy usuwaniu najpierw wyjaśnij, skąd bierze się niejednoznaczność.

Moduł przyjmuje pliki CSV lub TXT do 20 MB, przy czym ustawienia przesyłania plików na serwerze mogą narzucać niższy limit. Krótką listę możesz też wkleić do formularza, bez przygotowywania pliku.

Nie masz CSV? Zbuduj listę według warunków

Zakładka wyboru produktów pozwala przygotować kolejkę bez eksportu. Dostępne są m.in. kryteria braku stanu, braku sprzedaży, wyłączenia produktu, braku zdjęcia, ceny bazowej równej zero, marki, dostawcy, kategorii, wartości cechy i wzorca indeksu.

Zaznaczone warunki łączą się przez AND: produkt musi spełnić je wszystkie. Możesz więc szukać wyłączonych produktów konkretnej marki, które nie wystąpiły w zamówieniach w wybranym okresie. Przycisk „Policz” pokaże liczbę trafień przed uruchomieniem przebiegu.

Warto rozumieć dwa szczegóły. Kryterium braku sprzedaży sprawdza wystąpienia w zamówieniach, także anulowanych i nieopłaconych. Z kolei liczba dni przy braku stanu lub wyłączeniu odnosi się do ostatniej zmiany danych produktu. Nie jest pomiarem czasu od wyczerpania zapasu ani od przełączenia statusu. Taki wybór tworzy listę kandydatów do porządków, a nie dowód, że każdy z nich powinien zostać usunięty.

Co zrobić z adresami produktów po usunięciu?

Zanim skasujesz katalog, ustal los jego adresów URL. Chwilowy brak towaru nie musi oznaczać konieczności wyłączenia lub usunięcia strony. Google wskazuje, że pozostawienie dostępnej karty z informacją o braku towaru pozwala nadal znaleźć informacje o produkcie. Zobacz wyjaśnienie Google dotyczące czasowej niedostępności oferty.

Przy trwałym wycofaniu produktu rozważ dwa przypadki:

  • Istnieje rzeczywisty zamiennik lub nowy adres tej samej treści. Przygotuj przekierowanie 301 na odpowiednią stronę.
  • Produktu nie ma i nie istnieje odpowiednia strona zastępcza. Poprawna odpowiedź 404 lub 410 informuje, że ten adres nie powinien być indeksowany.

Takie postępowanie opisuje dokumentacja Google o usuniętych i przeniesionych stronach. Nie przekierowuj mechanicznie wszystkich starych produktów na stronę główną: Google ostrzega, że przekierowania na niepowiązany cel mogą zostać uznane za soft 404.

Kasowanie produktów Pro nie tworzy przekierowań. Zapis CSV zawiera m.in. ID oraz przyjazny fragment adresu, ale przed usunięciem warto zachować także pełną listę rzeczywistych URL-i i ich docelowe odpowiedniki. Po operacji sprawdź stare adresy, linki wewnętrzne oraz mapę witryny.

Jak przeprowadzić duże porządki w katalogu krok po kroku?

  1. Ustal zakres. Oddziel produkty trwale wycofane od chwilowo niedostępnych. Wybierz działanie i sklep, którego ma dotyczyć operacja.
  2. Zachowaj możliwość odtworzenia sklepu. Przed trwałym usuwaniem wykonaj pełną kopię bazy i plików. Migawka CSV modułu zapisuje wybrane dane produktu, ale nie zastępuje zdjęć, całej konfiguracji i kompletnej kopii sklepu.
  3. Przygotuj listę oraz polityki wyjątków. Sprawdź identyfikatory, obsługę wielu trafień i zachowanie wobec produktów obecnych w zamówieniach. Dla tych ostatnich moduł może wyłączyć produkt zamiast usuwać, pominąć go albo dopuścić usunięcie.
  4. Uruchom przebieg próbny. Domyślnie włączona symulacja przetwarza listę i raportuje dopasowania bez zmieniania katalogu. Wyjaśnij wyniki nieznalezione, pominięte i błędne.
  5. Sprawdź próg bezpieczeństwa. Domyślny próg procentowy wynosi 30%. Jest dodatkową kontrolą rozmiaru operacji, odrębną od limitu 200 000 identyfikatorów. Nie traktuj jego komunikatu jako powodu do automatycznego wyłączania zabezpieczeń — najpierw potwierdź zakres listy.
  6. Wykonaj właściwy przebieg i sprawdź raport. Obserwuj postęp, a po zakończeniu porównaj wybrane produkty i ich adresy ze spodziewanym wynikiem. Dla dużej listy możesz wcześniej przeprowadzić właściwą operację na małej próbce.

Raport CSV rozróżnia powodzenie, brak dopasowania, pominięcie, błąd i pozycje oczekujące, do których zatrzymany przebieg nie dotarł. Samo dojście paska do końca nie oznacza, że każdy produkt został usunięty: część pozycji mogła zostać pominięta zgodnie z wybraną polityką albo odrzucona przez PrestaShop.

Najczęstsze pytania o masowe kasowanie produktów

Czy moduł usunie dowolną liczbę produktów?

Duże katalogi można porządkować kolejnymi przebiegami AJAX. W obecnej wersji jedna lista ma limit 200 000 identyfikatorów, a plik do wgrania limit 20 MB. Większy zestaw trzeba podzielić. Czas wykonania zależy od danych produktów, serwera i działania pozostałych modułów.

Czy usuwanie działa dalej po zamknięciu przeglądarki?

Po zamknięciu karty nie są wysyłane następne kroki AJAX. Już rozpoczęte żądanie może jeszcze zakończyć pracę. Po powrocie można wznowić dostępny niedokończony przebieg na podstawie zapisanej kolejki. Moduł nie ma harmonogramu CRON uruchamiającego te porządki samodzielnie.

Czy przycisk zatrzymania przywraca usunięte produkty?

Nie. Zatrzymanie przebiegu nie cofa wykonanych zmian. Moduł nie ma funkcji „cofnij usunięcie”; odtworzenie skasowanych danych wymaga odpowiedniej kopii sklepu. Wyłączony produkt można natomiast ponownie aktywować.

Czy zerowy stan magazynowy wystarczy, żeby usunąć produkt?

Nie musi wystarczyć. Produkt może wrócić do sprzedaży, mieć ruch z wyszukiwarki albo zawierać potrzebne klientom informacje. Kryterium braku stanu pomaga znaleźć pozycje do oceny. Decyzję o usunięciu podejmij po sprawdzeniu planów sprzedaży i dalszego działania strony produktu.

Kasowanie produktów Pro dla PrestaShop sprawdza się przy dużych porządkach dzięki kolejce, krótkim krokom AJAX, wznawianiu i raportom. Przygotuj właściwą listę, wybierz między wyłączeniem a usunięciem i rozpocznij od symulacji. Wtedy również katalog liczący tysiące pozycji można porządkować w kontrolowanych etapach.

Powiązane produkty

98,00 zł 79,67 złnetto
Kasowanie produktów Pro to moduł do back office PrestaShop, który masowo wyłącza lub usuwa produkty i kombinacje. Listę do przetworzenia budujesz na trzy sposoby: wgrywasz plik CSV, wklejasz identyfikatory do pola albo wybierasz produkty warunkami nałożonymi na katalog, bez żadnego pliku. Każdy przebieg jest cięty na krótkie kroki wykonywane w tle, więc...
Zobacz artykuły autora
Patryk Marek

Patryk Marek — właściciel PrestaDev.pl i programista specjalizujący się w PrestaShop. Od wielu lat zajmuje się tworzeniem, rozwojem i utrzymaniem sklepów internetowych. Łączy pracę nad kodem sklepu i modułów z konfiguracją środowiska serwerowego, w którym te rozwiązania działają.

Projektuje i rozwija moduły PrestaShop, dostosowuje istniejące funkcje oraz przygotowuje integracje z hurtowniami i usługami zewnętrznymi. Pracuje nad importem i aktualizacją danych produktów, automatyzacją obsługi katalogu, przebiegiem zamówienia oraz narzędziami wspierającymi codzienną pracę właściciela sklepu.

Jego doświadczenie obejmuje również aktualizacje i migracje sklepów, diagnozowanie błędów, analizę wydajności oraz konfigurację serwerów i usług potrzebnych do działania PrestaShop. Przy rozwiązywaniu problemów uwzględnia zależności między modułami, motywem, PHP, bazą danych i ustawieniami hostingu.

Na blogu dzieli się wiedzą wynikającą z wieloletniej praktyki programistycznej i pracy z zapleczem technicznym sklepów. Poradniki skupiają się na konkretnych problemach, sposobach ich sprawdzenia i ograniczeniach opisywanych rozwiązań. Pomagają właścicielom sklepów oraz osobom technicznym przygotować zmiany, ocenić ich zakres i zweryfikować rezultat.

Komentarze (0)

Brak komentarzy w tej chwili

Nowy komentarz

Odpowiadasz na komentarz