- Plan i fundamenty przygotowań
- Określ cele i prognozę ruchu
- Zrób pełne kopie zapasowe i przygotuj staging
- Zaktualizuj PrestaShop, motyw i moduły
- Utwardź bezpieczeństwo panelu i serwera
- Uporządkuj konfigurację sklepu i treści regulaminowe
- Przygotuj kalendarz i checklistę operacyjną
- Wydajność i skalowalność techniczna
- Skonfiguruj serwer www, PHP‑FPM i OPcache
- Dostosuj MySQL/MariaDB do dużego ruchu
- Włącz Performance w PrestaShop: Smarty, CCC i cache
- Optymalizuj pliki statyczne i obrazy (WebP)
- Włącz CDN, HTTP/3 i politykę cache dla statyków
- Oczyść moduły i skrypty na froncie
- Testy syntetyczne i obciążeniowe, profilowanie
- Oferta, merchandising i widoczność
- Zbuduj landing Black Friday i nawigację
- Zaprojektuj reguły cenowe, kupony i zestawy
- Przygotuj stany magazynowe i przedsprzedaż
- Popraw karty produktów i rekomendacje
- SEO na sezon: meta, schema, linkowanie
- Kampanie i automatyzacje: e‑mail, SMS, push, Ads
- Analityka i atrybucja: GA4, GTM, eventy, UTM
- Operacje: płatności, dostawa, obsługa, monitoring
- Płatności: limity, 3DS, fallback, weryfikacje
- Dostawa i fulfillment: SLA, cut‑off, paczkomaty
- Checkout: UX, gość, minimalizacja tarcia
- Obsługa klienta: chat, IVR, makra, polityka zwrotów
- Monitorowanie w czasie rzeczywistym
- Plan awaryjny i odzyskiwanie
- Dzień akcji: operacyjna odprawa i komunikacja
- Po Black Friday: retencja i raporty
Black Friday w e‑commerce to test dla zespołu, serwerów i procesów. Aby PrestaShop wykorzystał ten moment, przygotuj sklep zarówno technicznie, jak i operacyjnie: od kopii zapasowych, przez optymalizację, po ofertę i obsługę zamówień. Poniższa instrukcja prowadzi krok po kroku: co włączyć, co wyłączyć, co zmierzyć i jak zaplanować dzień akcji, by zwiększyć sprzedaż i nie ryzykować przestojów. Zacznij kilka tygodni wcześniej, a w dniu startu działaj zgodnie z checklistą i planem awaryjnym.
Plan i fundamenty przygotowań
Określ cele i prognozę ruchu
Ustal mierzalne cele: przychód, konwersja, marża, średnia wartość koszyka, liczba zamówień na godzinę. Przygotuj prognozę ruchu na podstawie danych z poprzednich lat, kampanii płatnych i planów mailingowych. Z tego wynikną wymagania na skalowalność i zasoby. Zmapuj szczyty godzinowe i spodziewane piki po wysyłkach newslettera czy kampaniach influencerów. Zdefiniuj reguły degradacji: co wyłączysz przy przeciążeniu (np. rekomendacje w czasie rzeczywistym) bez utraty kluczowej funkcjonalności zamówień.
Zrób pełne kopie zapasowe i przygotuj staging
Wykonaj pełny snapshot serwera/VM oraz off‑site backup bazy i plików: katalog /img, /upload, /download, /themes, /modules oraz pliku app/config/parameters.php (PS 1.7) lub .env (PS 8). Przetestuj odtworzenie na środowisku staging. Skonfiguruj plan kopii różnicowych co godzinę w trakcie akcji. Na stagingu odwzoruj produkcję: wersje PHP, rozszerzenia, cache, ruch syntetyczny. Zamroź deploy na 48 h przed startem, pozostawiając jedynie możliwość hot‑fixu przez CI/CD z rollbackiem jednym kliknięciem.
Zaktualizuj PrestaShop, motyw i moduły
Przejdź na wspieraną wersję (1.7.8.x lub 8.x) i najnowsze wydania krytycznych modułów płatności i logistyki. Zrób regression tests kluczowych ścieżek (rejestracja, checkout, zwroty). Usuń porzucone moduły i widżety obciążające front. Sprawdź zgodność motywu z mechanizmami CCC i WebP. Włącz tryb produkcyjny i wyłącz debug w defines.inc.php oraz w konfiguracji Symfony (APP_ENV=prod). Przed migracją stwórz listę zależności i potencjalnych konfliktów, a w razie potrzeby użyj child‑theme, by nie nadpisywać oryginalnego motywu.
Utwardź bezpieczeństwo panelu i serwera
Ogranicz dostęp do Back Office przez whitelisting IP i 2FA. Wymuś silne hasła, rotację tokenów, zmień domyślną ścieżkę admin. Zabezpiecz formularze reCAPTCHA i rate‑limitingiem. Włącz WAF na CDN. Zaktualizuj PHP, OpenSSL i biblioteki. Zaszyfruj połączenia SMTP i SFTP. W PrestaShop wyłącz profilowanie i błędy na froncie, logi kieruj poza webroot. Zadbaj o monitorowanie anomalii logowania i uprawnień. Black Friday to czas wzmożonych ataków — inwestycja w bezpieczeństwo minimalizuje ryzyko przestoju i wycieku danych.
Uporządkuj konfigurację sklepu i treści regulaminowe
Zweryfikuj politykę promocji, regulaminy, warunki zwrotów, informacje o czasie dostawy i ograniczenia oferty. Upewnij się, że obowiązki informacyjne RODO i cookies są aktualne. Przeglądnij ustawienia: waluty, stawki VAT, strefy i przewoźnicy, statusy zamówień, szablony e‑maili transakcyjnych, formaty faktur. W Sekcja Ustawienia sklepu → Ruch → SEO i URL odśwież strukturę linków i przekierowania 301. Przygotuj osobne kategorie Black Friday, tagi i filtry ułatwiające odkrywanie oferty.
Przygotuj kalendarz i checklistę operacyjną
Spisz harmonogram: daty publikacji banerów, aktywacji reguł cenowych, wysyłek newsletterów, zmian limitów u operatorów płatności i przewoźników. Utwórz checklisty na T‑7, T‑1, T‑0, w tym kontakty do dostawców (hosting, płatności, kurierzy). Wyznacz role i dyżury, ustal kanał komunikacji incident‑response. Przygotuj makra odpowiedzi dla obsługi klienta. Dzięki takiemu planowi łatwiej utrzymasz wydajność i spójność działań w krytycznych godzinach.
Wydajność i skalowalność techniczna
Skonfiguruj serwer www, PHP‑FPM i OPcache
Włącz OPcache z wystarczającą pamięcią (opcache.memory_consumption ≥ 256–512 MB), zwiększ opcache.max_accelerated_files i ustaw validate_timestamps=0 na czas akcji. W PHP‑FPM dostosuj pm.max_children na podstawie CPU/RAM i profilu zapytań; monitoruj slow log. Ustal limity upload_max_filesize i max_input_vars (≥ 5000) dla BO. Wyłącz xdebug i niepotrzebne rozszerzenia. Przy Nginx/Apache włącz HTTP/2, kompresję Brotli/Gzip, cache nagłówków dla statyków i keep‑alive. Zadbaj o ETag/Last‑Modified i długie TTL dla plików wersjonowanych.
Dostosuj MySQL/MariaDB do dużego ruchu
Powiększ innodb_buffer_pool_size (60–70% RAM serwera DB), ustaw adequate innodb_log_file_size i flush log at trx 2 dla kompromisu trwałość/wydajność. Włącz query_cache nie — zamiast tego rely na planach zapytań i indeksach. Monitoruj slow query log, indeksuj kolumny często filtrowane (np. id_product, id_category, date_add w ps_orders, ps_cart, ps_cart_product). Włącz innodb_flush_neighbors=0 na SSD. Rozważ replikę read‑only dla raportów. Regularnie OPTIMIZE TABLE dla dużych, często modyfikowanych tabel statystycznych.
Włącz Performance w PrestaShop: Smarty, CCC i cache
W Parametry zaawansowane → Wydajność ustaw Smarty na Nie kompiluj szablonów, Cache: włączony. Aktywuj CCC: łączenie i kompresję CSS/JS, minifikację HTML. Włącz serwer cache pamięciowy: Memcached lub Redis (moduł/ps 8). Skonfiguruj persistent connections i kilka instancji dla separacji BO/FO. Wyczyść katalog var/cache lub /app/cache przed startem. Włącz Friendly URL i automatyczną trasę bez nadmiarowych parametrów. Ogranicz liczbę hooków i modułów renderujących na każdej stronie.
Optymalizuj pliki statyczne i obrazy (WebP)
Wygeneruj miniatury na stagingu i przenieś gotowe pliki, by nie obciążać produkcji. Użyj WebP, sprawdź wsparcie w motywie i fallback do JPEG/PNG. Stosuj lazy‑loading oraz srcset/sizes dla list produktów. Zmniejsz liczbę fontów i wagę subsetów, preconnect do CDN i płatności. Uporządkuj krytyczne CSS (critical CSS inline) i odłóż niekrytyczne skrypty na defer/async. Oczyść sprite’y, usuń nieużywane ikony. Każdy kilobajt mniej to niższe TTFB i wyższa konwersja, co szczególnie procentuje w szczycie ruchu.
Włącz CDN, HTTP/3 i politykę cache dla statyków
Skonfiguruj CDN dla /img, /themes, /modules, wymuszaj wersjonowanie w nazwach plików, by bezpiecznie ustawić długie TTL. Włącz HTTP/3/QUIC, TLS 1.3, OCSP stapling. Ustaw Page Rules dla omijania cache na stronach dynamicznych (koszyk, checkout, konto), a agresywny cache dla kategorii i CMS z częstym purge przez webhook po zmianach treści. Przygotuj fallback origin i health‑checks. CDN odciąża serwer aplikacyjny, poprawiając wydajność globalnie.
Oczyść moduły i skrypty na froncie
Wyłącz narzędzia do analityki sesyjnej, czatów i widżetów, które dodają blokujące requesty. Agreguj wszystkie piksele przez GTM, ogranicz liczbę tagów aktywnych tylko w BF. Usuń karuzele i animacje na stronach list, zastąp je prostymi siatkami. Zadbaj o renderowanie SSR elementów krytycznych; unikaj render‑blocking. Skontroluj hooki (displayHeader, displayFooter, displayLeft/RightColumn) i usuń zbędne. Każdy request mniej to lepsza skalowalność.
Testy syntetyczne i obciążeniowe, profilowanie
Przed startem uruchom testy Lighthouse i WebPageTest dla kluczowych szablonów. Zrób testy obciążeniowe k6/JMeter: scenariusze przeglądania, wyszukiwania, dodawania do koszyka, checkoutu. Ustal limity SLO: TTFB, p95/p99 dla widoków i API. Włącz APM (New Relic, Elastic APM) z mapą transakcji, wykryj wolne kontrolery i zapytania. W razie wąskich gardeł włącz cache fragmentów na poziomie Smarty lub route cache. Sprawdź logikę modułów płatności pod kątem retry i timeoutów, aby uniknąć zawieszeń w piku.
Oferta, merchandising i widoczność
Zbuduj landing Black Friday i nawigację
Utwórz kategorię i stronę docelową z jasnym USP, licznikami czasu i sekcjami: bestsellery, nowości, największe rabaty. Dodaj filtry cenowe, rozmiary, dostępność. Podlinkuj landing w menu głównym i top‑barze, ustaw banery na homepage z priorytetem. Zadbaj o lekki szablon (bez video‑background), by utrzymać wydajność. Przygotuj wersje na różne segmenty (np. B2B/B2C) oraz cache’uj listy z sortowaniem po popularności, a nie po cenie, aby stabilizować layout.
Zaprojektuj reguły cenowe, kupony i zestawy
W Katalog → Rabaty skonfiguruj Reguły katalogowe z datami rozpoczęcia i zakończenia, uwzględnij wykluczenia marek/kategorii. Dla koszyka przygotuj kupony z limitami użyć, minimalną wartością i ograniczeniami kanałów. Testuj nakładanie się rabatów i podatków. Zaplanuj zestawy i gratisy o wysokiej marży. Komunikuj progi darmowej dostawy i zniżki ilościowe. Kluczowe jest spójne nazewnictwo i porządek w priorytetach reguł, by uniknąć nieoczekiwanych cen w koszyku w godzinie szczytu promocje.
Przygotuj stany magazynowe i przedsprzedaż
Zsynchronizuj stany z ERP/WMS częściej niż zwykle (np. co 3–5 minut), wprowadź bufor bezpieczeństwa na hitach sprzedażowych. Rozważ przedsprzedaż z wydłużonym terminem dostawy lub ogranicz dostępność do liczby sztuk per klient. Skonfiguruj powiadomienia o dostępności. Dla wariantów stosuj priorytezację wyświetlania najpopularniejszych. Unikaj 0 w magazynie na listach — filtrowanie po dostępności poprawia UX i zmniejsza frustrację. Zadbaj o spójny feed do kampanii PLA z aktualnym stanem.
Popraw karty produktów i rekomendacje
Uprość karty: pierwsze 600 px to zdjęcia, cena, selektor wariantów, CTA. Dodaj skrócony opis korzyści, ikony dostawy/zwrotu, widoczne SLA. Włącz rekomendacje oparte na historii sprzedaży (cache’owane), cross‑ i up‑sell w koszyku. Komunikuj oszczędność procentową i kwotową. Używaj badge’y Black Friday. Testuj mikro‑kopie przycisków i odznaki zaufania. To najlepszy moment, by podnieść konwersję i zwrot z marketing.
SEO na sezon: meta, schema, linkowanie
Przygotuj meta title/description dla kategorii BF, unikaj duplikatów. Dodaj schema Product i Offer z priceValidUntil. Implementuj breadcrumbs i wewnętrzne linkowanie z bloga i stron kategorii. Ustaw kanoniczne adresy, aby uniknąć duplikacji przy filtrach. Opublikuj wpisy wspierające: poradniki prezentowe, listy bestsellerów. Zadbaj o szybkość — sygnały Core Web Vitals wspierają SEO. Zaplanuj 301 dla wygaszonych landingów po akcji, by zachować autorytet URL.
Kampanie i automatyzacje: e‑mail, SMS, push, Ads
Zbuduj segmenty: VIP, porzucający koszyki, użytkownicy mobilni, klienci jednorazowi. Przygotuj scenariusze: zapowiedź, early access, last call. Stosuj dynamiczne treści (produkty na stanie). Połącz promocje z ograniczeniem czasu i puli kodów. W Ads zwiększ budżety i limity dzienne, zsynchronizuj harmonogram z ruchem na serwerze. Dla e‑mail i SMS użyj niezawodnego dostawcy z dedykowaną pulą IP. Zadbaj o spójne UTM i atrybucję. Pamiętaj: najmniejsza niespójność cen z landingiem niszczy efekty promocje.
Analityka i atrybucja: GA4, GTM, eventy, UTM
Skonfiguruj GA4 z poprawnym mapowaniem e‑commerce (view_item, add_to_cart, begin_checkout, purchase). Zadbaj o deduplikację eventów server‑side/client‑side. Umieść wszystkie tagi w GTM i włącz tryb podglądu na stagingu. Uzgodnij przychód z backendem (waluty, VAT, kupony). Zdefiniuj dashboardy w czasie rzeczywistym: konwersja, porzucone koszyki, błędy checkoutu, czas autoryzacji płatności. Spójne tagowanie UTM pozwoli właściwie ocenić efekty marketing i przestawić budżety w locie.
Operacje: płatności, dostawa, obsługa, monitoring
Płatności: limity, 3DS, fallback, weryfikacje
Skontaktuj się z operatorami i podnieś limity transakcji oraz TPS. Wydłuż okna timeoutu webhooków i potwierdzeń. Skonfiguruj wiele bramek i reguły awaryjne (fallback) — jeśli provider A odrzuca, wyświetl B. Uprość formularze i włącz metody ekspresowe (Apple Pay, BLIK one‑click, Google Pay). Testuj zwroty i częściowe refundy. Monitoruj czasy autoryzacji i współczynnik odrzuceń. Wyeliminuj zbędne walidacje na froncie, ale dbaj o 3DS2. Stabilne płatności to kręgosłup konwersji.
Dostawa i fulfillment: SLA, cut‑off, paczkomaty
Zweryfikuj cenniki przewoźników i zwiększ limity dzienne odbiorów. Wyświetl realistyczne czasy doręczeń z buforem. Aktywuj pick‑up points i automaty paczkowe, które skracają lead time. Zoptymalizuj mapę punktów i autouzupełnianie adresów. W magazynie przygotuj strefy szybkiej kompletacji, dodatkowe pakujące stanowiska i zapas materiałów. Zaplanuj oversell handling. Sprawna logistyka ograniczy liczbę zgłoszeń i chargebacków.
Checkout: UX, gość, minimalizacja tarcia
Włącz zakupy bez rejestracji, uprość formularze do minimum. Zastosuj walidację inline, maski, autouzupełnianie adresów. Wyłącz zbędne pola firmowe dla B2C. Zmniejsz liczbę kroków i przejść. Pokaż koszty dostawy i rabaty wcześniej. Upewnij się, że kupony działają przewidywalnie. Zadbaj o dostępność i kluczowe skróty klawiaturowe. Szybki checkout przekłada się wprost na wyniki promocje, więc traktuj go jako krytyczny element produktu.
Obsługa klienta: chat, IVR, makra, polityka zwrotów
Zwiększ obsadę i dyżury, przygotuj makra odpowiedzi na pytania o dostępność, status zamówienia, dostawę i zwroty. Zintegruj chat z CRM i pokaż przewidywane czasy odpowiedzi. Ustal priorytety SLA dla ticketów po zakupie. Uprość procedury zwrotów i jasno je komunikuj w koszyku i w e‑mailach potransakcyjnych. Zadbaj o spójne dane kontaktowe w stopkach i w e‑mailach. Dobra obsługa redukuje zwroty i wzmacnia retencję po BF.
Monitorowanie w czasie rzeczywistym
Skonfiguruj pulpit: uptime, czas odpowiedzi, błędy 5xx/4xx, p95 widoków, liczba otwartych sesji PHP‑FPM, load DB, place‑order error rate, abandoned checkout. Alarmuj na Slack/SMS przy progach. Śledź metryki bramek płatności i kurierów. Zbieraj logi w scentralizowany sposób i oznaczaj release’y. Wykrywaj anomalie w marży i koszykach. Dobrze zaprojektowany monitoring pozwala reagować zanim klient zauważy problem.
Plan awaryjny i odzyskiwanie
Przygotuj tryb degradacji: wyłączanie modułów ciężkich, uproszczony motyw, ograniczenie liczby produktów na listach, blokada indeksowania wyszukiwarki w trakcie incydentu. Miej procedurę rollback do ostatniego stabilnego wydania. Zdefiniuj runbook: kto podejmuje decyzję, jak informujesz klientów (baner, e‑mail), jak oceniacie ryzyko i czas naprawy. Sprawdź, że kopie są testowo odtwarzalne. Zadbaj o komunikację z dostawcami hostingu i płatności według ustalonych kontaktów krytycznych.
Dzień akcji: operacyjna odprawa i komunikacja
Rano przeprowadź odprawę: status serwerów, kolejki zamówień, limity płatności, czasy kurierów, plan wysyłek newsletterów. Włącz banery promocji, aktywuj reguły cenowe według harmonogramu. Obserwuj dashboard w 15‑minutowych interwałach. Przesuwaj budżety reklam zgodnie z ROAS i obciążeniem serwisu. Aktualizuj stronę główną w oparciu o produkty najlepiej konwertujące. Zespół incident‑response w trybie gotowości, a notatki z decyzji zapisuj w jednym kanale, by łatwo zrobić retrospektywę.
Po Black Friday: retencja i raporty
Wycisz kampanie cenowe i przestaw komunikację na akcesoria, dosprzedaż i świąteczne inspiracje. Wyślij podziękowania i prośby o opinie. Segreguj klientów pozyskanych w BF i uruchom onboarding lojalnościowy. Sporządź raporty: popyt vs. prognoza, marża vs. rabaty, awarie i czas reakcji, wąskie gardła techniczne. Zaktualizuj backlog usprawnień, odśwież checklistę na kolejny rok. Zarchiwizuj landing i wprowadź 301. Analiza posprzedażowa domyka cykl i wzmacnia przyszłą skalowalność całego systemu.