WooCommerce przez lata opieralo sie na tym samym fundamencie: zamowienia ladowaly w tabeli wp_posts, a ich szczegoly w wp_postmeta - razem z postami bloga, stronami i wszystkim innym. Przy kilkudziesieciu zamowieniach tygodniowo to nie problem. Przy kilkuset dziennie robi sie ciasno, zapytania spowalniaja, a eksport raportu z 10 000 wierszy potrafi wisiec przez minute.

HPOS (High-Performance Order Storage) i nowy block checkout to odpowiedz WooCommerce na dojrzalosc platformy. Razem te dwie zmiany sa prawdopodobnie najwiekszym skokiem architektonicznym od czasu wprowadzenia Blocks API. Jesli prowadzisz sklep na WooCommerce i jeszcze nie migrowales - ten artykul tlumaczy co dokladnie sie zmienia, na co uwazac i jak przejsc przez to bez przerwy w dzialaniu sklepu.

Co to jest HPOS i co zmienia pod maska

HPOS przenosi dane zamowien z wp_posts i wp_postmeta do czterech dedykowanych tabel: wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data i wp_wc_order_meta. Brzmi technicznie, ale efekt jest bardzo praktyczny.

Stara struktura byla z gruntu nieoptymalna dla e-commerce: tabela wp_posts przechowuje wszystko w jednym worku, a kazde pole zamowienia (adres, metoda wysylki, status platnosci) wymagalo osobnego wiersza w wp_postmeta. Zapytanie "pokaz mi wszystkie zamowienia z Warszawy oplacone przelewem w ostatnich 7 dniach" wymagalo polaczenia wielu tabel i skanowania tysiecy wierszy.

Nowe tabele sa zaprojektowane specjalnie pod operacje WooCommerce. Kazdy wiersz wp_wc_orders to kompletny rekord zamowienia z indeksami na statusie, dacie i kliencie. Filtrowanie w panelu admina jest do 40 razy szybsze, a tworzenie nowego zamowienia (checkout) do 5 razy szybsze.

5xSzybsze tworzenie zamowien po migracji HPOS
40xSzybsze filtrowanie zamowien w panelu WooCommerce
4Nowe dedykowane tabele zastepujace wp_posts / wp_postmeta
8.2Wersja WooCommerce od ktorej HPOS jest domyslne dla nowych instalacji

Od WooCommerce 8.2 (pazdziernik 2023) HPOS jest wlaczone domyslnie dla nowych instalacji. Jesli instalowales sklep przed ta wersja - masz legacy tables i migracja jest do zrobienia recznie. Od WooCommerce 9.x istniejace sklepy dostaja widoczny monit w panelu.

HPOS kontra legacy: realne roznice dla wlasciciela sklepu

HPOS vs stara architektura zamowien

KryteriumLegacy (wp_posts)HPOS (dedykowane tabele)
Filtrowanie zamowien w paneluWolne przy duzym sklepieDo 40x szybsze
Tworzenie nowego zamowieniaStandardoweDo 5x szybsze
Raporty i eksport danychObciaza cala bazeTylko tabele WC
Backup i migracja sklepuZamowienia razem z postemLatwe wyizolowanie danych WC
Kompatybilnosc wtyczek100% starych wtyczekWymaga sprawdzenia zgodnosci
Mozliwosc cofnieciaNie dotyczyTak (dual-write mode)

Z mojej praktyki: jeden ze sklepow z ktoryms pracowalem mial okolo 15 000 zamowien, a panel zamowien ladowal sie przez 8-12 sekund. Po wlaczeniu HPOS czas spadl do ponizej sekundy. Eksport CSV do BaseLinker przestal timeoutowac. To nie jest zmiana ktora odczujesz przy 50 zamowieniach miesiecznie - ale sklepy z ciagla sprzedaza odczuwaja roznice natychmiast.

Tryb zgodnosci (dual-write) - twoj bufor bezpieczenstwa

Migracja HPOS nie musi byc skokiem na glebokowode. WooCommerce oferuje tryb zgodnosci (compatibility mode), ktory przez pewien czas zapisuje kazde zamowienie jednoczesnie do starych i nowych tabel. To podwojny zapis (dual-write) - przez co troche obciaza baze podczas przejscia, ale daje Ci pelne bezpieczenstwo.

