Dostępne w Rzymie

Programista WooCommerce w Rzymie

Rzym to ważny ośrodek biznesowy i technologiczny. Pomagamy firmom działającym w Rzymie rozwijać obecność online dzięki wydajnym rozwiązaniom WordPress i WooCommerce.

Programista WooCommerce → Rzym

Wspieramy społeczność WordPress w Rzymie

Nie jesteśmy tylko zdalną agencją. Jesteśmy aktywną częścią ekosystemu. Wierzymy w Open Source i wnosimy wkład w społeczność, która napędza ponad 40% sieci (W3Techs).

Kontekst lokalny: Skalowalna architektura, wysoki poziom bezpieczeństwa oraz integracje z systemami enterprise dopasowane do wymagań lokalnego rynku.

Programista WordPress & WooCommerce w Rzymie

01. Wydajność dla lokalnego SEO

W Rzymie, gdzie konkurencja jest wysoka, szybkość strony to Twój najważniejszy atut SEO. Nasz stack Astro + Headless WP gwarantuje wyniki, które zostawiają konkurencję w tyle.

02. Bezpieczeństwo poziomu Enterprise

Dla firm w Rzymie obsługujących sektor Sektor publiczny i turystyka, bezpieczeństwo danych jest priorytetem. Architektura Headless wirtualnie eliminuje najczęstsze wektory ataków na WordPressa.

Sklep WooCommerce w Rzymie stoi obok sklepu z pamiątkami przy Termini z checkoutem w EUR i dostawą Poste Italiane do hotelu w centrum historycznym, hurtowni B2B dostawcy dla instytucji w dzielnicy EUR z cenami według ról i fakturą z Partita IVA, subskrypcji boxa turystycznego z Roma Startup Hub rozliczanej cyklicznie przez Stripe, albo sklepu merchu eventowego przed targami w Fiera di Roma, który w szczycie tygodnia musi przeżyć skok ruchu bez gubienia webhooków Nexi. To nie jest powód, żeby Woo udawało system rezerwacji wycieczek albo platformę CRM ministerstwa. To powód, żeby checkout, bramki Stripe i Nexi, IVA, dostawa i integracje magazynowe były napisane tak, jak oczekuje włoski dział compliance, magazyn w Lacio albo zespół prawny, który czyta GDPR i wytyczne Garante per la protezione dei dati personali, a nie tylko wynik Lighthouse na stronie kategorii.

WPPoland realizuje programowanie WooCommerce z polskiego zespołu seniorów dla firm w Rzymie i w szerszych Włoszech. Zakres to checkout, Stripe, Nexi, PayPal, Satispay, strefy dostaw, logika podatkowa IVA, hooki zamiast modyfikacji rdzenia i QA end-to-end na ścieżkach zamówień. Motyw WordPress, abonament opieki i kontakt są osobnymi tematami, z linkami na końcu.

#Checkout WooCommerce w Rzymie

Rzym to stolica administracyjna Włoch, centrum turystyki masowej i hub instytucji publicznych w Lacio. Miasto łączy dzielnicę EUR z ministerstwami i agencjami państwowymi, centrum historyczne z milionami odwiedzających rocznie, kampus Roma Startup Hub z ekosystemem technologicznym oraz halę Fiera di Roma, gdzie targi branżowe i eventy instytucjonalne generują skoki ruchu na landingach i sklepach WooCommerce. Sklep w tym układzie często nie jest wizytówką z koszykiem, tylko kanałem sprzedaży gadżetów turystycznych, katalogiem B2B dla dystrybutorów, subskrypcją produktów cyfrowych albo sklepem D2C dla marki, która właśnie ogłosiła premierę przed eventem w Fiera di Roma.

Brief od klienta w Rzymie często brzmi: mamy Elementor i trzydzieści wtyczek, checkout trwa wieczność, Apple Pay działa losowo, a po aktualizacji Woo zamówienia wiszą na oczekującym. To jest problem architektury checkoutu i webhooków Stripe, nie problem szablonu z marketplace. Typowy projekt, który trafia do seniorów Rzymie, nie brzmi zróbcie sklep. Brzmi: odziedziczony Woo z page builderem, Nexi skonfigurowany przez agencję trzy lata temu, magazyn klei statusy ręcznie po targach w Fiera di Roma, a dział prawny pyta, czy checkbox zgody w checkout i polityka prywatności da się obronić przed Garante Privacy przed szczytem Wielkanocy. To jest dług integracyjny, który wychodzi w marcu albo w lipcu przy sezonie turystycznym, nie w audycie SEO.

WordPress Roma spotyka się regularnie w ekosystemie rzymskim. To nie jest kanał sprzedaży. To sygnał, że lokalna społeczność zna WordPress Coding Standards i widzi różnicę między checkoutem z WooCommerce Blocks a page builderem generującym shortcode’y w treści. Sklepy, które tu stawiamy albo naprawiamy, zwykle łączą dwa rytmy: codzienną sprzedaż B2C z dostawą BRT do aglomeracji rzymskiej, oraz skoki katalogu przed Wielkanocą, szczytem lipca albo kampanią eventową, gdy magazyn w Lacio albo fulfilment w okolicach Rzymu musi wyjechać paczkami GLS, a nie listem poleconym Poste Italiane.

Prace trzymają się WooCommerce. Customizacje idą przez hooki action i filter oraz własną wtyczkę, nigdy przez edycję plików rdzenia. Granica między rdzeniem Woo, kodem wtyczki i motywem zapada na audycie i trafia do runbooka.

#Płatności na checkoucie we Włoszech w 2026

Włoski koszyk zaczyna się od waluty. Sklep w Rzymie sprzedaje w EUR. Stripe pokrywa większość scenariuszy międzynarodowych: karta z 3D Secure, Apple Pay, Google Pay i portfel PayPal. Nexi to włoska bramka, którą kupujący i księgowość w Rzymie znają z terminalem w sklepie stacjonarnym; integracja Woo z Nexi wymaga osobnego runbooku webhooków i testów sandbox. Satispay rośnie w retailu D2C, szczególnie w turystyce i lifestyle z centrum historycznego. Klient z aglomeracji rzymskiej oczekuje, że kwota na checkoucie, w mailu potwierdzającym i na wyciągu bankowym będzie w euro, z jawną stawką IVA.

Dla każdej bramki w runbooku zostaje: obsługiwane flow (jednorazowe, cykliczne, capture, zwrot pełny, zwrot częściowy), adres webhooka, lista zdarzeń które zmieniają status, matryca kont sandbox i historia idempotencji. Stripe zgłasza payment_intent.succeeded i charge.refunded osobnymi zdarzeniami. Nexi wymaga osobnej decyzji, czy capture idzie od razu, czy po nadaniu przesyłki - przy dużym gabarycie albo towarze personalizowanym druga opcja chroni przed pobraniem pieniędzy za SKU, którego nie ma w magazynie.

Kolejność metod na checkoucie ustawiamy pod włoskie nawyki: PayPal i Satispay wysoko, karta przez Stripe albo Nexi niżej, Apple Pay tam gdzie Safari dominuje w ruchu mobilnym z sezonu turystycznego, przelew bankowy (bonifico) tylko w ścieżce B2B z jasnym komunikatem o czasie księgowania. Domyślny szablon Woo z kartą na górze i bez portfela pracuje wbrew nawykom rynku włoskiego, w tym kupującego w Rzymie, który woli PayPal albo Satispay przy koszyku powyżej kilkuset euro.

Sklepy sprzedające do innych krajów UE muszą osobno rozwiązać VAT OSS albo lokalną rejestrację w kraju docelowym. Woo sam z siebie nie jest modułem OSS. Albo wtyczka podatkowa liczy stawki destynacji, albo ERP jest źródłem podatku, a Woo tylko zbiera adres i kwoty. Mieszanie obu źródeł to najczęstszy rozjazd w deklaracji IVA, który wychodzi dopiero na fakturze, a nie w koszyku.

#Strefy dostaw: BRT, GLS i Poste Italiane

