Strona główna / Realizacje / Wulkanizacja Troszyn
Wulkanizacja Troszyn
Wyzwanie
Właściciel chciał stronę, która nie wraca do wykonawcy przy każdej zmianie ceny czy godzin. Do tego dwa warunki brzegowe: klient z telefonu ma zadzwonić albo dostać nawigację w dwóch kliknięciach, a Google ma widzieć adres, godziny otwarcia i opinie z wizytówki.
Trudniejszy okazał się warunek trzeci, ten wypowiedziany półgębkiem: żadnych wtyczek na abonament i żadnej listy aktualizacji, którą ktoś musi pilnować. Warsztat nie ma działu IT i nie będzie go miał.
- Motoryzacja - warsztat i wulkanizacja
- Projekt z Figmy, motyw blokowy, dwie wtyczki własne
- WordPress, motyw blokowy FSE, theme.json, wzorce blokowe, PHP, JavaScript, schema.org JSON-LD, Google Places API, WebP, WP-CLI, Figma
- 2 tygodnie
Zaczęliśmy od ustalenia, czego nie będzie
Nie ma page buildera. Nie ma kupionego szablonu. Motyw powstał od zera z projektu w Figmie, a każda sekcja z makiety stała się osobnym wzorcem blokowym: nagłówek strony głównej, pasek zaufania, karty usług, opinie, FAQ, formularz. Osiemnaście klocków w jednej kategorii w edytorze.
Po co ta gimnastyka? Żeby dopisanie usługi albo poprawka godzin nie wymagała ode mnie ani jednej linijki. Numer telefonu siedzi w części szablonu, więc poprawia się go raz i zmienia na wszystkich stronach naraz.
Dane firmy trzymam poza motywem
Decyzja z pierwszego dnia, której bym nie zmienił: adres, telefon, godziny otwarcia dzień po dniu, obsługiwane miejscowości i współrzędne siedzą we własnej wtyczce, nie w plikach wyglądu. Za dwa lata można wymienić całą szatę graficzną i widoczność w wyszukiwarce zostaje na miejscu.
Z tych samych danych lecą znaczniki, które Google czyta dosłownie: warsztat samochodowy z godzinami otwarcia, osobny opis usługi na każdej podstronie, ścieżka okruszków, wpisy bloga. Najbardziej lubię to, co dzieje się z sekcją pytań i odpowiedzi. Właściciel dopisuje pytanie zwykłym blokiem w edytorze, a wtyczka sama zgłasza je wyszukiwarce jako parę pytanie-odpowiedź. Nie ma dodatkowego pola do wypełnienia i nie ma o czym zapomnieć.
Opinie z wizytówki, ale bez czekania na Google
Druga wtyczka odpytuje Google raz na dobę i trzyma odpowiedź u siebie. Odwiedzający nigdy nie czeka na cudzy serwer, bo przy wyświetlaniu strony nie leci tam ani jedno zapytanie. W panelu ustawia się próg oceny, można ukryć pojedynczą opinię albo dopisać własną. Dzięki temu sekcja nie świeci pustką w dniu, w którym Google akurat nie odda danych.
Szybkość: zwykły hosting, żadnych sztuczek
Bez CDN i bez wtyczki od cache, bo przy tej skali to koszt utrzymania, a nie zysk. Zamiast tego kilka rzeczy zrobionych porządnie:
- pierwsze duże zdjęcie ładuje się priorytetowo, cała reszta grafik dopiero przy przewijaniu
- każdy obraz ma wpisane wymiary i warianty rozdzielczości, więc telefon nie ściąga pliku przygotowanego na monitor, a strona nie skacze w trakcie ładowania
- logo w WebP, oba kroje pisma z własnego serwera i z polskimi znakami, bo gotowe zestawy potrafią przyjechać bez „ł"
- kompresja po stronie serwera: HTML strony głównej idzie do przeglądarki jako 17 kB zamiast 99
Jedna rzecz zaskoczyła mnie po drodze. WordPress z automatu wyłącza odraczanie dla trzech pierwszych obrazów na stronie. Skoro sam wskazuję zdjęcie, które ma się ładować najszybciej, ten zapas zaczął pracować przeciwko mnie i trzy miniatury bloga spod linii załamania wskakiwały natychmiast. Próg zszedł do zera.
Telefon pod kciukiem
Na komórce na dole ekranu wisi pasek z dwoma przyciskami: „Zadzwoń" i „Dojazd". Warsztat żyje z telefonów, nie z formularzy, a kierowca z przebitą oponą nie przewija strony do stopki.
Zabezpieczenia, za które nikt nie płaci co roku
Utwardzenie wrzuciłem jako wtyczkę obowiązkową, czyli taką, której nie da się wyłączyć z panelu. Gdyby ktoś kiedyś wszedł na konto administratora, zabezpieczeń nie zdejmie z poziomu przeglądarki.
W praktyce: XML-RPC odcięty (jednym żądaniem da się tam upchnąć setki prób hasła, omijając liczniki logowań), lista użytkowników nie do wyciągnięcia, numery wersji ukryte, komentarze wyłączone. Warsztat ich nie potrzebuje, a nieużywane komentarze to darmowy cel dla spamu.
Pięć nieudanych logowań blokuje adres na kwadrans, przy uporze na godzinę. Resztę dokłada serwer: PHP wgrany do katalogu ze zdjęciami się nie wykona, a plik konfiguracyjny, kopie zapasowe i katalog gita zwracają 404. Przy liczniku zostawiłem w kodzie instrukcję odblokowania, na wypadek gdyby właściciel zamknął drzwi z kluczami w środku. Zdarza się każdemu.
Czego tu nie ma
Formularz kontaktowy z pułapką na boty, filtr kategorii na blogu i sekcja opinii są napisane pod tę stronę, więc lista wtyczek jest pusta. To nie punkt honoru, tylko rachunek. Każda wtyczka to aktualizacja do zrobienia, ryzyko konfliktu po aktualizacji WordPressa i czasem odnowienie licencji. Przy stronie warsztatu żadna z tych pozycji się nie zwraca.
Po odbiorze została jedna zasada do zapamiętania: treść zmienia się w edytorze, dane firmy w ustawieniach wtyczki. Nic poza tym nie wymaga kontaktu ze mną i o to od początku chodziło.
Efekty
0
wtyczek z zewnątrz do aktualizowania i opłacania co roku
17 kB
tyle waży strona główna w drodze do przeglądarki, zamiast 99 kB
18
sekcji, które właściciel przestawia i edytuje bez programisty