Przejdź do treści
online
plv0.46.1 · 1d135e2
UtrzymywanyZaktualizowano 31 sie 2026

Decoroll

Sklep OpenCart z roletami: naprawiony kalkulator cen i checkout, a potem ratunek wydajnościowy, który zmniejszył obciążenie bazy danych i zdjął ograniczenie CPU nałożone przez hosting.

Strona główna Decoroll: sklep z roletami i żaluzjami okiennymi z przyciskiem katalogu, wyszukiwarką produktów, telefonem i godzinami otwarcia, banerem z roletami w salonie i popularnymi kategoriami, takimi jak zaciemniające, pionowe i dzień-noc

Zadanie

Sklep z roletami potrzebował naprawy kalkulatora cen i checkoutu — a potem był bliski wyłączenia przez hosting: strona i baza danych zużywały mniej więcej dwukrotność dziennego limitu CPU i nikt nie wiedział dlaczego.

Rozwiązanie

  • Kalkulator cen: poprawne zaokrąglanie (wcześniej dodawał 1 UAH nawet do pełnych kwot), suma koszyka nie rozjeżdża się już o 1–2 UAH przy kilku pozycjach, przycisk „Dodaj do koszyka” jest blokowany na czas liczenia ceny, żeby nikt nie zamówił po złej cenie na wolnym łączu, a zapytania kalkulatora nie zawodzą już przy mieszanym http/https.
  • Checkout: pole adresu dopasowuje się do metody dostawy (adres dla kuriera lub oddział), autouzupełnianie przeglądarki nie wypełnia już pól regionu, a Chrome przestał wstawiać zapisane hasło administratora do formularza zamówienia.
  • E-mail: wiadomości z formularza kontaktowego są wysyłane ze skrzynki sklepu z odwiedzającym w Reply-To, więc hosting przestał je odrzucać.
  • SEO: usunięto około 550 nieaktualnych przekierowań, poprawiono prefiksy języków w adresach URL obrazów i we wszystkich feedach produktowych, naprawiono w robots.txt mapę strony wskazującą na localhost.
  • Incydent z CPU: udokumentowane dochodzenie znalazło przyczynę źródłową — względne linki w motywie w połączeniu z niewalidowanymi przyjaznymi adresami URL tworzyły dla crawlerów nieskończoną przestrzeń stron. Zagnieżdżone adresy URL są teraz zwijane przekierowaniem, zanim uruchomi się PHP, linki poprawiono, dodano osiem indeksów w bazie danych i cache adresów URL, wyczyszczono tabelę sesji, wzmocniono obsługę obrazów, zatrzymano log błędów o rozmiarze 1 GB, a stronę przeniesiono za Cloudflare z ochroną przed botami — ze sprawdzoną kopią zapasową bazy danych przed każdą zmianą.
  • Środowisko developerskie: projekt trafił do gita ze środowiskiem Docker i lokalnymi konfiguracjami.

Rezultat

Wiersze odczytywane przy wyświetleniu strony produktu: 619 950 → 0. Sesje w bazie danych: 57 040 → 6777. Mapa strony: 1,12 s → 0,16 s. Po poprawkach strona główna odpowiada w 0,20 s, a strony produktów w 0,52–0,63 s. Hosting zdjął ograniczenie.

Zrzuty ekranu