Jak to dziala w praktyce: wlaczasz dual-write, WooCommerce synchronizuje historyczne zamowienia do nowych tabel (moze to chwile zajac przy duzej bazie), a przez kilka dni wszystko dziala na obu strukturach. Testujesz, sprawdzasz czy raporty sie zgadzaja, czy wtyczki nic nie tracza. Dopiero jak masz pewnosc - wylaczasz dual-write i przelaczasz sie calkowicie na HPOS.

Jesli wylaczysz tryb zgodnosci zanim przetestujesz sklep, a potem odkryjesz problem - cofniecie wymaga skryptu migracyjnego. Zostaw dual-write wlaczony przez minimum 3-5 dni roboczych.

Tryb zgodnosci wlaczasz w: WooCommerce > Ustawienia > Zaawansowane > Funkcje > "Wlacz tryb zgodnosci (synchronizuje zamowienia do tabeli postow)".

Jak sprawdzic czy Twoje wtyczki sa kompatybilne

To jest ten etap, na ktorym wiekszosc problemow migracyjnych sie ujawnia. Wtyczki, ktore bezposrednio czytaja lub zapisuja dane zamowien przez stare zapytania SQL albo przez bezposredni dostep do wp_posts - moga przestac dzialac albo zaczac pokazywac bledne dane.

Najszybsza droga to panel WooCommerce > Status > Wtyczki. WooCommerce oznacza tam kazda aktywna wtyczke ikonak kompatybilnosci z HPOS. Czerwone ostrzezenie = niekompatybilna.

Kategorie wtyczek, ktore najczesciej sa problemem:

  • wtyczki do fakturowania (Fakturownia, ifirma, wFirma) - jezeli nie maja oznaczenia HPOS-compatible, raportowanie moze byc bledne
  • wtyczki do wysylki i kurierow (InPost, DPD, DHL, Furgonetka) - starsze wersje czytaly zamowienia bezposrednio z wp_posts
  • wtyczki do eksportu zamowien i integracji z BaseLinkerem
  • niestandardowe wtyczki pisane na zamowienie 3-4 lata temu

Oficjalna lista kompatybilnych wtyczek jest dostepna na developer.woocommerce.com. InPost (WP Desk) od wersji 4.6.28 (grudzien 2025) deklaruje pelna zgodnosc z HPOS i block checkout.

Block checkout: co zastepuje stary [woocommerce_checkout]

Rownolegle do HPOS WooCommerce przestawia sie na block checkout - nowy strona kasy oparta na blokach Gutenberga i React, zastepujaca klasyczny shortcode [woocommerce_checkout].

Roznica architektoniczna jest duza: stary checkout to szablon PHP renderowany po stronie serwera, dostosowywany przez hooki i nadpisywanie template. Nowy block checkout to aplikacja React renderowana po stronie klienta, dostosowywana przez Block Filters i Inner Blocks.

Dla wlasciciela sklepu to oznacza: jesli chcesz dodac pole NIP, dedykowane pole dla numeru firmowego czy specyficzny widget do wyboru paczkomatu - sposob to zrobienia jest inny niz w starym checkout.

Stary checkout vs block checkout

CechaStary checkout (shortcode)Block checkout
RenderowaniePHP server-sideReact client-side
Customizacja poladd_filter hooks + PHPBlock Filters / Inner Blocks / dedykowane API
Szybkosc ladowaniaStandardowaSzybsza (React, lazy load)
Status w 2026Maintenance-only (tylko security)Aktywnie rozwijany
Pole NIPPrzez wc_checkout_fields filterPrzez checkout block API lub Flexible Checkout Fields
InPost geowidgetStandardowy hookWymaga wersji wtyczki z block support

Stary shortcode nie jest jeszcze usuniety - od WooCommerce 9.x jest w trybie maintenance-only, czyli dostaje tylko poprawki bezpieczenstwa. Mozesz go zostawic jesli Twoj sklep ma duzo niestandardowych pol i potrzebujesz czasu na przejscie. Ale nowe funkcje platnosci, lepsze analytics i UX - to wszystko trafi juz tylko do block checkout.

