Wdrożenie WooCommerce to nie instalacja motywu i kilku wtyczek, a projekt złożony z siedmiu etapów, rozliczany w godzinach i z jasno określoną listą rzeczy, które musi dostarczyć zamawiający. Sklep do 300 produktów zajmuje zwykle 2–4 tygodnie, a katalog 1000+ SKU z integracjami to 6–10 tygodni pracy. Zanim podpiszesz umowę, powinieneś wiedzieć, ile godzin realnie pochłonie Twój projekt i co dokładnie znajduje się poza zakresem. Poniżej porządkujemy temat od strony organizacyjnej: proces, wycena, wymagania techniczne, mierzalne progi wydajności i lista kontrolna przed startem.
Wdrożenie WooCommerce to projekt rozliczany w godzinach, podzielony na siedem etapów. Każdy z nich kończy się konkretnym artefaktem: dokumentem, działającym środowiskiem albo przetestowanym zamówieniem.
Realny czas: 2–4 tygodnie dla sklepu do 300 produktów i 6–10 tygodni dla katalogu 1000+ SKU z integracjami. Różnicę robi nie liczba produktów, a liczba systemów, z którymi sklep musi się synchronizować.
Od zamawiającego potrzebne są: zdjęcia min. 1500×1500 px, opisy, kategorie, atrybuty oraz dostępy do domeny (DNS) i do paneli płatności oraz kurierów. Materiały dostarczone po terminie przesuwają odbiór o tyle samo dni — to najczęstsza przyczyna opóźnień w tego typu projektach, podobnie jak przy wdrożeniach i optymalizacji WooCommerce w Biłgoraju. Zakres funkcji rdzenia znajdziesz w dokumentacji WooCommerce.
| Etap | Efekt do odebrania |
|---|---|
| Analiza i decyzje | Notatka z 6 decyzjami + wstępny zakres |
| Środowisko i hosting | Staging + produkcja z SSL i kopiami |
| Instalacja i konfiguracja | Sklep ze strefami wysyłki i e-mailami transakcyjnymi |
| Katalog i treści | Produkty z wariantami, atrybutami i zdjęciami |
| Integracje | Płatności, kurierzy, faktury, ERP |
| Testy zamówienia i zwrotu | Zamówienie testowe + zwrot + korekta |
| Przekazanie | Dostępy, dokumentacja, szkolenie |
Wycena to godziny razy stawka. Jeśli oferta podaje wyłącznie kwotę końcową, poproś o rozbicie na etapy — inaczej nie masz jak porównać dwóch propozycji.
Praktyczne widełki wyglądają tak: prosty sklep 40–70 h, średni 80–140 h, rozbudowany z ERP i B2B 160–260 h. Optymalizacja istniejącego sklepu to osobna kategoria: najpierw audyt (6–10 h), który daje listę wąskich gardeł, potem wdrożenie poprawek (20–60 h). Bez audytu poprawki robi się na wyczucie i często przepisuje się je dwa razy.
Co podnosi koszt: migracja danych ze starego sklepu (dla 1000 SKU licz 8–16 h na samo przygotowanie plików i import), własne moduły, np. niestandardowy kalkulator dostawy, wielojęzyczność — każda wersja językowa to osobne treści i metadane, cenniki grupowe B2B z przypisaniem klientów do grup, integracja magazynu lub ERP (Subiekt, Comarch, wFirma) w zależności od dostępności API.
Jak czytać ofertę? Sprawdź cztery rzeczy: stawkę godzinową, szacunek godzin dla każdego etapu, listę „poza zakresem” i to, kto płaci za poprawki po odbiorze. Standardem jest 30 dni na usuwanie błędów wykonawcy; nowe funkcje to nowe zlecenie i nowe godziny. Zapisz w umowie, ile godzin wsparcia dostajesz po odbiorze. Identyczny sposób rozliczania stosujemy przy wdrożeniach i optymalizacji WooCommerce w Lublinie oraz w projektach takich jak optymalizacja WooCommerce w Józefowie.
| Typ projektu | Godziny | Typowy czas |
|---|---|---|
| Prosty sklep (do 300 SKU, 1–2 płatności, 1 kurier) | 40–70 h | 2–4 tygodnie |
| Średni sklep (warianty, kilka stref wysyłki, faktury) | 80–140 h | 4–6 tygodni |
| Rozbudowany (ERP, B2B, cenniki grupowe, magazyn) | 160–260 h | 6–10 tygodni |
| Optymalizacja istniejącego sklepu (audyt + poprawki) | 26–70 h | 2–4 tygodnie |
Poniżej tych progów optymalizacja frontendu nie przyniesie efektu — wąskim gardłem będzie serwer, a nie motyw czy wtyczki.
Zacznij od PHP 8.2 lub 8.3. PHP 7.4 nie ma wsparcia bezpieczeństwa od listopada 2022 — trzymanie sklepu na tej wersji to nie tylko wolniejsze działanie, ale i realne ryzyko. Baza: MySQL 8.0 lub MariaDB 10.6+, tabele InnoDB, kodowanie utf8mb4 (nie „utf8”, który jest aliasem utf8mb3 i nie obsługuje emoji ani części znaków).
memory_limit 256 MB to minimum, 512 MB przy importach i masowych aktualizacjach cen. max_execution_time 300 s dla importu CSV i generowania faktur zbiorczych; przy 30 s import 5000 SKU po prostu się przerwie. Zwiększ też upload_max_filesize i post_max_size do 64 MB oraz max_input_vars do 5000 — bez tego duże menu i importy atrybutów potrafią ucinać dane bez komunikatu błędu.
OPcache włączony, do tego object cache: Redis albo Memcached. Przy katalogu z filtrami to najczęściej największy pojedynczy zysk. Dalej: HTTP/2 lub HTTP/3, kompresja Brotli z fallbackiem gzip, SSL z nagłówkiem HSTS.
Kopie zapasowe poza serwerem. Jeśli backup leży na tym samym koncie hostingowym, zniknie razem z hostingiem. Trzymaj kopie w S3 lub Backblaze, codziennie, z retencją minimum 30 dni. Efekt tych ustawień widać w metrykach: LCP poniżej 2,5 s, INP poniżej 200 ms, CLS poniżej 0,1 — progi opisane w Web Vitals. Te same wymagania stawiamy projektom w mniejszych miejscowościach, np. przy wdrożeniach WooCommerce w Zwierzyńcu.
| Parametr | Minimum | Zalecane |
|---|---|---|
| PHP | 8.2 | 8.3 |
| Baza danych | MySQL 8.0 / MariaDB 10.6 | MySQL 8.0+ / MariaDB 10.11 |
| Silnik tabel i kodowanie | InnoDB, utf8mb4 | InnoDB, utf8mb4_unicode_ci |
| memory_limit | 256 MB | 512 MB |
| max_execution_time | 120 s | 300 s |
| upload_max_filesize / post_max_size | 32 MB | 64 MB |
| max_input_vars | 3000 | 5000 |
| Cache | OPcache | OPcache + Redis |
| Protokół | HTTP/2 | HTTP/3 |
| Kopie zapasowe | codziennie poza serwerem | codziennie, retencja 30 dni |
Progi z tabeli poniżej to nie cel marketingowy, a punkt rozliczenia prac. Przyjmuje się je dla 75. percentyla wejść mobilnych, czyli dla danych polowych, a nie jednego przebiegu Lighthouse na szybkim laptopie. Zanim ktokolwiek dotknie motywu, ustal wspólną metodę pomiaru — inaczej po miesiącu nie da się porównać stanu „przed” i „po”.
Иnarzędzia, które realnie się do tego używa:
Po stronie frontu największy zwrot dają trzy rzeczy. Obrazy w WebP/AVIF generowane przy uploadzie — 3000-pikselowy JPG z hurtowej paczki potrafi zjeść cały budżet LCP. Lazy loading dla wszystkiego poniżej pierwszego ekranu, przy czym obraz LCP ma zostać ładowany normalnie, z atrybutem fetchpriority='high'. Preload fontu i usunięcie nieużywanego CSS — ile go jest, sprawdzisz w DevTools w zakładce Coverage (Ctrl+Shift+P → „Coverage”).
Cache stron włączaj wyłącznie dla niezalogowanych i z wykluczeniami: /koszyk, /zamowienie, /moje-konto oraz endpointy ?wc-ajax= i akcje add-to-cart. Bez tych wykluczeń klient zobaczy koszyk innej osoby albo pusty koszyk po dodaniu produktu — to najczęstszy błąd przy agresywnym cache na WooCommerce. Definicje i progi metryk znajdziesz w dokumentacji Web Vitals.
Ten sam zestaw progów stosujemy w projektach regionalnych — zobacz, jak wygląda organizacja wdrożeń i optymalizacji WooCommerce w Lublinie.
| Metryka | Próg (mobile, 75. percentyl) | Czym zmierzyć |
|---|---|---|
| LCP | ≤ 2,5 s | PageSpeed Insights, Lighthouse |
| INP | ≤ 200 ms | PageSpeed Insights (dane polowe CrUX) |
| CLS | ≤ 0,1 | Lighthouse, Layout Shift Regions w DevTools |
| TTFB | ≤ 600 ms | PageSpeed Insights, Query Monitor, pomiar czasu odpowiedzi serwera |
| Zapytania SQL na stronie kategorii | ≤ 60 | Query Monitor, zakładka Queries |
| Aktywne wtyczki | ≤ 20 | WP Admin → Wtyczki, licznik aktywnych |
Najczęstszy powód, dla którego sklep na WooCommerce po roku „sam z siebie” zwalnia, to nie motyw, a baza i harmonogram zadań.
1. wp_options z autoload = 'yes'. Te opcje wczytują się przy każdym żądaniu, także przy zwykłym odsłonie strony. Rozmiar sprawdzisz tak: SELECT SUM(LENGTH(option_value)) FROM wp_options WHERE autoload = 'yes'; Realny próg to 1–2 MB. Powyżej rośnie czas każdej strony, nie tylko panelu administracyjnego. Winowajcę znajdziesz, sortując tę tabelę po LENGTH(option_value) DESC — zwykle to wtyczka zapisująca całą konfigurację jako jedną wielką tablicę.
2. Osierocone wp_postmeta i stare transienty. Po odinstalowanych wtyczkach zostają wiersze bez odpowiednika w wp_posts. Policz je przed czyszczeniem: SELECT COUNT(*) FROM wp_postmeta pm LEFT JOIN wp_posts p ON pm.post_id = p.ID WHERE p.ID IS NULL; Transientów szukaj przez SELECT COUNT(*) FROM wp_options WHERE option_name LIKE '%transient%', a przeterminowane usuń przez wp transient delete --expired. Kolejność: zrzut tabeli → test na stagingu → czyszczenie na produkcji.
3. HPOS (High-Performance Order Storage). Kolejność włączenia ma znaczenie: backup bazy → włączenie HPOS w WooCommerce → Ustawienia → Zaawansowane → Funkcje → przez 2–4 tygodnie pozostawiona synchronizacja ze starymi tabelami posts → weryfikacja liczby zamówień, raportów i integracji (płatności, kurierzy, ERP) → dopiero potem wyłączenie synchronizacji. Tabel posts nie usuwaj przez co najmniej 30 dni, bo to jedyna szybka droga wycofania. Procedurę opisuje dokumentacja WooCommerce.
4. wp_wc_order_stats i raporty. Panel zamówień bywa wolniejszy niż sklep, bo raporty liczą agregaty z tabel analitycznych. Gdy liczby nie zgadzają się ze stanem faktycznym, regeneracja tabel w WooCommerce → Stan → Narzędzia (nazwa narzędzia różni się między wersjami).
5. WP-Cron. Domyślny cron odpala się przy wizycie użytkownika — na małym ruchu kolejka Action Scheduler rośnie i zadania zalegają. Wpisz define('DISABLE_WP_CRON', true); do wp-config.php i dodaj w crontab zadanie co 5 minut wywołujące wp-cron.php?doing_wp_cron, podstawiając własny adres domeny.
Jeśli nie chcesz dotykać produkcyjnej bazy bez zabezpieczenia, kolejność prac dla mniejszych katalogów opisaliśmy w wdrożeniach i optymalizacji WooCommerce w Biłgoraju.
| Miejsce | Objaw | Próg / działanie |
|---|---|---|
| wp_options (autoload = 'yes') | wolne wszystkie strony | 1–2 MB, powyżej szukaj winowajcy |
| wp_postmeta bez wp_posts | puchnięcie bazy po wtyczkach | policz JOIN-em, potem czyszczenie na stagingu |
| Transienty | setki wierszy w wp_options | wp transient delete --expired |
| HPOS | wolny panel zamówień | backup → włączenie → testy → wyłączenie synchronizacji |
| WP-Cron | zaległa kolejka Action Scheduler | DISABLE_WP_CRON + cron systemowy co 5 min |
Poniższe siedem rzeczy sprawdzisz sam, w mniej niż godzinę i bez dostępu do serwera. To dobry sposób, żeby zweryfikować gotowy sklep albo ocenić ofertę wykonawcy przed podpisaniem umowy.
SELECT COUNT(*), COUNT(DISTINCT meta_value) FROM wp_postmeta WHERE meta_key = '_sku'; oraz duplikaty adresów: SELECT post_name, COUNT(*) FROM wp_posts WHERE post_type = 'product' GROUP BY post_name HAVING COUNT(*) > 1; Powtórzone slugi to gotowe konflikty adresów i canonicali.Ten sam zestaw testów stosujemy przy audytach w mniejszych miejscowościach — zobacz, jak wygląda organizacja wdrożeń i optymalizacji WooCommerce w Józefowie.
| Pułapka | Test w 5 minut | Poprawny stan |
|---|---|---|
| Page builder w motywie | DevTools → Coverage | mały CSS/JS przed pierwszym renderem |
| Brak child theme | lista katalogów w wp-content/themes | istnieje katalog motywu potomnego z style.css |
| Import bez SKU i slugów | SQL na _sku i post_name | 0 duplikatów SKU i slugów |
| Brak stagingu | pytanie o adres testowy | osobne środowisko + procedura aktualizacji |
| Test bez realnej płatności | zamówienie 1 zł + zwrot | działa płatność, zwrot i e-maile |
| Brak monitoringu błędów | gdzie trafiają 404/500 i logi PHP | alerty + log z 7 dni |
| Wtyczka „do wszystkiego” | porównanie kodu i liczby opcji | rozwiązanie o niskim koszcie utrzymania |
W polskim sklepie integracje to zwykle 30–40% budżetu projektu. Kolejność jest stała: płatności, kurierzy, na końcu ERP i księgowość — bez działającej bramki nie przetestujesz zamówienia od koszyka do faktury.
Płatności: Przelewy24, PayU, tpay, Stripe. Instalacja wtyczki to 1–2 h, drugie tyle zajmuje test. Sprawdzamy: pełny zakup w środowisku testowym z przejściem 3-D Secure (karta testowa operatora, przekierowanie do banku i powrót), czy webhook dociera do sklepu i zmienia status, czy jego ponowne wysłanie nie tworzy duplikatu zamówienia oraz jak mapują się statusy: pending na „oczekuje na płatność”, processing na „w realizacji”, refunded na „zwrócone”. Najczęstsza pułapka: sklep ustawia „w realizacji” już po autoryzacji, a pieniądze nie wpłynęły — takie zamówienia wiszą w księgowości tygodniami.
Kurierzy: InPost ShipX, DPD WebAPI, DHL24. Warunek odbioru prac: etykieta PDF jednym kliknięciem z listy zamówień, wybór punktu odbioru w koszyku (mapa i lista, także na telefonie), numer trackingu w mailu „Wysłane” i status przesyłki odświeżany co 30–60 minut. Testujemy minimum trzy przesyłki: standardową, za pobraniem i zagraniczną.
ERP i księgowość: Subiekt GT/nexo, Comarch Optima, wFirma, Fakturownia. Kierunek synchronizacji ustalamy przed startem: stany i ceny płyną z ERP do sklepu, zamówienia i faktury ze sklepu do ERP. Stany odświeżamy co 15 minut, faktury wystawiamy po zmianie statusu na „zrealizowane”. Konfigurację wtyczek opisuje dokumentacja WooCommerce.
Magazyn: jedno źródło prawdy. Wskaż jedną bazę — ERP albo WooCommerce — i zapisz to w umowie. Jeśli sklep sprzedaje równolegle na Allegro lub w punkcie stacjonarnym, ustaw bufor 1–2 szt. i kolejkę aktualizacji stanów. Sprzedaż dwóch ostatnich sztuk w odstępie 10 minut to najczęstszy błąd wdrożeń wielokanałowych.
Plan awaryjny. API padają — pytanie tylko kiedy. Wymagaj: zadań w tle przez Action Scheduler zamiast WP-Cron, kolejki z ponowieniami (3 próby), logów integracji w WooCommerce → Status → Logi, alertu po 5 błędach pod rząd oraz gotowego komunikatu dla klienta. Zakres podobnych prac opisaliśmy przy wdrożeniach WooCommerce w Lublinie.
| Obszar | Co musi przejść test przed odbiorem | Uwagi wdrożeniowe |
|---|---|---|
| Płatności: Przelewy24, PayU, tpay, Stripe | Zakup z 3-D Secure, webhook zmienia status, brak duplikatów | Mapowanie statusów zapisane w dokumentacji projektu |
| Kurierzy: InPost ShipX, DPD WebAPI, DHL24 | Etykieta PDF, wybór punktu odbioru, tracking w mailu | Test minimum 3 przesyłek, w tym za pobraniem |
| ERP i księgowość: Subiekt, Optima, wFirma, Fakturownia | Stany i faktury zgodne dla 10 zamówień kontrolnych | Stany co 15 min, faktury po statusie „zrealizowane” |
| Magazyn | Jedno źródło prawdy i bufor 1–2 szt. przy sprzedaży wielokanałowej | Uzgodnione z klientem przed startem prac |
| Awaria API | Kolejka z ponowieniami i logi integracji | Alert po 5 błędach pod rząd |
Techniczne SEO sklepu to nie dodanie meta tagów. Zacznij od danych strukturalnych: Product, Offer i AggregateRating to warunek wejścia do wyników produktowych z ceną, dostępnością i ocenami. Wymóg jest twardy — cena i dostępność w kodzie muszą zgadzać się z tym, co widzi klient. Jeśli nie zbierasz prawdziwych opinii, nie wpisuj AggregateRating na sztywno; niezgodność to podstawa do działań ręcznych. Listę typów obsługiwanych przez Google znajdziesz w dokumentacji Google Search Central.
Filtry i parametry facetowe. Kombinacje typu /kategoria/?filter_kolor=czerwony&filter_rozmiar=l&pa_producent=x tworzą tysiące adresów i zjadają budżet indeksowania. Reguła: pojedynczy filtr może być indeksowalny, jeśli ma ruch i unikalny opis; kombinacje dwóch i więcej parametrów dostają noindex, follow. Canonical musi prowadzić na czystą kategorię bez parametrów. Sprawdź, czy wtyczka filtrów nie nadpisuje canonicala na self-referencing.
Paginacja. /kategoria/page/2/ zostaje indeksowalna, z self-canonicalem i unikalnym tytułem („... — strona 2”). Największy błąd to canonical strony drugiej wskazujący na pierwszą — Google nie wchodzi wtedy głębiej i część produktów nie zostaje odkryta.
Mapa strony i Search Console. W pliku XML muszą znaleźć się produkty i kategorie (Yoast lub Rank Math generują osobne pliki product-sitemap.xml i product_cat-sitemap.xml). Dodaj domenę do Search Console, zgłoś mapę, a po 7 i 30 dniach sprawdź raport „Strony” oraz błędy danych strukturalnych.
Widoczność lokalna. Wizytówka Google Business Profile to najtańszy kanał dla sklepu z Bełżca i okolic. Uzupełnij kategorie, godziny, zdjęcia i produkty, a NAP (nazwa, adres, telefon) utrzymuj identyczny na stronie kontaktu, w stopce, w wizytówce i katalogach. Frazy pisz naturalnie: Bełżec, Tomaszów Lubelski, Zamość, dostawa na Lubelszczyźnie — bez upychania ich w każdym akapicie.
Linkowanie wewnętrzne. Materiały dla sąsiednich rynków — WooCommerce dla firm z Biłgoraja, wdrożenia WooCommerce w Frampolu, organizacja wdrożenia w Józefowie, WooCommerce w Zwierzyńcu i optymalizacja sklepu w Krasnobrodzie — linkuj z jednego bloku, anchorami opisującymi miasto, nie ze stopki.
SLA to dokument, który mówi, co dostajesz co miesiąc i w jakim czasie dostaniesz reakcję, gdy coś padnie. Bez niego opieka zamienia się w telefon do znajomego programisty.
Czasy reakcji. Trzy poziomy: incydent krytyczny 2–4 h, wysoki 8 h, standardowy 1 dzień roboczy. W umowie musi być definicja „krytycznego”: sklep nie przyjmuje zamówień, brama płatnicza odrzuca transakcje, strona zwraca 500 na całym katalogu. Reakcja oznacza potwierdzenie zgłoszenia i rozpoczęcie pracy — nie rozwiązanie problemu. Dopisz okno serwisowe (np. 8:00–17:00 w dni robocze) i stawkę za pracę poza nim, inaczej „2 h” stanie się obietnicą dostępności 24/7 za darmo.
Zakres rutynowy. W SLA wpisz: aktualizacje core i wtyczek wykonywane najpierw na kopii staging (z testem koszyka i płatności), kopie zapasowe dzienne z retencją 30 dni plus dodatkową kopię przed każdą aktualizacją, monitoring uptime co 1 minutę z co najmniej dwóch lokalizacji, przegląd podatności oraz porządki w bazie (rewizje, transjenty, porzucone koszyki).
Czego SLA nie obejmuje. Rozbudowy funkcji i nowych integracji. To osobne zlecenia wyceniane w godzinach — poproś o stawkę już w umowie, żeby nie negocjować jej przy pierwszej potrzebie. Ustal też sposób rozliczania drobnych prac: bloki 15-minutowe albo miesięczny budżet godzinowy, po przekroczeniu którego prace wymagają Twojego zatwierdzenia.
Raport miesięczny. Powinien zawierać: dostępność w procentach, czas ładowania (medianę i 95. percentyl), liczbę błędów PHP, liczbę zamówień, liczbę zdarzeń w integracjach (webhooki, etykiety, synchronizacje z ERP) i listę wykonanych aktualizacji. Bez tych liczb nie da się zaplanować rozwoju sklepu.
| Typ zgłoszenia | Czas reakcji | Przykład |
|---|---|---|
| Krytyczny | 2–4 h | Sklep nie przyjmuje zamówień, brama płatnicza odrzuca transakcje |
| Wysoki | 8 h | Błąd 500 na karcie produktu, etykiety kurierskie się nie generują |
| Standardowy | 1 dzień roboczy | Zmiana treści, literówka, prośba o podmianę zdjęcia |
Zamawianie wdrożenia bez zapisanego zakresu i liczby godzin — oferta mówi tylko o „kompleksowej realizacji sklepu”.
Jak wykryć: W dokumentach nie ma podziału na etapy, stawki godzinowej ani listy czynności wyłączonych z wyceny.
Jak naprawić: Poproś o zakres z siedmioma etapami (analiza i decyzje, środowisko i hosting, instalacja i konfiguracja, katalog i treści, integracje, testy zamówienia i zwrotu, przekazanie z dokumentacją), szacunek w godzinach i spis wyłączeń.
Wrzucanie kilkudziesięciu wtyczek „na start”, bo każda pojedynczo wydaje się potrzebna.
Jak wykryć: Liczysz aktywne wtyczki w panelu WordPressa — jeśli jest ich więcej niż 20, każda strona zaczyna dociążać bazę i PHP.
Jak naprawić: Ustal limit 20 aktywnych wtyczek i wymagaj uzasadnienia biznesowego dla każdej. Funkcje, które można zastąpić kilkoma linijkami kodu w motywie, nie powinny być osobnymi modułami.
Backup, który leży na tym samym koncie hostingowym co sklep.
Jak wykryć: Pytasz wykonawcę, gdzie fizycznie trafiają kopie — jeśli odpowiedź brzmi „na serwerze”, kopia zniknie razem z hostingiem.
Jak naprawić: Wymagaj kopii poza serwerem (inne konto, inny dostawca) i udokumentowanego testu odtworzenia. Backup bez testu odtworzenia to tylko plik.
Testowanie sklepu wyłącznie na zalogowanym koncie administratora, gdzie cache stron nie działa.
Jak wykryć: Panel otwiera się błyskawicznie, a strona kategorii na telefonie wczytuje się kilka sekund.
Jak naprawić: Testuj w trybie incognito, na mobile, z wyłączonym cache w narzędziach deweloperskich. Sprawdź PageSpeed Insights i porównaj wynik z kontem administratora.
Zostawienie PHP 7.4, bo „sklep na tym działa i nie ma co ruszać”.
Jak wykryć: Wersję PHP sprawdzisz w panelu hostingu lub przez plik phpinfo. PHP 7.4 nie ma wsparcia bezpieczeństwa od listopada 2022 roku.
Jak naprawić: Przejdź na PHP 8.2 lub 8.3 na środowisku testowym, sprawdź logi błędów i dopiero potem wdróż na produkcję.
Odbiór sklepu bez przeprowadzenia pełnej ścieżki zamówienia i zwrotu od początku do końca.
Jak wykryć: Brak testowego zamówienia z płatnością, e-mailem potwierdzającym, fakturą, zmianą statusu i zwrotem środków.
Jak naprawić: Ustal scenariusz testowy przed odbiorem: zakup jako gość, zakup jako zalogowany, płatność online, płatność za pobraniem, anulowanie, zwrot, faktura. Każdy krok z podpisem po Twojej stronie.
Wdrożenie WooCommerce to projekt, który da się rozliczyć w godzinach i etapach — prosty sklep 40–70 h, średni 80–140 h, rozbudowany 160–260 h, a optymalizacja istniejącego sklepu 6–10 h audytu plus 20–60 h poprawek. Bez środowiska spełniającego minimum techniczne (PHP 8.2 lub 8.3, InnoDB, utf8mb4, object cache, HTTP/2) żadna optymalizacja nie utrzyma się długo. Wniosek jest prosty: najpierw zapisany zakres, potem mierzalne progi, dopiero na końcu rozmowa o cenie.
Dla sklepu do 300 produktów realny czas to 2–4 tygodnie, a dla katalogu 1000+ SKU z integracjami 6–10 tygodni. Kluczowy nie jest sam adres, a liczba decyzji, które trzeba podjąć, i gotowość treści po Twojej stronie. Jeśli zdjęcia i opisy nie są przygotowane, projekt stoi niezależnie od tego, kto go realizuje.
Punktem odniesienia powinna być liczba godzin, nie cena z sufitu. Prosty sklep to zwykle 40–70 godzin, średni 80–140 godzin, a rozbudowany z ERP i funkcjami B2B 160–260 godzin. Optymalizacja istniejącego sklepu to audyt 6–10 godzin plus 20–60 godzin na wdrożenie poprawek — dokładny zakres zależy od tego, co wyjdzie w audycie.
Nie zawsze. Najpierw sprawdź progi: PHP 8.2 lub 8.3, MySQL 8.0 lub MariaDB 10.6+, InnoDB, utf8mb4, pamięć PHP 256–512 MB, OPcache i object cache oraz HTTP/2 lub HTTP/3. Jeśli hosting nie spełnia choćby części z nich, żadna optymalizacja wtyczkowa nie przyniesie trwałego efektu — trzeba zmienić środowisko.
HPOS (High-Performance Order Storage) to sposób przechowywania zamówień w dedykowanych tabelach zamiast w tabeli wp_posts. Zwykle przyspiesza panel zamówień i raporty, ale wymaga sprawdzenia zgodności wtyczek oraz pełnej kopii bazy przed migracją. Kolejność jest zawsze ta sama: backup, testy na środowisku testowym, dopiero potem produkcja. Szczegóły opisuje dokumentacja WooCommerce.
Nie traktuj jednego wyniku jako celu. Liczą się progi Core Web Vitals na mobile w 75. percentylu: LCP ≤ 2,5 s, INP ≤ 200 ms, CLS ≤ 0,1 i TTFB ≤ 600 ms. Sklep z koszykiem, płatnościami i dynamicznym cennikiem nigdy nie będzie tak lekki jak statyczna strona — i nie musi.
To element, który klient musi dostarczyć. Minimum to zdjęcia w rozdzielczości 1500×1500 px, opisy, kategorie, atrybuty oraz dostępy do domeny i płatności. Możemy przygotować katalog po stronie technicznej — import, atrybuty, warianty — ale treści sprzedażowych nie wymyślimy za Ciebie bez znajomości produktu.
Zależy to wyłącznie od umowy. Zanim podpiszesz, ustal wprost: co jest w zakresie, co jest poza zakresem, jaka jest stawka godzinowa i ile trwa okres zgłaszania błędów po odbiorze. Jeśli tego nie ma na piśmie, każda drobna zmiana staje się osobnym zleceniem.
Jeśli chcesz porównać swoją obecną ofertę z realnym zakresem prac albo potrzebujesz audytu sklepu przed decyzją o przebudowie, napisz do nas — powiemy wprost, ile godzin widzimy w Twoim projekcie. Realizujemy wdrożenia i optymalizację WooCommerce także dla firm z Bełżca i okolic: Józefowa, Krasnobrodu i Zwierzyńca.