KERNAL
Realizacja · · 5 min czytania · Piotr

Przebudowa kernal.pl: z portalu o produkcie na stronę, która sprzedaje usługi

Punkt wyjścia

Pierwsza wersja kernal.pl/ była portalem build in public: opowiadała, czym jest KERNAL jako system Marketing Operations, dokumentowała proces budowy produktu, miała case studies, roadmapę i changelog. Robiła to, do czego została zaprojektowana.

Problem polegał na czym innym. Firma zarabia dziś na stronach, social mediach, reklamach i automatyzacjach dla małych firm — a strona o tym nie mówiła. Nie było cennika, nie było przykładów stron, nie było jednego prostego miejsca, w którym ktoś zostawia numer. Właściciel warsztatu, który trafiłby na kernal.pl/, nie znalazłby odpowiedzi na żadne ze swoich pytań.

Co postanowiliśmy

Jedna decyzja pociągnęła resztę: strona ma odpowiadać kupującemu, a nie opowiadać o nas. Stąd cennik z kwotami zamiast „wycena indywidualna”, trzy wzorcowe strony do kliknięcia zamiast opisu, jak pracujemy, i formularz, który pyta o jedną rzecz — numer telefonu.

Techniczne wybory wynikały z tego samego:

  • własny motyw bez page buildera i bez motywu premium — strona ma się ładować szybko na telefonie w słabym zasięgu;
  • treść strony głównej w jednym pliku — zmiana ceny to zmiana w jednym miejscu, a nie szukanie jej po kolejnych blokach w edytorze;
  • minimum połączeń na zewnątrz — fonty serwujemy ze swojego serwera, a awatary komentarzy rysujemy lokalnie zamiast pobierać je z zewnętrznego serwisu. Jedyne połączenie z zewnątrz to Google Analytics — i tylko wtedy, gdy odwiedzający wyrazi zgodę.

Jak to prowadziliśmy

Przed publikacją strona poszła do zewnętrznego przeglądu. Werdykt pierwszego audytu brzmiał: nie publikować w obecnej formie. Powstał plan naprawy i dopiero po nim ruszyliśmy dalej. Drugi przegląd, już samego motywu i wtyczki, dał czternaście uwag — wszystkie przyjęte.

Dwie z nich warto wymienić, bo pokazują, czego nie widać po sobie:

  1. Numer 481234567 zapisywał się jako 1234567. Kod zdejmował „48″ także z numerów, w których to jest kierunkowy do Włocławka. Formularz potwierdzał przyjęcie zgłoszenia, a oddzwonić się nie dało.
  2. Formularz bez JavaScriptu wysyłał dane metodą GET. Numer telefonu wylądowałby w adresie strony, w historii przeglądarki i w logach serwera — a samo zgłoszenie nie powstałoby wcale.

Trzy rzeczy, które wyszły dopiero na produkcji

Strona ruszyła 23 września o 18:05. Wieczorem tego samego dnia zrobiliśmy audyt już działającego serwisu i wtedy wyszły trzy rzeczy, których nie widać na localhoście.

1. Zgoda na analitykę zależała od cache — i to był poważny błąd

Strona stoi za pełnym cache HTML. O wstawieniu skryptu Google Analytics decydował kod na serwerze, na podstawie ciasteczka ze zgodą. Brzmi poprawnie, dopóki nie doda się do tego cache: wersja strony wygenerowana dla osoby, która wyraziła zgodę, mogła zostać podana komuś, kto jej nie wyraził.

Naprawa polegała na przeniesieniu całej decyzji do przeglądarki. Dziś serwer wysyła wszystkim identyczny HTML — sprawdziliśmy to na produkcji, porównując sumy kontrolne strony pobranej ze zgodą i bez niej — a o tym, czy analityka w ogóle się uruchomi, decyduje skrypt po stronie odwiedzającego. Przy okazji: wycofanie zgody faktycznie wyłącza pomiar i kasuje ciasteczka, zamiast tylko chować baner.