Pola niestandardowe, NIP i InPost - tutaj jest najwiecej ryzyka

Przy przejsciu na block checkout najczesciej wysypuja sie dwa obszary: pola fakturowe (NIP, nazwa firmy) i integacje z modulami wysylki (InPost geowidget, Paczkomat selector).

Stara metoda dodawania pola NIP (woocommerce_checkout_fields filter) dziala z klasycznym checkout, ale w block checkout to pole po prostu sie nie pokazuje. Klient widzi formularz bez pola NIP - zamowienie zostaje zlozone bez numeru, faktura nie moze byc wystawiona prawidlowo.

Najlepsze rozwiazanie ktore aktualnie stosuje w projektach to wtyczka Flexible Checkout Fields (WP Desk). Ma ona pelna kompatybilnosc zarwono z HPOS jak i z block checkout, automatycznie rozpoznaje istniejace pola i eksportuje dane zamowien do wtyczek fakturujacych (Fakturownia, ifirma). Szczegoly o dodawaniu pol do block checkout opisalem w osobnym artykule o polach niestandardowych w block checkout WooCommerce.

Co do InPost: od wersji 4.6.28 (grudzien 2025) wtyczka WP Desk InPost Paczkomaty ma wsparcie dla block checkout - naprawiono tam walidacje punktu odbioru i formatowanie pol. Jezeli masz starsza wersje - aktualizacja jest obowiazkowa przed migracja.

Plusy

  • Do 5x szybszy checkout dla klientow
  • Do 40x szybsze filtrowanie zamowien w panelu
  • Nowe funkcje platnosci i UX tylko w block checkout
  • Dedykowane tabele = latwiejszy backup i migracja danych WC
  • Tryb dual-write daje czas na bezpieczne przejscie

Minusy

  • Stare wtyczki moga nie dzialac bez aktualizacji
  • Pola niestandardowe (NIP, firmy) wymagaja osobnej adaptacji
  • Migracja historycznych zamowien trwa przy duzych bazach
  • Block checkout wymaga nowego podejscia do customizacji (Block API zamiast PHP hooks)
  • InPost i inne moduly wysylki trzeba sprawdzac wersja po wersji

Checklista migracji krok po kroku

Checklista migracji HPOS + block checkout

  • Zrob pelna kopie zapasowa bazy danych i plikow (przed czymkolwiek)
  • Wdraz zmiany na stagingu - nigdy nie zacznij od produkcji
  • Przejdz do WooCommerce > Status > Wtyczki i sprawdz kompatybilnosc HPOS
  • Zaktualizuj wszystkie niekompatybilne wtyczki lub znajdz zamienniki
  • Wlacz tryb zgodnosci (dual-write) w WooCommerce > Ustawienia > Zaawansowane > Funkcje
  • Poczekaj na synchronizacje historycznych zamowien (pasek postepu w panelu)
  • Przetestuj: zloz testowe zamowienie, sprawdz panel, sprawdz eksport do BaseLinker / fakturowni
  • Przejdz strone kasy na block checkout - sprawdz pola NIP, picker InPost, bramki platnosci
  • Po 3-5 dniach bez problemow - wylacz dual-write, HPOS pracuje samodzielnie
  • Monitoruj logi WooCommerce przez kolejny tydzien

Kiedy NIE migruj jeszcze teraz

Czasem lepiej poczekac. Jesli Twoj sklep ma:

  • wiele wtyczek pisanych na zamowienie kilka lat temu bez aktywnego developera
  • niestandardowy theme checkout z kilkudziesiecioma hookami PHP
  • integracje B2B z zewnetrznym ERP przez REST API opartym na starym modelu danych
  • to spiesznie nie warto. Legacy tables i stary checkout nadal dzialaja. Wyznacz okienko migracyjne (np. po sezonie), zaktualizuj lub wymien problematyczne wtyczki i migrowaj z planem.

