Zaprojektowałem i wdrożyłem dwa landingi sprzedażowe dla szkoły językowej dla dzieci Open Mind – osobno dla placówki na warszawskim Wilanowie i osobno dla Konina. Celowo postawione poza WordPressem, z własnym backendem formularza, podpisanym kryptograficznie przekazaniem leada do WordPressa, zabezpieczeniem na wypadek jego awarii i pełną warstwą pomiarową pod kampanie Google Ads i Meta.
Punkt wyjścia
Open Mind prowadzi kursy angielskiego dla dzieci w dwóch miastach. Ruszały kampanie płatne i potrzebne były strony docelowe, które realnie zbierają zapisy – a nie kolejna podstrona doklejona do istniejącego serwisu.
Istniejąca strona stoi na WordPressie z page-builderem i kilkunastoma wtyczkami. Budowanie landingu w środku takiego układu oznaczałoby, że aktualizacja buildera albo jednej z wtyczek może popsuć stronę docelową w trakcie trwania kampanii, za którą klient płaci dziennie. Do tego cache, opóźnianie skryptów i sklejanie plików – każdy z tych mechanizmów potrafi rozjechać formularz albo pomiar. Policzyłem, że w tym środowisku mam około sześciu niezależnych punktów awarii, i zaproponowałem inne rozwiązanie.
Co zrobiłem
Landingi stoją poza WordPressem – to czysty HTML, CSS i PHP w osobnych katalogach na tym samym serwerze, pod ładnymi adresami załatwionymi regułą w pliku konfiguracyjnym serwera, dopisaną ponad blokiem WordPressa (dzięki temu przetrwa jego aktualizacje). WordPress został nietknięty. Oba landingi są też całkowicie niezależne od siebie: osobne pliki, style, skrypty i grafiki, więc zmiana albo awaria w jednym mieście nie może dotknąć drugiego.
Formularz obsługuje własny backend. Zgłoszenie idzie bez przeładowania strony do skryptu, który waliduje dane, sprawdza pułapkę na boty i czas wypełniania, pilnuje limitu zgłoszeń z jednego adresu, a dopiero potem przekazuje leada do WordPressa – serwerowo, żądaniem podpisanym algorytmem HMAC-SHA256. Sekret nigdy nie trafia do kodu widocznego w przeglądarce. Po stronie WordPressa napisałem wtyczkę-odbiornik, która zapisuje zgłoszenie jako osobny typ treści i wysyła powiadomienie mailowe pod adres ustawiony per placówka.
Najważniejszy element tej układanki to zabezpieczenie na wypadek awarii. Jeśli WordPress nie odpowie, landing zapisuje leada do pliku na serwerze, wysyła mail awaryjny i i tak pokazuje użytkownikowi potwierdzenie. Przy ruchu płatnym nie ma innej opcji – awaria zaplecza nie może kosztować zgłoszenia, za które klient już zapłacił w aukcji reklamowej. Strona podziękowania ma osobny adres, więc konwersja jest mierzalna bez kombinowania.
Warstwę pomiarową zbudowałem kompletnie: kontener tagów, GA4 z własnymi wymiarami, piksel Meta ze zdarzeniami wyświetlenia i leada, zdarzenia intencji (kliknięcie w wezwanie do działania, rozpoczęcie wypełniania formularza, zamówienie rozmowy) oraz parametry kampanijne przekazywane razem z leadem. Wszystkie tagi marketingowe są uzależnione od zgody z banera – bez zgody nie odpalają się wcale. Do tego widget do zamawiania rozmowy, z rozdzieleniem numerów telefonu na dwie placówki i własnym mechanizmem uruchamiania po zgodzie, bo darmowa wersja banera zgód nie potrafi odblokowywać skryptów.
Osobno powstała wersja mobilna – projektowana pod telefon od zera, nie przeskalowana z desktopu – oraz sekcja z prawdziwymi opiniami Google, linkującymi do profili obu placówek.
Kluczowe funkcje
- Dwa niezależne landingi pod dwie placówki, postawione poza WordPressem – aktualizacja wtyczek nie może ich popsuć w trakcie kampanii
- Własny backend formularza: walidacja, pułapka na boty, pomiar czasu wypełniania, limit zgłoszeń
- Przekazanie leada do WordPressa żądaniem podpisanym HMAC-SHA256, z sekretem trzymanym wyłącznie po stronie serwera
- Wtyczka-odbiornik: leady jako osobny typ treści w panelu plus powiadomienia mailowe per placówka
- Zabezpieczenie na wypadek awarii zaplecza: zapis leada do pliku, mail awaryjny, potwierdzenie dla użytkownika mimo wszystko
- Pełna warstwa pomiarowa: kontener tagów, GA4 z własnymi wymiarami, piksel Meta, zdarzenia intencji, parametry kampanii
- Wszystkie tagi marketingowe warunkowane zgodą z banera
- Widget zamawiania rozmowy z osobnym numerem dla każdej placówki i własnym loaderem uruchamianym po zgodzie
Stack techniczny
Czysty HTML, CSS i PHP bez frameworka i bez page-buildera po stronie landingów. Po stronie WordPressa autorska wtyczka-odbiornik z własnym punktem końcowym REST i osobnym typem treści na leady. Pomiar: Google Tag Manager, GA4, piksel Meta, zdarzenia warstwy danych, Consent Mode z banerem zgód. Serwer LiteSpeed, adresy landingów obsłużone regułami przepisania nad blokiem WordPressa, z kopią konfiguracji do natychmiastowego wycofania zmiany.
Co z tego wynika dla Twojego projektu
Jeśli puszczasz płatny ruch na stronę, w której siedzi page-builder i kilkanaście wtyczek, to kupujesz sobie ryzyko, którego nie widać do dnia awarii. Landing oderwany od zaplecza jest szybszy, odporny na aktualizacje i łatwiejszy do zmierzenia – a leady i tak lądują tam, gdzie klient ich szuka, czyli w panelu i w skrzynce.
Wypełnij kalkulator cen dla swojego zakresu albo wyślij brief.
Pobierz Brief – szablon do wypełnienia przed wyceną
Jeśli planujesz zamówienie strony, najszybsza droga do konkretnej wyceny to wypełniony brief. 10-stronicowy PDF z 30+ pytaniami i checklistami – wpisujesz email, dostajesz link na skrzynkę.
Brief strony WordPress 2026
Wpisz adres email, dostaniesz link do pobrania na skrzynkę. Bez zapisu do newslettera, bez spamu.