Krajowa dostawa z Włoch w 2026 to przede wszystkim BRT (dawniej Bartolini), GLS i Poste Italiane Pacco Celere. BRT obsługuje paczki do standardowego gabarytu w aglomeracji rzymskiej. GLS daje kuriera do drzwi i sieć punktów ParcelShop w Rzymie: EUR, Ostiense, Tiburtina, Fiumicino, Ciampino. Strefy Woo rozdzielamy nie tylko na Włochy / UE / reszta świata, ale na wagę i wymiar: do progu listu, do progu paczki standardowej, powyżej kurier paletowy dla gabarytów.

Integracja z kurierem wymaga mapowania produktów Woo na usługi przewoźnika: BRT Express, GLS Business Parcel, Poste Italiane Standard. Wtyczka kuriera nie dodaje osobnej metody do listy stref Woo. Przypina się ją do istniejącej stawki ryczałtowej albo darmowej dostawy, a potem mapuje produkty w ustawieniach API. Ręczne klejenie etykiet w portalu BRT przy liczbie zamówień po eventie w Fiera di Roma nie skaluje się.

Etykieta i numer śledzenia wracają do zamówienia Woo i do maila klienta. Generowanie etykiety po payment_complete zdejmujemy do Action Scheduler (as_enqueue_async_action), żeby handler webhooka oddał 200 zanim API kuriera policzy routing. Lokalny odbiór w aglomeracji (EUR, magazyn w Lacio) ma osobną metodę z jasnym adresem punktu.

#IVA i pole Partita IVA

Stawki IVA we Włoszech w 2026: standardowa 22 procent, obniżona 10 procent (np. część produktów żywnościowych i usług hotelowych w określonych warunkach), super obniżona 4 procent na wybrane kategorie. Koszyk mieszany jest codziennością przy sklepie B2B dostawcy dla instytucji albo wystawienniczym, który sprzedaje katalog targowy obok gadżetu. Woo musi liczyć podatek per pozycja, a nie weź najwyższą stawkę koszyka. Błąd w klasie podatkowej produktu wychodzi dopiero na fakturze IVA.

B2B wewnątrz Włoch z ważnym numerem Partita IVA idzie jako transakcja z odwrotnym obciążeniem albo z zerową stawką tam, gdy przepisy na to pozwalają, o ile numer przejdzie walidację VIES i sklep zapisuje dowód sprawdzenia przy zamówieniu. Pole Partita IVA na checkoucie, walidacja i przełączenie klasy podatkowej to nie ozdoba formularza. Przy płatności bonifico B2B to samo pole decyduje, czy faktura w ogóle ma szansę przejść u księgowości w Rzymie.

Granicę co liczy podatek i wystawia dokument zapisujemy w runbooku: WooCommerce Tax, osobny silnik faktur (Fatture in Cloud, Danea, własna integracja), albo system księgowy klienta. Jedno źródło numeracji. Dwa źródła dają podwójne numery albo dziury, a audyt podatkowy tego nie wybacza.

#Webhooki, rezerwacja stanu i HPOS

Najczęstsza wada sklepów, które wracają do naprawy w Rzymie, nie leży w wyglądzie checkoutu. Leży w tym, co dzieje się po kliknięciu Paga con PayPal albo Effettua ordine. Sklep z magazynem w Lacio, który sprzedaje równolegle przez własne Woo i przez marketplace, płaci za ten błąd dwa razy: raz zamówieniem w limbo, drugi raz nadsprzedażą SKU, który był już zarezerwowany w drugim kanale.

#Status zamówienia ustala serwer, nie powrót klienta

Status zamówienia ustala powiadomienie serwer do serwera. Powrót klienta na stronę podziękowania nie jest źródłem prawdy. Endpoint order-received to zdarzenie przeglądarki. Przeglądarka jest zawodna: po autoryzacji PayPal klient zamyka kartę w metrze między Colosseum a Termini, traci sieć w parkingowym domu przy lotnisku Fiumicino, wraca z cache. Hook woocommerce_thankyou służy do wyświetlenia treści. Nie zmienia statusu płatności.

O pieniądzach decyduje callback bramki. W Woo odbiera go własny adres zwrotny z parametrem wc-api, czyli akcja z rodziny woocommerce_api_ rejestrowana przez wtyczkę bramki. Handler po weryfikacji sygnatury wywołuje payment_complete na obiekcie zamówienia i przenosi je z pending do processing. Sygnaturę sprawdzamy na surowym ciele żądania ze strumienia php://input, zanim cokolwiek zostanie sparsowane. Cięższą pracę po weryfikacji - synchronizację magazynu, wystawienie faktury, nadanie BRT albo GLS - zdejmujemy do Action Scheduler, żeby odpowiedź 200 wracała szybko i Stripe albo Nexi nie zaczęły ponawiać.

Powtórzony sygnał z bramki jest normą, nie awarią. Identyfikator zdarzenia zapisujemy w meta zamówienia i sprawdzamy przed przetworzeniem. Zamówienie już opłacone nie zmienia statusu drugi raz. Dostaje notatkę o zignorowanym duplikacie.

Płatność odrzucona i zwrot częściowy to dwie osobne ścieżki. Odrzucenie ustawia status failed, nie cancelled, bo zamówienie ma nadal dać się opłacić: klient dostaje link z get_checkout_payment_url. Zwrot częściowy idzie przez wc_create_refund z listą pozycji i kwot oraz z flagą zwrotu na bramce. Zamówienie zostaje w processing albo completed, a zwróconą kwotę czyta się z get_total_refunded, nie ze statusu.

#Rezerwacja magazynu i sprzedaż wielokanałowa

Stan rezerwujemy w momencie rozpoczęcia płatności, nie po jej potwierdzeniu. WooCommerce od wersji 4.3 zapisuje rezerwację w tabeli wp_wc_reserved_stock przez wc_reserve_stock_for_order, zwalnia ją przez wc_release_stock_for_order, a czas trzymania bierze z opcji woocommerce_hold_stock_minutes. Bez tego dwoje kupujących wchodzi w PayPal na ostatnią sztukę limitowanego SKU przed Wielkanocą i oboje dostają potwierdzenie.

Przy sprzedaży wielokanałowej rezerwacja Woo nie wie nic o Amazon, eBay albo innym kanale. Źródłem prawdy zostaje wspólna pula w ERP albo w warstwie fulfilment, a Woo trzyma stan przez synchronizację. Hold stock przy płatności bonifico B2B ustawia się dłużej niż przy PayPal: przelew z banku potrafi iść do następnego dnia roboczego.

#Tabele wp_wc_orders i tryb zgodności

High-Performance Order Storage jest domyślny dla nowych instalacji od WooCommerce 8.2. Zamówienia żyją wtedy w wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data i wp_wc_orders_meta, a nie jako wpisy shop_order w wp_posts. Sklepy postawione wcześniej przełączają się świadomie: najpierw tryb zgodności, potem HPOS jako magazyn autorytatywny, na końcu wyłączenie dual-write gdy raporty i wtyczki przestaną się rozjeżdżać.

Diagnostyka i raporty idą przez wc_get_orders oraz OrderUtil, nie przez SQL w wp_posts. Wtyczka, która w 2026 nadal szuka zamówień wyłącznie w postmeta, na HPOS pokazuje puste listy i gubi zwroty. Oficjalne Stripe, PayPal, Nexi, BRT i GLS są na HPOS od dawna. Problemem są stare konektory magazynowe i autorskie crony.

#GDPR, Garante Privacy i formularze we włoskim kontekście

Włochy stosują rozporządzenie UE 2016/679 (GDPR) wraz z krajową implementacją w D.Lgs. 196/2003 (Codice Privacy), nadzorowaną przez Garante per la protezione dei dati personali. Dla sklepu WooCommerce w Rzymie to nie jest abstrakcyjny paragraf prawny. To decyzje w formularzach, w wtyczkach consent, w polityce prywatności i w logach audytowych.