Szybki test: wejdz na staging, wlacz HPOS z dual-write, zloz 3 zamowienia testowe roznym sposobami platnosci i sprawdz czy wszystkie poprawnie trafiaja do panelu, raportu i Twojej wtyczki fakturowej. To 30 minut ktore oszczedza Ci kilka godzin stress-debuggowania.

HPOS i block checkout jako inwestycja w skalowalnosc

Z perspektywy 13 lat pracy ze sklepami widze wyrazny wzorzec: sklepy ktore unikaly duzych zmian architektury przez lata konczyly z coraz trudniejszymi w utrzymaniu bazami kodu. Wtyczki przestawaly byc kompatybilne, aktualizacje wchodzily z bledem, a kazda zmiana wymagala coraz wiekszej ostroznosci.

HPOS i block checkout to inwestycja w to, ze Twoj sklep bedzie bez problemow updatowany za 2-3 lata, kiedy legacy mode moze juz nie byc wspierany. Firmy ktore obslugujesz na WooCommerce - czy to w Polsce czy na rynku DE - beda rosly, zamowien bedzie wiecej, a kazdemu zalezy zeby panel dzialal szybko.

Jesli chcesz zbudowac sklep od poczatku na aktualnej architekturze albo zaplanujesz migracje istniejacego - wiecej o calym procesie pisalem w kompleksowym przewodniku po WooCommerce 2026. Jesli masz istniejacy sklep i nie wiesz od czego zaczac, napisz do mnie - zrobie audyt architektury i powiem Ci co wymaga pilnej uwagi, a co mozna zostawic na pozniej.

Wdrożenia WooCommerce realizuje w ramach uslug budowy sklepow internetowych. Kazda migracja zaczyna sie od analizy, a nie od wcisniecia przycisku.

Najczęstsze pytania

Czy HPOS jest juz wlaczone domyslnie w WooCommerce 2026?

Tak - od WooCommerce 8.2 (pazdziernik 2023) HPOS jest wlaczone domyslnie dla nowych instalacji. Istniejace sklepy dostaja monit migracji w WooCommerce 9.x i nowszych. Stare sklepy dzialajace na legacy tables nadal dzialaja, ale nie beda juz rozwijane o nowe funkcje.

Co sie stanie jesli wlacze HPOS a jakies wtyczki sa niekompatybilne?

WooCommerce wykryje niekompatybilne wtyczki i wyswietli ostrzezenie jeszcze przed wlaczeniem HPOS. Jesli sprobowales wlaczyc i cokolwiek sie posypalo - tryb zgodnosci (dual-write) daje Ci bufor, bo dane sa jednoczesnie w obu strukturach. Wylacz HPOS, popraw wtyczki, skonczTesty - i wlacz ponownie.

Czy stary checkout [woocommerce_checkout] przestanie dzialac?

Na razie nie jest usuniety - od WooCommerce 9.x jest w trybie maintenance-only, czyli dostaje tylko poprawki bezpieczenstwa, bez nowych funkcji. Mozesz go zostawic jesli potrzebujesz czasu na przejscie, ale dlugoterminowo blok checkout to kierunek calego ekosystemu.

Jak sprawdzic ile mam niekompatybilnych wtyczek przed migracja HPOS?

Przejdz do WooCommerce > Status > Wtyczki. Zobaczysz tam liste wtyczek z ikonami kompatybilnosci z HPOS. Czerwona ikona ostrzezenia = niekompatybilna. Mozesz tez przejrzec oficjalna liste kompatybilnych wtyczek na developer.woocommerce.com.

Czy po wlaczeniu HPOS moge wrocic do starych tabel?

Tak, ale pod warunkiem ze miales wlaczony tryb zgodnosci (dual-write). Wtedy dane sa w obu strukturach i mozna cofnac przelacznik. Jesli wylaczysz tryb zgodnosci i zamowienia beda tylko w HPOS - cofniecie jest utrudnione i wymaga skryptu migracyjnego.

Czy block checkout dziala z Przelewy24, PayU i BLIK?

Najnowsze wersje oficjalnych wtyczek Przelewy24, PayU i PayPro SA (BLIK) maja wsparcie dla block checkout. Upewnij sie, ze masz aktualne wersje - stare wersje moga nie dzialac z nowym blokiem.