Sam baner i zapisana zgoda nie wystarczają, jeśli strona jest keszowana — o tym, co naprawdę trafia do przeglądarki, decyduje wtedy cache.

2. Zasoby motywu miały wersję wpisaną na sztywno

Arkusz stylów i skrypt były podpięte z numerem wersji wpisanym w kodzie. Po każdym wgraniu poprawionego motywu powracający odwiedzający dostawał starą wersję z pamięci przeglądarki — nowy plik leżał na serwerze i nikt go nie pobierał. To dlatego jeden z testów na produkcji zachowywał się inaczej, niż powinien.

Dziś numer wersji bierze się z czasu modyfikacji pliku, więc każda zmiana sama wymusza pobranie nowej wersji. Wada była niewidoczna z zewnątrz: odwiedzający nie miał jak zgłosić, że ogląda starszą wersję strony.

3. Blog pokazywał dwadzieścia pustych ramek

Wszystkie dwadzieścia dwa wpisy powstały bez obrazka wyróżniającego. Lista bloga rezerwowała miejsce na zdjęcie, więc strona wyglądała na niedokończoną. Zamiast dorabiać grafiki do archiwalnych tekstów, zmieniliśmy układ: wpis bez zdjęcia dostaje kreskę u góry i wygląda jak decyzja projektowa, a nie jak brak. To samo na liście realizacji — wiersze zamiast kafelków z pustymi kadrami.

Czego na tej stronie nie ma — świadomie

  • Numeru telefonu. Kontakt zaczyna się od zostawienia numeru; oddzwaniamy w 30 minut w dni robocze między 8:00 a 17:59, a przy zgłoszeniach poza tymi godzinami — do 9:00 najbliższego dnia roboczego.
  • Adresu firmy. Nie jest ujawniony w rejestrze i nie publikujemy go na stronie.
  • Regulaminu sprzedaży. Sprzedaż nie odbywa się przez stronę — nie ma koszyka, konta ani płatności online — więc zgodnie ze stanowiskiem prawnika nie tworzymy go na siłę. To decyzja o jednym dokumencie, a nie o wszystkich obowiązkach informacyjnych: polityka prywatności jest, bo strona zbiera numery telefonów, a zakres danych usługodawcy potwierdzamy z prawnikiem osobno.
  • Opinii klientów. Będą, kiedy będzie ich dość, żeby nie wyglądały na wybrane pod tezę.

Co z tego wynika dla Twojej strony

Trzy rzeczy, które warto sprawdzić u siebie, niezależnie od tego, kto robił stronę:

  1. Czy baner zgody faktycznie działa przy włączonym cache — czy wszyscy dostają ten sam kod śledzący niezależnie od tego, co kliknęli.
  2. Czy po aktualizacji strony powracający odwiedzający widzi nową wersję, czy starą z pamięci przeglądarki.
  3. Czy strona wygląda na skończoną także tam, gdzie brakuje materiałów — pusty kadr po zdjęciu, którego nie ma, mówi o firmie więcej, niż byśmy chcieli.

Jak wygląda gotowa strona zbudowana tą samą metodą, pokazujemy na trzech wzorcowych stronach — to strony demonstracyjne fikcyjnych firm, więc formularze na nich niczego nie wysyłają. Ceny zaczynają się od 1 190 zł netto za pakiet Start; to cena startowa dla umów podpisanych do 31.12.2026, bez zaliczki, z fakturą po odbiorze i trzema miesiącami opieki w cenie. Po tych trzech miesiącach opieka kosztuje 249 zł netto miesięcznie albo — po rozliczeniu — przekazujemy pliki i dostępy i utrzymanie organizujesz samodzielnie.

Masz stronę, która opowiada o czymś innym, niż dziś sprzedajesz? Zostaw numer — powiemy, co da się z nią zrobić: kontakt.

Zostaw numer — oddzwonimy i porozmawiamy o Twojej stronie.

Oddzwonimy w piątek do 9:00.

Oddzwońcie do mnie