Co wpisujemy w brief i w kod:

  • Formularze zbierające dane osobowe (konto klienta, newsletter, zapytania B2B, checkout z zapisem do konta) dostają jawną podstawę prawną, checkbox zgody tam, gdzie consent jest wymagany, i minimalizację pól. Pola, których nie potrzebujesz do celu formularza, nie istnieją.
  • Wtyczki consent (Iubenda, Cookiebot, Complianz, popularne we Włoszech) konfigurujemy tak, żeby skrypty marketingowe nie ładowały się przed akceptacją. Wytyczne Garante Privacy wymagają świadomej zgody przed nieistotnymi plikami cookie. To jest decyzja w motywie i w kolejności enqueue, nie ticket opieki po pierwszym raporcie organu nadzorczego.
  • Polityka prywatności i cookie policy są szablonami z polami, nie blokami, które redaktor może usunąć z drzewa. W Rzymie te strony są elementem compliance, nie stopką marketingową.
  • Integracje z CRM (HubSpot, Salesforce, Pipedrive) dostają dokumentację przepływu danych: co trafia do systemu zewnętrznego, jak długo, kto jest administratorem. Umowy powierzenia przetwarzania to decyzja klienta, ale konfiguracja Woo musi umożliwiać realizację tej decyzji.
  • Logi audytowe dla formularzy i zmian w panelu admina pomagają przy incydentach. Jeśli ktoś pyta kto zmienił ustawienia formularza checkout w piątek przed Wielkanocą, odpowiedź nie może być nie wiemy.

Zespół nie obiecuje zgodności z GDPR bez właściciela procesu po stronie klienta. Nie składa raportu do Garante Privacy za klienta. Obiecuje konfigurację techniczną, którą właściciel może opisać w dokumentacji i włożyć do zgłoszenia naruszenia w 72 godziny, gdy procedura tego wymaga.

#Hosting w UE

Dane osobowe pod GDPR ciągną pytanie: w której jurysdykcji stoi serwer. AWS w Mediolanie (eu-south-1), Aruba we Włoszech, OVH we Francji, Hetzner w Niemczech, Scaleway w Paryżu to różne odpowiedzi dla compliance officer, ale wszystkie mieszczą się w UE. Ashburn albo Hillsboro to Stany i zwykle veto bez Standard Contractual Clauses albo innej podstawy transferu.

Pytanie czy hosting jest w Rzymie wraca rzadziej niż czy w UE. Odpowiedź operacyjna jest dwuczęściowa. Jurysdykcja: UE, kopia nie wyjeżdża nocą na bucket w regionie US bez uzgodnienia. Latencja: origin w Lacio albo Frankfurt plus CDN z terminałem TLS w UE zwykle wystarcza dla użytkowników we Włoszech i w Europie Środkowej.

#Zwroty i prawo konsumenckie jako operacje sklepu

Poniższe akapity opisują skutki w sklepie. Nie są poradą prawną. Teksty terms and conditions, privacy policy i polityki zwrotów zatwierdza kancelaria albo odpowiedzialny w firmie. Zadaniem Woo jest spiąć ten tekst z koszykiem, z przyciskiem, z mailem i z magazynem.

Konsument we Włoszech ma prawo odstąpić od umowy zawartej na odległość w ciągu 14 dni na podstawie D.Lgs. 206/2005 (Codice del Consumo). Termin zaczyna biec, gdy klient otrzymał towar. Dla magazynu w Lacio to nie ciekawostka prawna. To SKU, którego nie wolno sprzedać drugi raz, bo może wrócić za trzy kwartały.

Ścieżka operacyjna, którą budujemy:

  1. Klient składa zwrot z numerem zamówienia albo danymi, które pozwalają je znaleźć w wp_wc_orders.
  2. Sklep ustawia status RMA, wysyła potwierdzenie i etykietę zwrotną BRT albo instrukcję nadania GLS.
  3. Przyjęcie na magazynie zdejmuje blokadę SKU i dopiero wtedy idzie wc_create_refund na Stripe, Nexi, PayPal albo przelew zwrotny przy bonifico.
  4. Częściowy zwrot (jedna pozycja z trzech) nie zamyka całego zamówienia i nie zwraca kosztów wysyłki w ciemno; kwoty bierze się z pozycji, nie z ręcznego zwróć wszystko.
  5. Towar wyłączony ze zwrotu (higiena, personalizacja, treść cyfrowa po rozpoczęciu) musi mieć tę informację przy SKU przed zakupem.

Sezon po Wielkanocy i po eventach w Fiera di Roma to test tej ścieżki. Sklep, który w maju ręcznie klika zwroty w panelu PayPal, a stany poprawia w Excelu, rozjeżdża raport IVA i nadsprzedaje wracający towar.

#Katalog i checkout pod kalendarz Wielkanocy, sezonu turystycznego i Fiera di Roma

Wielkanoc, maj-czerwiec i lipiec-sierpień generują falę ruchu na sklepach turystycznych, landingach kampanii i integracjach z CRM w Rzymie. Fiera di Roma to drugi kalendarzowy punkt, którego nie da się zignorować w briefie. W tych oknach ruch na stronie rośnie wielokrotnie, newslettery idą w setkach tysięcy, a każda zmiana na produkcji jest ryzykiem. Dlatego w runbooku zapisujemy freeze wdrożeń: w tygodniu przed Wielkanocą, w szczycie lipca albo w oknie eventu w Fiera di Roma nie idą aktualizacje wtyczek, nie idą nowe bloki, nie idą zmiany w motywie. środowisko testowe dostaje zmiany, produkcja czeka do kilku dni po szczycie.

Katalog, który przez jedenaście miesięcy ma osiemset pozycji, przed sezonem dostaje warstwę limitowanych zestawów, cen obowiązujących do wyczerpania zapasu i wariantów, których nie ma w stałej ofercie. Woo musi to udźwignąć bez zgonu strony kategorii.

Nowa architektura checkoutu, przełączenie HPOS albo zmiana mapy stref BRT i GLS nie wchodzi na produkcję w oknie sezonowym. Tydzień przed Wielkanocą produkcja nie dostaje drobnej aktualizacji SEO. Drobna aktualizacja SEO w piątek przed szczytem potrafi nadpisać robots, wyciąć landing promocyjny z indeksu albo zepsuć cache strony sezonowej.

Warianty trzymamy jako prawdziwe variation z własnym SKU, wagą i klasą podatkową, nie jako pole tekstowe wpisz kolor. Duża macierz (rozmiar × kolor × materiał przy gadżetach turystycznych) dostaje własne zapytania i cache fragmentów.

Preorder przed premierą kolekcji: SKU jest widoczny, płatność schodzi, ale fulfillment stoi aż do daty. Status on-hold albo własny status warte na magazyn musi blokować etykietę kuriera. Inaczej wtyczka GLS nada pustą paczkę pod punkt ParcelShop przy Ostiense.

Ceny netto / brutto na checkoucie B2B (netto plus IVA) i B2C (brutto) to dwa szablony, nie przełącznik CSS. Kupujący z Partita IVA w Rzymie oczekuje netto. Konsument z aglomeracji oczekuje brutto.

#Rzym jako kontekst rynkowy, nie jako ozdobnik

Dzielnica EUR to serce administracji państwowej Włoch. Instytucje publiczne, agencje państwowe, dostawcy B2B dla sektora publicznego i platformy zamówień tworzą ekosystem, w którym sklep WooCommerce często obsługuje katalogi produktów, materiały szkoleniowe albo gadżety instytucjonalne. Awaria checkoutu albo wyciek logów z wp-admin to nie problem marketingu. To problem compliance i często temat dla prawnika przed Garante Privacy.

Fiera di Roma i kalendarz eventów to drugi filar. Organizatorzy targów, agencje eventowe i wystawcy publikują katalogi produktów, formularze rejestracji na spotkania w stoisku i landingi pod konkretną edycję targów. Skoki ruchu w kwietniu albo we wrześniu to realny profil awarii, który wymaga cache, CDN i stagingu z rollbackiem zapisanym przed wdrożeniem.

Centrum historyczne i sektor turystyczny budują sklepy z pamiątkami, operatorów wycieczek z merchu, hotele z sklepami online i marki D2C, które traktują WooCommerce jako kanał sprzedaży obok marketplace. Skoki ruchu przed Wielkanocą albo w lipcu to ten sam kształt zdarzenia co martwy checkout w szczycie sezonu turystycznego.

