Kategoria: WordPress i WooCommerce

  • Testy E2E w Cypressie dla sklepu WooCommerce – jak upewnić się, że koszyk zawsze działa

    Sklep internetowy, w którym nie działa koszyk, przez kilka godzin nie zarabia ani złotówki – a właściciel często dowiaduje się o tym dopiero od klienta. Aktualizacja wtyczki, nowa wersja WooCommerce, zmiana motywu – każda z tych rzeczy może po cichu zepsuć ścieżkę zakupu. Dlatego przy sklepach, nad którymi pracuję, stawiam na automatyczne testy end-to-end w Cypressie. W tym wpisie pokazuję, co warto testować i jak podejść do tego bez budowania wielkiego projektu QA.

    Czym są testy E2E i dlaczego akurat w sklepie?

    Testy end-to-end (E2E) symulują prawdziwego użytkownika: otwierają przeglądarkę, klikają w przyciski, wypełniają formularze i sprawdzają, czy strona zachowuje się zgodnie z oczekiwaniami. W sklepie WooCommerce najważniejsza jest jedna rzecz – czy klient jest w stanie kupić produkt. Test E2E sprawdza dokładnie to, niezależnie od tego, która wtyczka czy fragment kodu odpowiada za poszczególne kroki.

    Co testować w pierwszej kolejności

    Nie trzeba od razu pokrywać testami całego sklepu. Zacznij od ścieżek, które bezpośrednio wpływają na sprzedaż:

    1. Strona główna i kategoria – czy się ładują i czy wyświetlają produkty.
    2. Dodanie produktu do koszyka – także produktu z wariantami, np. z wyborem rozmiaru.
    3. Koszyk – zmiana ilości, usunięcie produktu, poprawne przeliczenie sumy.
    4. Kod rabatowy – czy działa poprawny kod i czy błędny zwraca komunikat.
    5. Zamówienie – przejście przez checkout aż do strony z podziękowaniem.
    6. Formularz kontaktowy i logowanie – jeśli sklep z nich korzysta.

    Przykładowy test: dodanie produktu do koszyka

    describe('Cart', () => {
      it('adds a product to the cart', () => {
        cy.visit('/sklep/')
        cy.get('[data-cy=product-card]').first().click()
        cy.get('[data-cy=add-to-cart]').click()
    
        cy.visit('/koszyk/')
        cy.get('[data-cy=cart-item]').should('have.length', 1)
      })
    })

    Zwróć uwagę na atrybuty data-cy. Zamiast polegać na klasach CSS, które zmieniają się przy każdej aktualizacji motywu, dodaję do kluczowych elementów stabilne atrybuty przeznaczone wyłącznie do testów. Dzięki temu zmiana wyglądu nie psuje testów, a test psuje się tylko wtedy, gdy naprawdę zepsuje się funkcja.

    Zasady, które oszczędzają nerwów

    Testuj na kopii sklepu, nie na produkcji

    Test, który składa zamówienie, tworzy prawdziwe zamówienie w bazie, wysyła maile i zmienia stany magazynowe. Dlatego testy uruchamiam na środowisku testowym (stagingu) z włączoną testową metodą płatności, np. płatnością przy odbiorze. Na produkcji wystarczą testy „tylko do odczytu”: czy strony się ładują i czy kluczowe elementy są widoczne.

    Nie czekaj „na sztywno”

    Komendy w stylu cy.wait(3000) spowalniają testy i i tak bywają zawodne. WooCommerce dodaje produkty do koszyka zapytaniami AJAX, więc lepiej przechwycić takie zapytanie przez cy.intercept() i poczekać dokładnie na jego zakończenie.

    Każdy test niezależny

    Test nie powinien zakładać, że poprzedni zostawił coś w koszyku. Każdy zaczyna od czystego stanu – dzięki temu wynik jest powtarzalny, a błąd łatwo zlokalizować.

    Kiedy uruchamiać testy

    • Po każdej aktualizacji WordPressa, WooCommerce, wtyczek lub motywu – najpierw na stagingu, potem dopiero na produkcji.
    • Po zmianach w kodzie – najlepiej automatycznie, przy każdym pushu do repozytorium (np. przez GitHub Actions).
    • Cyklicznie – prosty test „czy sklep żyje” uruchamiany codziennie potrafi wyłapać problem, zanim zauważy go klient.

    Podsumowanie

    Testy E2E w Cypressie nie są zarezerwowane dla dużych firm. Kilka dobrze dobranych scenariuszy – koszyk, kupon, zamówienie – daje właścicielowi sklepu spokój przy każdej aktualizacji, a deweloperowi pewność, że jego zmiana niczego nie zepsuła. Zacznij od jednego testu najważniejszej ścieżki zakupowej i rozbudowuj zestaw stopniowo.

  • Własny motyw WordPress czy page builder? Jak wybieram przy stronach firmowych

    Własny motyw WordPress czy page builder? Jak wybieram przy stronach firmowych

    Przy stronach firmowych na WordPressie prędzej czy później pada pytanie: budujemy na page builderze typu Elementor czy na własnym motywie? Ostatnio przygotowuję stronę dla warsztatu blacharsko-lakierniczego właśnie na własnym motywie, ale nie uważam, że to zawsze najlepszy wybór. W tym wpisie porównuję oba podejścia z perspektywy osoby, która robiła strony na jeden i drugi sposób.

    Page builder – zalety, których nie warto lekceważyć

    • Szybki start. Gotowe sekcje i szablony pozwalają postawić stronę w kilka dni.
    • Samodzielność klienta. Właściciel firmy może sam przestawić sekcję, podmienić zdjęcie czy dodać nową podstronę bez wzywania dewelopera.
    • Niższy koszt na starcie. Mniej godzin programisty to mniejsza faktura na początku współpracy.

    Dla małej firmy, która chce szybko być online i sama dbać o treści, to często rozsądny wybór.

    Gdzie page builder zaczyna przeszkadzać

    • Wydajność. Page buildery ładują dużo własnych stylów i skryptów, a każda sekcja to kilka zagnieżdżonych elementów HTML. Przekłada się to na wolniejsze ładowanie, szczególnie na telefonach, i słabsze wyniki Core Web Vitals.
    • Zależność od jednej wtyczki. Treść jest zapisana w formacie buildera. Zmiana narzędzia w przyszłości oznacza w praktyce przebudowę strony.
    • Brak spójności. Gdy każdy może ustawić inny odstęp, kolor i rozmiar czcionki, po roku strona wygląda jak składanka.
    • Więcej wtyczek, więcej aktualizacji. Dodatki do buildera to kolejne elementy, które trzeba aktualizować i które mogą się ze sobą gryźć.

    Własny motyw – co zyskujesz

    Lekki, czysty kod

    Ładujesz tylko te style i skrypty, których strona naprawdę potrzebuje. Przy dobrze zbudowanym motywie wysokie wyniki w PageSpeed Insights osiąga się bez dodatkowych wtyczek optymalizacyjnych.

    Pełna kontrola nad SEO i dostępnością

    Sam decydujesz o strukturze nagłówków, semantycznym HTML-u, danych strukturalnych i atrybutach dostępności. Nie walczysz z kodem generowanym przez narzędzie.

    Spójny system projektowy

    Kolory, typografia i odstępy są zdefiniowane w jednym miejscu. Każda nowa podstrona automatycznie wygląda tak samo dobrze jak pozostałe.

    Bezpieczeństwo i łatwiejsze utrzymanie

    Mniej wtyczek to mniej potencjalnych luk i mniej konfliktów przy aktualizacjach. Kod motywu można trzymać w repozytorium Git i wdrażać zmiany w kontrolowany sposób.

    A co z samodzielną edycją treści?

    To najczęstszy argument przeciwko własnemu motywowi – i da się go rozwiązać. Zamiast pozwalać na dowolne układanie elementów, przygotowuję gotowe, zaprojektowane bloki: sekcję usług, galerię realizacji, opinie klientów, FAQ, wezwanie do kontaktu. Klient wypełnia je treścią w edytorze blokowym WordPressa lub w polach przygotowanych np. w ACF. Ma swobodę w zakresie treści, ale nie zepsuje wyglądu strony.

    Jak wybieram w praktyce

    Page builder wybiorę, gdy:

    • budżet i czas są bardzo ograniczone,
    • klient chce często i samodzielnie zmieniać układ podstron, np. pod kampanie,
    • strona ma charakter tymczasowy albo testowy.

    Własny motyw wybiorę, gdy:

    • strona ma pracować na pozyskiwanie klientów z Google przez lata,
    • liczy się wydajność, szczególnie na telefonach,
    • firma ma określoną identyfikację wizualną, którą trzeba konsekwentnie utrzymać,
    • planowana jest dalsza rozbudowa, np. o sklep lub integracje.

    Podsumowanie

    Page builder i własny motyw to narzędzia do różnych zadań. Builder wygrywa szybkością startu i swobodą edycji, własny motyw – wydajnością, spójnością i długoterminowym kosztem utrzymania. Dla firm, dla których strona jest głównym źródłem zapytań od klientów, coraz częściej wybieram własny motyw z gotowymi blokami do edycji treści – to połączenie szybkości strony z wygodą dla klienta.

  • Google for WooCommerce – dlaczego warto podpiąć sklep i jak uniknąć odrzuconych produktów

    Jeśli prowadzisz sklep na WooCommerce i Twoje produkty nie pojawiają się w Google Zakupach, tracisz ruch, który może być całkowicie darmowy. Oficjalna wtyczka Google for WooCommerce łączy sklep z Google Merchant Center i automatycznie przesyła do Google informacje o produktach. W tym wpisie wyjaśniam, dlaczego warto ją podpiąć, jak przygotować sklep, żeby produkty nie zostały odrzucone, i na co uważać przy konfiguracji.

    Co daje Google for WooCommerce?

    • Bezpłatne informacje o produktach. Twoje produkty mogą wyświetlać się w zakładce Zakupy i innych miejscach w Google bez płacenia za kliknięcia.
    • Automatyczną synchronizację. Ceny, dostępność i nowe produkty aktualizują się w Merchant Center same – bez ręcznego generowania pliku XML.
    • Kampanie reklamowe z poziomu panelu. Gdy będziesz gotowy na płatną promocję, kampanię Performance Max uruchomisz bezpośrednio z WooCommerce.
    • Jedno miejsce do zarządzania. Błędy produktów i status zatwierdzenia widzisz w panelu sklepu, a nie tylko w osobnym narzędziu Google.

    Dla małego sklepu sam darmowy ruch z bezpłatnych informacji o produktach często jest wystarczającym powodem, żeby poświęcić na konfigurację jedno popołudnie.

    Zanim podepniesz: checklista sklepu

    Większość problemów z Merchant Center bierze się nie z wtyczki, tylko z braków w samym sklepie. Zanim połączysz konta, sprawdź:

    • Dane kontaktowe – adres, e-mail lub telefon widoczne na stronie.
    • Regulamin i polityka zwrotów – opublikowane i łatwo dostępne, najlepiej w stopce.
    • Koszty dostawy – jasno opisane i zgodne z tym, co skonfigurujesz w Merchant Center.
    • HTTPS w całym sklepie, łącznie z koszykiem i zamówieniem.
    • Ceny brutto – takie same na karcie produktu, w koszyku i w danych przesyłanych do Google.
    • Zdjęcia produktów – czyste, bez napisów promocyjnych, ramek i znaków wodnych.
    • Identyfikatory produktów – kod GTIN (EAN), jeśli produkt go ma, lub marka i numer katalogowy producenta.

    Najczęstsze powody odrzucenia produktów

    Niezgodna cena lub dostępność

    Google porównuje dane z feedu z tym, co widzi na stronie. Jeśli cena w feedzie różni się od ceny na karcie produktu, produkt zostanie odrzucony. Częste przyczyny to agresywny cache, promocje ustawione w inny sposób niż standardowa cena promocyjna WooCommerce albo wtyczki przeliczające ceny dopiero w przeglądarce.

    Brak identyfikatorów

    Produkty markowe bez GTIN mają ograniczoną widoczność. Warto uzupełnić kody EAN w danych produktu – wtyczka pozwala przypisać je do produktów i wariantów.

    Warianty produktów

    W sklepie odzieżowym jeden model koszulki to kilka rozmiarów i kolorów. Każdy wariant trafia do Google jako osobny produkt, więc każdy potrzebuje poprawnej ceny, dostępności i – najlepiej – własnego zdjęcia przy różnych kolorach.

    Zasady dotyczące określonych kategorii

    Niektóre rodzaje produktów, np. część chemii czy suplementy, podlegają dodatkowym zasadom reklamowym. Zanim zaczniesz, sprawdź w zasadach Merchant Center, czy Twój asortyment nie wymaga dodatkowych informacji lub nie jest ograniczony.

    Jak przebiega konfiguracja

    1. Instalujesz wtyczkę Google for WooCommerce i łączysz konto WordPress.com, Google oraz Merchant Center.
    2. Weryfikujesz i zgłaszasz własność domeny – wtyczka robi to w dużej mierze automatycznie.
    3. Wybierasz kraj docelowy, język i ustawienia wysyłki.
    4. Uruchamiasz synchronizację produktów i czekasz na weryfikację przez Google.
    5. Przeglądasz raport problemów i poprawiasz produkty z ostrzeżeniami lub odrzuceniami.

    Pierwsza weryfikacja może potrwać kilka dni. W tym czasie nie zmieniaj masowo cen ani struktury produktów – utrudnisz sobie diagnozę ewentualnych problemów.

    Nie zapomnij o pomiarze

    Ruch z Google Zakupów warto mierzyć od pierwszego dnia. Połącz sklep z Google Analytics 4 i skonfiguruj śledzenie konwersji, a jeśli planujesz reklamy – zadbaj o poprawnie wdrożony baner zgód z obsługą Consent Mode, który w Europejskim Obszarze Gospodarczym jest potrzebny do pełnego wykorzystania danych w reklamach Google. Bez pomiaru nie odpowiesz na najważniejsze pytanie: czy ten kanał sprzedaje.

    Podsumowanie

    Google for WooCommerce to jeden z najprostszych sposobów, żeby produkty z małego sklepu pojawiły się w Google bez budżetu reklamowego. Kluczem nie jest sama wtyczka, ale porządek w sklepie: kompletne dane kontaktowe i regulaminy, spójne ceny, dobre zdjęcia i identyfikatory produktów. Jeśli to przygotujesz przed podpięciem, większość produktów przejdzie weryfikację za pierwszym razem, a Ty zyskasz nowe, darmowe źródło ruchu.