Roma Startup Hub łączy biura technologiczne z markami D2C, które traktują WooCommerce jako kanał sprzedaży obok Shopify albo marketplace. Skoki ruchu po ogłoszeniu rundy albo po wystąpieniu na konferencji to ten sam kształt zdarzenia co martwy checkout w szczycie kampanii.

Typowy brief, który trafia do seniorów Rzymie, nie brzmi zróbcie ładny sklep. Brzmi: odziedziczony Woo z trzydziestoma wtyczkami, checkout który gubi webhook Nexi, magazyn w Lacio synchronizowany ręcznie z Excela, księgowość czeka na eksport do Fatture in Cloud, a za tydzień startuje szczyt sezonu turystycznego przed Wielkanocą. To jest problem checkoutu, webhooków i HPOS, nie problem szablonu z marketplace.

#Subskrypcje, B2B i WooCommerce Blocks

WooCommerce Subscriptions w Rzymie spotykamy przy boxach D2C, subskrypcjach produktów cyfrowych albo abonamentach B2B z rozliczeniem cyklicznym przez Stripe. Subskrypcja wymaga osobnego runbooku: retry płatności, grace period, anulowanie, upgrade planu, synchronizacja z CRM. Webhook invoice.payment_failed od Stripe musi trafić do Woo i zmienić status subskrypcji, nie tylko wysłać maila.

B2B w Rzymie to ceny według ról, minimalne wielkości zamówień, procesy zapytań ofertowych i dedykowane portale do zarządzania kontami klientów biznesowych. WooCommerce B2B albo własna warstwa ról musi współgrać z Partita IVA i płatnością bonifico. Portal B2B, który pokazuje ceny netto bez walidacji roli, to wyciek cennika hurtowego na front publiczny.

WooCommerce Blocks Checkout ma sens, gdy checkout ma być lekki i nie ciągnąć całego page buildera. Bloki checkoutu renderują się serwerowo tam, gdzie to możliwe. Skrypty Stripe, Nexi i GLS Location Finder ładujemy wtedy, gdy checkout jest na ekranie, z preconnect do ich domen, nie w stopce każdej strony kategorii.

#Wydajność koszyka i checkoutu

Checkout jest dynamiczny. Pełny page cache na cart i checkout serwuje cudzy koszyk albo pusty fragment mini-cart. Warstwa cache (Redis, Cloudflare) omija te ścieżki albo stosuje segmentację. Fragmenty mini-cart liczymy osobno.

Obrazy katalogu idą w AVIF / WebP z srcset. Kampanie sezonowe generują ciężkie JPEG ze stoiska; bez przetwarzania LCP na karcie produktu spada, zanim kupujący zobaczy przycisk PayPal. Query Monitor na stagingu pokazuje, czy wtyczka kuriera i bramka nie dokładają po N zapytań na każdy request koszyka.

Pomiar: Lighthouse i dane terenowe na URL produktu, kategorii i checkoutu, przed i po. Wielkanoc albo szczyt lipca to test infrastruktury, nie średnia z kwartału. Monitoring z jednego regionu USA kłamie, gdy goście stoją w kolejce przy Colosseum. Punkt pomiaru w UE jest częścią kryteriów odbioru.

Core Web Vitals są czynnikiem rankingowym Google i jednocześnie czynnikiem konwersji na stronie, która zbiera zamówienia w szczycie kampanii. Nie obiecujemy konkretnej delty procentowej przed audytem, bo skala poprawy zależy od stanu wejściowego konkretnej instalacji. Budżety wydajnościowe ustalamy na starcie projektu i weryfikujemy je na danych terenowych z raportu CrUX, nie tylko w pomiarze laboratoryjnym.

#Zakres prac, QA i przekazanie

Audyt na wejściu obejmuje: taksonomię i klasy podatkowe IVA, kolejność metod płatności Stripe, Nexi i PayPal, strefy BRT i GLS, HPOS i listę wtyczek czytających zamówienia, webhooki, hold stock, ścieżkę zwrotu, eksport do Fatture in Cloud albo systemu księgowego, baseline Lighthouse, kalendarz Wielkanocy, sezonu turystycznego i eventów Fiera di Roma w harmonogramie wydań, konfigurację GDPR, cookie consent pod Garante Privacy. Na tym etapie zapada, co jest źródłem stanu, podatku i numeru dokumentu.

Implementacja idzie gałęziami funkcyjnymi. Każda bramka ma scenariusz sandbox: Stripe test mode, PayPal sandbox, Nexi test environment, Apple Pay w środowisku testowym. BRT i GLS mają środowiska testowe etykiet. QA kończy się zamówieniem, które przechodzi: koszyk mieszany ze stawkami IVA, punkt GLS ParcelShop, webhook, notatka w zamówieniu, etykieta, mail, a potem zwrot częściowy na tę samą bramkę.

Przekazanie to runbook bramek, mapa stref, opis zwrotu po stronie sklepu, instrukcja eksportu księgowego i zapis decyzji HPOS. Wycena jest indywidualna i na piśmie przed startem. Zmiany zakresu omawiamy z konsekwencją dla terminu. Nie publikujemy cennika SKU na tej stronie.

#Kiedy ta strona, a kiedy opieka albo programista WordPress

Ta strona zostaje przy sklepie: katalog, checkout, płatność, dostawa, stan, dokument, zwrot. Motyw bloga, Gutenberg, intranet albo strona korporacyjna centrali w EUR nie są tutaj tematem - to programista WordPress w Rzymie. Monitoring, aktualizacje rdzenia i kopie zapasowe bez przebudowy checkoutu to opieka techniczna WordPress w Rzymie. Szerszy opis utrzymania bez miasta: utrzymanie stron WordPress. Wspólny filar e-commerce: programista WooCommerce.

EUR, Fiera di Roma i sezon turystyczny tłumaczą, skąd biorą się sklepy B2B z Partita IVA i płatnością bonifico. Nie tłumaczą, czemu webhook Nexi bez idempotencji zostawia zamówienie w pending po Wielkanocy.

#Rozpocznij projekt sklepu WooCommerce w Rzymie

Do kontaktu wystarczy krótki opis: czy sklep już stoi, jakie bramki są włączone (Stripe, Nexi, PayPal, Satispay), skąd leci dostawa (BRT, GLS, odbiór w Lacio), czy HPOS jest włączony, jaki jest magazyn (Rzym, 3PL, centrala w Lacio), czy księgowość czeka na eksport do Fatture in Cloud, czy cookie consent blokuje tagi przed zgodą, i które daty Wielkanocy, szczytu lipca albo eventu w Fiera di Roma blokują wydanie. Na tej podstawie widać, czy potrzebna jest przebudowa checkoutu, czy zestawienie webhooków i stanów.

WPPoland pracuje przy WooCommerce od strony zamówienia, nie od strony slajdu. Rzym dostaje ten sam rygor inżynierski co każdy inny sklep, tylko ze stackiem, którego kupujący we Włoszech naprawdę używa, i z kalendarzem Wielkanocy, sezonu turystycznego oraz Fiera di Roma wpisanym w harmonogram wydań.

Mapa w Rzymie i okolic

Obsługujemy klientów w Rzymie i pobliskich miejscowościach.

Treść dedykowana:

Ta strona zawiera informacje przygotowane specjalnie dla Rzym.

Sklep WooCommerce w Rzymie stoi obok sklepu z pamiątkami przy Termini z checkoutem w EUR i dostawą Poste Italiane do hotelu w centrum historycznym, hurtowni B2B dostawcy dla instytucji w dzielnicy EUR z cenami według ról i fakturą z Partita IVA, subskrypcji boxa turystycznego z Roma Startup Hub rozliczanej cyklicznie przez Stripe, albo sklepu merchu eventowego przed targami w Fiera di Roma, który w szczycie tygodnia musi przeżyć skok ruchu bez gubienia webhooków Nexi. To nie jest powód, żeby Woo udawało system rezerwacji wycieczek albo platformę CRM ministerstwa. To powód, żeby checkout, bramki Stripe i Nexi, IVA, dostawa i integracje magazynowe były napisane tak, jak oczekuje włoski dział compliance, magazyn w Lacio albo zespół prawny, który czyta GDPR i wytyczne Garante per la protezione dei dati personali, a nie tylko wynik Lighthouse na stronie kategorii.

WPPoland realizuje programowanie WooCommerce z polskiego zespołu seniorów dla firm w Rzymie i w szerszych Włoszech. Zakres to checkout, Stripe, Nexi, PayPal, Satispay, strefy dostaw, logika podatkowa IVA, hooki zamiast modyfikacji rdzenia i QA end-to-end na ścieżkach zamówień. Motyw WordPress, abonament opieki i kontakt są osobnymi tematami, z linkami na końcu.

#Checkout WooCommerce w Rzymie

Rzym to stolica administracyjna Włoch, centrum turystyki masowej i hub instytucji publicznych w Lacio. Miasto łączy dzielnicę EUR z ministerstwami i agencjami państwowymi, centrum historyczne z milionami odwiedzających rocznie, kampus Roma Startup Hub z ekosystemem technologicznym oraz halę Fiera di Roma, gdzie targi branżowe i eventy instytucjonalne generują skoki ruchu na landingach i sklepach WooCommerce. Sklep w tym układzie często nie jest wizytówką z koszykiem, tylko kanałem sprzedaży gadżetów turystycznych, katalogiem B2B dla dystrybutorów, subskrypcją produktów cyfrowych albo sklepem D2C dla marki, która właśnie ogłosiła premierę przed eventem w Fiera di Roma.

Brief od klienta w Rzymie często brzmi: mamy Elementor i trzydzieści wtyczek, checkout trwa wieczność, Apple Pay działa losowo, a po aktualizacji Woo zamówienia wiszą na oczekującym. To jest problem architektury checkoutu i webhooków Stripe, nie problem szablonu z marketplace. Typowy projekt, który trafia do seniorów Rzymie, nie brzmi zróbcie sklep. Brzmi: odziedziczony Woo z page builderem, Nexi skonfigurowany przez agencję trzy lata temu, magazyn klei statusy ręcznie po targach w Fiera di Roma, a dział prawny pyta, czy checkbox zgody w checkout i polityka prywatności da się obronić przed Garante Privacy przed szczytem Wielkanocy. To jest dług integracyjny, który wychodzi w marcu albo w lipcu przy sezonie turystycznym, nie w audycie SEO.

WordPress Roma spotyka się regularnie w ekosystemie rzymskim. To nie jest kanał sprzedaży. To sygnał, że lokalna społeczność zna WordPress Coding Standards i widzi różnicę między checkoutem z WooCommerce Blocks a page builderem generującym shortcode’y w treści. Sklepy, które tu stawiamy albo naprawiamy, zwykle łączą dwa rytmy: codzienną sprzedaż B2C z dostawą BRT do aglomeracji rzymskiej, oraz skoki katalogu przed Wielkanocą, szczytem lipca albo kampanią eventową, gdy magazyn w Lacio albo fulfilment w okolicach Rzymu musi wyjechać paczkami GLS, a nie listem poleconym Poste Italiane.

Prace trzymają się WooCommerce. Customizacje idą przez hooki action i filter oraz własną wtyczkę, nigdy przez edycję plików rdzenia. Granica między rdzeniem Woo, kodem wtyczki i motywem zapada na audycie i trafia do runbooka.

#Płatności na checkoucie we Włoszech w 2026

Włoski koszyk zaczyna się od waluty. Sklep w Rzymie sprzedaje w EUR. Stripe pokrywa większość scenariuszy międzynarodowych: karta z 3D Secure, Apple Pay, Google Pay i portfel PayPal. Nexi to włoska bramka, którą kupujący i księgowość w Rzymie znają z terminalem w sklepie stacjonarnym; integracja Woo z Nexi wymaga osobnego runbooku webhooków i testów sandbox. Satispay rośnie w retailu D2C, szczególnie w turystyce i lifestyle z centrum historycznego. Klient z aglomeracji rzymskiej oczekuje, że kwota na checkoucie, w mailu potwierdzającym i na wyciągu bankowym będzie w euro, z jawną stawką IVA.

Dla każdej bramki w runbooku zostaje: obsługiwane flow (jednorazowe, cykliczne, capture, zwrot pełny, zwrot częściowy), adres webhooka, lista zdarzeń które zmieniają status, matryca kont sandbox i historia idempotencji. Stripe zgłasza payment_intent.succeeded i charge.refunded osobnymi zdarzeniami. Nexi wymaga osobnej decyzji, czy capture idzie od razu, czy po nadaniu przesyłki - przy dużym gabarycie albo towarze personalizowanym druga opcja chroni przed pobraniem pieniędzy za SKU, którego nie ma w magazynie.

Kolejność metod na checkoucie ustawiamy pod włoskie nawyki: PayPal i Satispay wysoko, karta przez Stripe albo Nexi niżej, Apple Pay tam gdzie Safari dominuje w ruchu mobilnym z sezonu turystycznego, przelew bankowy (bonifico) tylko w ścieżce B2B z jasnym komunikatem o czasie księgowania. Domyślny szablon Woo z kartą na górze i bez portfela pracuje wbrew nawykom rynku włoskiego, w tym kupującego w Rzymie, który woli PayPal albo Satispay przy koszyku powyżej kilkuset euro.

Sklepy sprzedające do innych krajów UE muszą osobno rozwiązać VAT OSS albo lokalną rejestrację w kraju docelowym. Woo sam z siebie nie jest modułem OSS. Albo wtyczka podatkowa liczy stawki destynacji, albo ERP jest źródłem podatku, a Woo tylko zbiera adres i kwoty. Mieszanie obu źródeł to najczęstszy rozjazd w deklaracji IVA, który wychodzi dopiero na fakturze, a nie w koszyku.

#Strefy dostaw: BRT, GLS i Poste Italiane

Krajowa dostawa z Włoch w 2026 to przede wszystkim BRT (dawniej Bartolini), GLS i Poste Italiane Pacco Celere. BRT obsługuje paczki do standardowego gabarytu w aglomeracji rzymskiej. GLS daje kuriera do drzwi i sieć punktów ParcelShop w Rzymie: EUR, Ostiense, Tiburtina, Fiumicino, Ciampino. Strefy Woo rozdzielamy nie tylko na Włochy / UE / reszta świata, ale na wagę i wymiar: do progu listu, do progu paczki standardowej, powyżej kurier paletowy dla gabarytów.

Integracja z kurierem wymaga mapowania produktów Woo na usługi przewoźnika: BRT Express, GLS Business Parcel, Poste Italiane Standard. Wtyczka kuriera nie dodaje osobnej metody do listy stref Woo. Przypina się ją do istniejącej stawki ryczałtowej albo darmowej dostawy, a potem mapuje produkty w ustawieniach API. Ręczne klejenie etykiet w portalu BRT przy liczbie zamówień po eventie w Fiera di Roma nie skaluje się.

Etykieta i numer śledzenia wracają do zamówienia Woo i do maila klienta. Generowanie etykiety po payment_complete zdejmujemy do Action Scheduler (as_enqueue_async_action), żeby handler webhooka oddał 200 zanim API kuriera policzy routing. Lokalny odbiór w aglomeracji (EUR, magazyn w Lacio) ma osobną metodę z jasnym adresem punktu.

#IVA i pole Partita IVA

Stawki IVA we Włoszech w 2026: standardowa 22 procent, obniżona 10 procent (np. część produktów żywnościowych i usług hotelowych w określonych warunkach), super obniżona 4 procent na wybrane kategorie. Koszyk mieszany jest codziennością przy sklepie B2B dostawcy dla instytucji albo wystawienniczym, który sprzedaje katalog targowy obok gadżetu. Woo musi liczyć podatek per pozycja, a nie weź najwyższą stawkę koszyka. Błąd w klasie podatkowej produktu wychodzi dopiero na fakturze IVA.

B2B wewnątrz Włoch z ważnym numerem Partita IVA idzie jako transakcja z odwrotnym obciążeniem albo z zerową stawką tam, gdy przepisy na to pozwalają, o ile numer przejdzie walidację VIES i sklep zapisuje dowód sprawdzenia przy zamówieniu. Pole Partita IVA na checkoucie, walidacja i przełączenie klasy podatkowej to nie ozdoba formularza. Przy płatności bonifico B2B to samo pole decyduje, czy faktura w ogóle ma szansę przejść u księgowości w Rzymie.

Granicę co liczy podatek i wystawia dokument zapisujemy w runbooku: WooCommerce Tax, osobny silnik faktur (Fatture in Cloud, Danea, własna integracja), albo system księgowy klienta. Jedno źródło numeracji. Dwa źródła dają podwójne numery albo dziury, a audyt podatkowy tego nie wybacza.

#Webhooki, rezerwacja stanu i HPOS

Najczęstsza wada sklepów, które wracają do naprawy w Rzymie, nie leży w wyglądzie checkoutu. Leży w tym, co dzieje się po kliknięciu Paga con PayPal albo Effettua ordine. Sklep z magazynem w Lacio, który sprzedaje równolegle przez własne Woo i przez marketplace, płaci za ten błąd dwa razy: raz zamówieniem w limbo, drugi raz nadsprzedażą SKU, który był już zarezerwowany w drugim kanale.

#Status zamówienia ustala serwer, nie powrót klienta

Status zamówienia ustala powiadomienie serwer do serwera. Powrót klienta na stronę podziękowania nie jest źródłem prawdy. Endpoint order-received to zdarzenie przeglądarki. Przeglądarka jest zawodna: po autoryzacji PayPal klient zamyka kartę w metrze między Colosseum a Termini, traci sieć w parkingowym domu przy lotnisku Fiumicino, wraca z cache. Hook woocommerce_thankyou służy do wyświetlenia treści. Nie zmienia statusu płatności.

O pieniądzach decyduje callback bramki. W Woo odbiera go własny adres zwrotny z parametrem wc-api, czyli akcja z rodziny woocommerce_api_ rejestrowana przez wtyczkę bramki. Handler po weryfikacji sygnatury wywołuje payment_complete na obiekcie zamówienia i przenosi je z pending do processing. Sygnaturę sprawdzamy na surowym ciele żądania ze strumienia php://input, zanim cokolwiek zostanie sparsowane. Cięższą pracę po weryfikacji - synchronizację magazynu, wystawienie faktury, nadanie BRT albo GLS - zdejmujemy do Action Scheduler, żeby odpowiedź 200 wracała szybko i Stripe albo Nexi nie zaczęły ponawiać.

Powtórzony sygnał z bramki jest normą, nie awarią. Identyfikator zdarzenia zapisujemy w meta zamówienia i sprawdzamy przed przetworzeniem. Zamówienie już opłacone nie zmienia statusu drugi raz. Dostaje notatkę o zignorowanym duplikacie.

Płatność odrzucona i zwrot częściowy to dwie osobne ścieżki. Odrzucenie ustawia status failed, nie cancelled, bo zamówienie ma nadal dać się opłacić: klient dostaje link z get_checkout_payment_url. Zwrot częściowy idzie przez wc_create_refund z listą pozycji i kwot oraz z flagą zwrotu na bramce. Zamówienie zostaje w processing albo completed, a zwróconą kwotę czyta się z get_total_refunded, nie ze statusu.

#Rezerwacja magazynu i sprzedaż wielokanałowa

Stan rezerwujemy w momencie rozpoczęcia płatności, nie po jej potwierdzeniu. WooCommerce od wersji 4.3 zapisuje rezerwację w tabeli wp_wc_reserved_stock przez wc_reserve_stock_for_order, zwalnia ją przez wc_release_stock_for_order, a czas trzymania bierze z opcji woocommerce_hold_stock_minutes. Bez tego dwoje kupujących wchodzi w PayPal na ostatnią sztukę limitowanego SKU przed Wielkanocą i oboje dostają potwierdzenie.

Przy sprzedaży wielokanałowej rezerwacja Woo nie wie nic o Amazon, eBay albo innym kanale. Źródłem prawdy zostaje wspólna pula w ERP albo w warstwie fulfilment, a Woo trzyma stan przez synchronizację. Hold stock przy płatności bonifico B2B ustawia się dłużej niż przy PayPal: przelew z banku potrafi iść do następnego dnia roboczego.

#Tabele wp_wc_orders i tryb zgodności

High-Performance Order Storage jest domyślny dla nowych instalacji od WooCommerce 8.2. Zamówienia żyją wtedy w wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data i wp_wc_orders_meta, a nie jako wpisy shop_order w wp_posts. Sklepy postawione wcześniej przełączają się świadomie: najpierw tryb zgodności, potem HPOS jako magazyn autorytatywny, na końcu wyłączenie dual-write gdy raporty i wtyczki przestaną się rozjeżdżać.

Diagnostyka i raporty idą przez wc_get_orders oraz OrderUtil, nie przez SQL w wp_posts. Wtyczka, która w 2026 nadal szuka zamówień wyłącznie w postmeta, na HPOS pokazuje puste listy i gubi zwroty. Oficjalne Stripe, PayPal, Nexi, BRT i GLS są na HPOS od dawna. Problemem są stare konektory magazynowe i autorskie crony.

#GDPR, Garante Privacy i formularze we włoskim kontekście

Włochy stosują rozporządzenie UE 2016/679 (GDPR) wraz z krajową implementacją w D.Lgs. 196/2003 (Codice Privacy), nadzorowaną przez Garante per la protezione dei dati personali. Dla sklepu WooCommerce w Rzymie to nie jest abstrakcyjny paragraf prawny. To decyzje w formularzach, w wtyczkach consent, w polityce prywatności i w logach audytowych.

Co wpisujemy w brief i w kod:

  • Formularze zbierające dane osobowe (konto klienta, newsletter, zapytania B2B, checkout z zapisem do konta) dostają jawną podstawę prawną, checkbox zgody tam, gdzie consent jest wymagany, i minimalizację pól. Pola, których nie potrzebujesz do celu formularza, nie istnieją.
  • Wtyczki consent (Iubenda, Cookiebot, Complianz, popularne we Włoszech) konfigurujemy tak, żeby skrypty marketingowe nie ładowały się przed akceptacją. Wytyczne Garante Privacy wymagają świadomej zgody przed nieistotnymi plikami cookie. To jest decyzja w motywie i w kolejności enqueue, nie ticket opieki po pierwszym raporcie organu nadzorczego.
  • Polityka prywatności i cookie policy są szablonami z polami, nie blokami, które redaktor może usunąć z drzewa. W Rzymie te strony są elementem compliance, nie stopką marketingową.
  • Integracje z CRM (HubSpot, Salesforce, Pipedrive) dostają dokumentację przepływu danych: co trafia do systemu zewnętrznego, jak długo, kto jest administratorem. Umowy powierzenia przetwarzania to decyzja klienta, ale konfiguracja Woo musi umożliwiać realizację tej decyzji.
  • Logi audytowe dla formularzy i zmian w panelu admina pomagają przy incydentach. Jeśli ktoś pyta kto zmienił ustawienia formularza checkout w piątek przed Wielkanocą, odpowiedź nie może być nie wiemy.

Zespół nie obiecuje zgodności z GDPR bez właściciela procesu po stronie klienta. Nie składa raportu do Garante Privacy za klienta. Obiecuje konfigurację techniczną, którą właściciel może opisać w dokumentacji i włożyć do zgłoszenia naruszenia w 72 godziny, gdy procedura tego wymaga.

#Hosting w UE

Dane osobowe pod GDPR ciągną pytanie: w której jurysdykcji stoi serwer. AWS w Mediolanie (eu-south-1), Aruba we Włoszech, OVH we Francji, Hetzner w Niemczech, Scaleway w Paryżu to różne odpowiedzi dla compliance officer, ale wszystkie mieszczą się w UE. Ashburn albo Hillsboro to Stany i zwykle veto bez Standard Contractual Clauses albo innej podstawy transferu.

Pytanie czy hosting jest w Rzymie wraca rzadziej niż czy w UE. Odpowiedź operacyjna jest dwuczęściowa. Jurysdykcja: UE, kopia nie wyjeżdża nocą na bucket w regionie US bez uzgodnienia. Latencja: origin w Lacio albo Frankfurt plus CDN z terminałem TLS w UE zwykle wystarcza dla użytkowników we Włoszech i w Europie Środkowej.

#Zwroty i prawo konsumenckie jako operacje sklepu

Poniższe akapity opisują skutki w sklepie. Nie są poradą prawną. Teksty terms and conditions, privacy policy i polityki zwrotów zatwierdza kancelaria albo odpowiedzialny w firmie. Zadaniem Woo jest spiąć ten tekst z koszykiem, z przyciskiem, z mailem i z magazynem.

Konsument we Włoszech ma prawo odstąpić od umowy zawartej na odległość w ciągu 14 dni na podstawie D.Lgs. 206/2005 (Codice del Consumo). Termin zaczyna biec, gdy klient otrzymał towar. Dla magazynu w Lacio to nie ciekawostka prawna. To SKU, którego nie wolno sprzedać drugi raz, bo może wrócić za trzy kwartały.

Ścieżka operacyjna, którą budujemy:

  1. Klient składa zwrot z numerem zamówienia albo danymi, które pozwalają je znaleźć w wp_wc_orders.
  2. Sklep ustawia status RMA, wysyła potwierdzenie i etykietę zwrotną BRT albo instrukcję nadania GLS.
  3. Przyjęcie na magazynie zdejmuje blokadę SKU i dopiero wtedy idzie wc_create_refund na Stripe, Nexi, PayPal albo przelew zwrotny przy bonifico.
  4. Częściowy zwrot (jedna pozycja z trzech) nie zamyka całego zamówienia i nie zwraca kosztów wysyłki w ciemno; kwoty bierze się z pozycji, nie z ręcznego zwróć wszystko.
  5. Towar wyłączony ze zwrotu (higiena, personalizacja, treść cyfrowa po rozpoczęciu) musi mieć tę informację przy SKU przed zakupem.

Sezon po Wielkanocy i po eventach w Fiera di Roma to test tej ścieżki. Sklep, który w maju ręcznie klika zwroty w panelu PayPal, a stany poprawia w Excelu, rozjeżdża raport IVA i nadsprzedaje wracający towar.

#Katalog i checkout pod kalendarz Wielkanocy, sezonu turystycznego i Fiera di Roma

Wielkanoc, maj-czerwiec i lipiec-sierpień generują falę ruchu na sklepach turystycznych, landingach kampanii i integracjach z CRM w Rzymie. Fiera di Roma to drugi kalendarzowy punkt, którego nie da się zignorować w briefie. W tych oknach ruch na stronie rośnie wielokrotnie, newslettery idą w setkach tysięcy, a każda zmiana na produkcji jest ryzykiem. Dlatego w runbooku zapisujemy freeze wdrożeń: w tygodniu przed Wielkanocą, w szczycie lipca albo w oknie eventu w Fiera di Roma nie idą aktualizacje wtyczek, nie idą nowe bloki, nie idą zmiany w motywie. środowisko testowe dostaje zmiany, produkcja czeka do kilku dni po szczycie.

Katalog, który przez jedenaście miesięcy ma osiemset pozycji, przed sezonem dostaje warstwę limitowanych zestawów, cen obowiązujących do wyczerpania zapasu i wariantów, których nie ma w stałej ofercie. Woo musi to udźwignąć bez zgonu strony kategorii.

Nowa architektura checkoutu, przełączenie HPOS albo zmiana mapy stref BRT i GLS nie wchodzi na produkcję w oknie sezonowym. Tydzień przed Wielkanocą produkcja nie dostaje drobnej aktualizacji SEO. Drobna aktualizacja SEO w piątek przed szczytem potrafi nadpisać robots, wyciąć landing promocyjny z indeksu albo zepsuć cache strony sezonowej.

Warianty trzymamy jako prawdziwe variation z własnym SKU, wagą i klasą podatkową, nie jako pole tekstowe wpisz kolor. Duża macierz (rozmiar × kolor × materiał przy gadżetach turystycznych) dostaje własne zapytania i cache fragmentów.

Preorder przed premierą kolekcji: SKU jest widoczny, płatność schodzi, ale fulfillment stoi aż do daty. Status on-hold albo własny status warte na magazyn musi blokować etykietę kuriera. Inaczej wtyczka GLS nada pustą paczkę pod punkt ParcelShop przy Ostiense.

Ceny netto / brutto na checkoucie B2B (netto plus IVA) i B2C (brutto) to dwa szablony, nie przełącznik CSS. Kupujący z Partita IVA w Rzymie oczekuje netto. Konsument z aglomeracji oczekuje brutto.

#Rzym jako kontekst rynkowy, nie jako ozdobnik

Dzielnica EUR to serce administracji państwowej Włoch. Instytucje publiczne, agencje państwowe, dostawcy B2B dla sektora publicznego i platformy zamówień tworzą ekosystem, w którym sklep WooCommerce często obsługuje katalogi produktów, materiały szkoleniowe albo gadżety instytucjonalne. Awaria checkoutu albo wyciek logów z wp-admin to nie problem marketingu. To problem compliance i często temat dla prawnika przed Garante Privacy.

Fiera di Roma i kalendarz eventów to drugi filar. Organizatorzy targów, agencje eventowe i wystawcy publikują katalogi produktów, formularze rejestracji na spotkania w stoisku i landingi pod konkretną edycję targów. Skoki ruchu w kwietniu albo we wrześniu to realny profil awarii, który wymaga cache, CDN i stagingu z rollbackiem zapisanym przed wdrożeniem.

Centrum historyczne i sektor turystyczny budują sklepy z pamiątkami, operatorów wycieczek z merchu, hotele z sklepami online i marki D2C, które traktują WooCommerce jako kanał sprzedaży obok marketplace. Skoki ruchu przed Wielkanocą albo w lipcu to ten sam kształt zdarzenia co martwy checkout w szczycie sezonu turystycznego.

Roma Startup Hub łączy biura technologiczne z markami D2C, które traktują WooCommerce jako kanał sprzedaży obok Shopify albo marketplace. Skoki ruchu po ogłoszeniu rundy albo po wystąpieniu na konferencji to ten sam kształt zdarzenia co martwy checkout w szczycie kampanii.

Typowy brief, który trafia do seniorów Rzymie, nie brzmi zróbcie ładny sklep. Brzmi: odziedziczony Woo z trzydziestoma wtyczkami, checkout który gubi webhook Nexi, magazyn w Lacio synchronizowany ręcznie z Excela, księgowość czeka na eksport do Fatture in Cloud, a za tydzień startuje szczyt sezonu turystycznego przed Wielkanocą. To jest problem checkoutu, webhooków i HPOS, nie problem szablonu z marketplace.

#Subskrypcje, B2B i WooCommerce Blocks

WooCommerce Subscriptions w Rzymie spotykamy przy boxach D2C, subskrypcjach produktów cyfrowych albo abonamentach B2B z rozliczeniem cyklicznym przez Stripe. Subskrypcja wymaga osobnego runbooku: retry płatności, grace period, anulowanie, upgrade planu, synchronizacja z CRM. Webhook invoice.payment_failed od Stripe musi trafić do Woo i zmienić status subskrypcji, nie tylko wysłać maila.

B2B w Rzymie to ceny według ról, minimalne wielkości zamówień, procesy zapytań ofertowych i dedykowane portale do zarządzania kontami klientów biznesowych. WooCommerce B2B albo własna warstwa ról musi współgrać z Partita IVA i płatnością bonifico. Portal B2B, który pokazuje ceny netto bez walidacji roli, to wyciek cennika hurtowego na front publiczny.

WooCommerce Blocks Checkout ma sens, gdy checkout ma być lekki i nie ciągnąć całego page buildera. Bloki checkoutu renderują się serwerowo tam, gdzie to możliwe. Skrypty Stripe, Nexi i GLS Location Finder ładujemy wtedy, gdy checkout jest na ekranie, z preconnect do ich domen, nie w stopce każdej strony kategorii.

#Wydajność koszyka i checkoutu

Checkout jest dynamiczny. Pełny page cache na cart i checkout serwuje cudzy koszyk albo pusty fragment mini-cart. Warstwa cache (Redis, Cloudflare) omija te ścieżki albo stosuje segmentację. Fragmenty mini-cart liczymy osobno.

Obrazy katalogu idą w AVIF / WebP z srcset. Kampanie sezonowe generują ciężkie JPEG ze stoiska; bez przetwarzania LCP na karcie produktu spada, zanim kupujący zobaczy przycisk PayPal. Query Monitor na stagingu pokazuje, czy wtyczka kuriera i bramka nie dokładają po N zapytań na każdy request koszyka.

Pomiar: Lighthouse i dane terenowe na URL produktu, kategorii i checkoutu, przed i po. Wielkanoc albo szczyt lipca to test infrastruktury, nie średnia z kwartału. Monitoring z jednego regionu USA kłamie, gdy goście stoją w kolejce przy Colosseum. Punkt pomiaru w UE jest częścią kryteriów odbioru.

Core Web Vitals są czynnikiem rankingowym Google i jednocześnie czynnikiem konwersji na stronie, która zbiera zamówienia w szczycie kampanii. Nie obiecujemy konkretnej delty procentowej przed audytem, bo skala poprawy zależy od stanu wejściowego konkretnej instalacji. Budżety wydajnościowe ustalamy na starcie projektu i weryfikujemy je na danych terenowych z raportu CrUX, nie tylko w pomiarze laboratoryjnym.

#Zakres prac, QA i przekazanie

Audyt na wejściu obejmuje: taksonomię i klasy podatkowe IVA, kolejność metod płatności Stripe, Nexi i PayPal, strefy BRT i GLS, HPOS i listę wtyczek czytających zamówienia, webhooki, hold stock, ścieżkę zwrotu, eksport do Fatture in Cloud albo systemu księgowego, baseline Lighthouse, kalendarz Wielkanocy, sezonu turystycznego i eventów Fiera di Roma w harmonogramie wydań, konfigurację GDPR, cookie consent pod Garante Privacy. Na tym etapie zapada, co jest źródłem stanu, podatku i numeru dokumentu.

Implementacja idzie gałęziami funkcyjnymi. Każda bramka ma scenariusz sandbox: Stripe test mode, PayPal sandbox, Nexi test environment, Apple Pay w środowisku testowym. BRT i GLS mają środowiska testowe etykiet. QA kończy się zamówieniem, które przechodzi: koszyk mieszany ze stawkami IVA, punkt GLS ParcelShop, webhook, notatka w zamówieniu, etykieta, mail, a potem zwrot częściowy na tę samą bramkę.

Przekazanie to runbook bramek, mapa stref, opis zwrotu po stronie sklepu, instrukcja eksportu księgowego i zapis decyzji HPOS. Wycena jest indywidualna i na piśmie przed startem. Zmiany zakresu omawiamy z konsekwencją dla terminu. Nie publikujemy cennika SKU na tej stronie.

#Kiedy ta strona, a kiedy opieka albo programista WordPress

Ta strona zostaje przy sklepie: katalog, checkout, płatność, dostawa, stan, dokument, zwrot. Motyw bloga, Gutenberg, intranet albo strona korporacyjna centrali w EUR nie są tutaj tematem - to programista WordPress w Rzymie. Monitoring, aktualizacje rdzenia i kopie zapasowe bez przebudowy checkoutu to opieka techniczna WordPress w Rzymie. Szerszy opis utrzymania bez miasta: utrzymanie stron WordPress. Wspólny filar e-commerce: programista WooCommerce.

EUR, Fiera di Roma i sezon turystyczny tłumaczą, skąd biorą się sklepy B2B z Partita IVA i płatnością bonifico. Nie tłumaczą, czemu webhook Nexi bez idempotencji zostawia zamówienie w pending po Wielkanocy.

#Rozpocznij projekt sklepu WooCommerce w Rzymie

Do kontaktu wystarczy krótki opis: czy sklep już stoi, jakie bramki są włączone (Stripe, Nexi, PayPal, Satispay), skąd leci dostawa (BRT, GLS, odbiór w Lacio), czy HPOS jest włączony, jaki jest magazyn (Rzym, 3PL, centrala w Lacio), czy księgowość czeka na eksport do Fatture in Cloud, czy cookie consent blokuje tagi przed zgodą, i które daty Wielkanocy, szczytu lipca albo eventu w Fiera di Roma blokują wydanie. Na tej podstawie widać, czy potrzebna jest przebudowa checkoutu, czy zestawienie webhooków i stanów.

WPPoland pracuje przy WooCommerce od strony zamówienia, nie od strony slajdu. Rzym dostaje ten sam rygor inżynierski co każdy inny sklep, tylko ze stackiem, którego kupujący we Włoszech naprawdę używa, i z kalendarzem Wielkanocy, sezonu turystycznego oraz Fiera di Roma wpisanym w harmonogram wydań.

Społeczność WordPress w Rzymie

Współorganizujemy WordCamp Gdynia od 2015 i pracujemy w zespole organizacyjnym WordCamp Europe od 2024. To, czego uczymy się na tych wydarzeniach, wraca do kodu, który piszemy dla klientów.

Przewodniki metodyczne (SEO, GEO, compliance)

Te materiały opisują, jak pracujemy nad cytowaniami w modelach językowych, modernizacją WooCommerce B2B oraz odpornością operacyjną pod NIS2 i przetargi - niezależnie od miasta realizacji.

Zobacz też w innych miastach Włoch

Co wyróżnia w Rzymie

Lokalna ekspertyza: - Checkout WooCommerce w Rzymie w EUR przez Stripe, Nexi i PayPal z 3DS i webhookami - Strefy dostaw BRT, GLS i Poste Italiane z punktami odbioru w aglomeracji rzymskiej - HPOS w tabelach wp_wc_orders, rezerwacja stanu i idempotencja webhooków płatności Nasz zespół rozumie specyfikę rynku w Rzymie i dostosowuje rozwiązania do lokalnych potrzeb biznesowych. Największą przewagą jest połączenie technicznej jakości z lokalnym kontekstem biznesowym Rzymu.

Potrzebujesz usługi: Programista WooCommerce w Rzymie?

Porozmawiajmy o tym, jak możemy wprowadzić Twoją stronę na wyższy poziom wydajności.

Umów bezpłatną konsultację w Rzymie

FAQ - Programista WooCommerce w Rzymie

Co jest punktem odniesienia dla sceny technologicznej w Rzymie?

Roma Startup Hub. Dla briefu ma to jedno konkretne znaczenie: mówi, jakie stacki znają lokalni ludzie, a przekazanie projektu przeżywa tylko wtedy, gdy ktoś na miejscu potrafi podnieść ten kod.

Czego zwykle dotyczy brief z Rzymu?

Zlecenia idą przede wszystkim od: Sektor publiczny i turystyka. Skalowalna architektura, wysoki poziom bezpieczeństwa oraz integracje z systemami enterprise dopasowane do wymagań lokalnego rynku. Lista odbioru dla rynku Włochy obejmuje GDPR, NIS2, Legge Stanca oraz EAA (D.lgs. 82/2022). Nic z tego nie dotyczy wyłącznie Rzymu, obowiązuje na całym rynku, ale wpisane w zakres kosztuje mniej niż dokładane po starcie.

Czy modyfikujecie rdzeń WooCommerce?

Nie. Sklep w Rzymie musi przetrwać aktualizacje Woo, więc customizacje idą przez udokumentowane hooki action i filter, plus podział na własną wtyczkę checkoutu i motyw tam gdzie powinno. Modyfikacje plików rdzenia nie są wykonywane. Granica między rdzeniem Woo, kodem wtyczki i motywem zapada na etapie architektury i jest zapisana w runbooku.

Technologie i Specjalizacje - w Rzymie

Wspominamy o:

WooCommerceWordPressStripePayPalGeneral Data Protection Regulation
Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.