Perfect Blue · Onlineshop für Spiele und Zubehör

Verkaufsmodule und Datenbankoptimierung für einen Shop mit Videospielen

Ein eigenes Plugin mit Verkaufsmodulen für einen WooCommerce-Shop mit mehreren tausend Produkten, mit Kalender der Neuerscheinungen, Listen der Preissenkungen und Neuheiten und Bestsellern aus den echten Verkäufen, dazu ein Performance-Audit und das Aufräumen der Datenbank.

Startseite der Website: Perfect Blue
Verkaufsmodule in einem Plugin
6
automatische Tests vor jedem Deployment
162
Zeilen, die beim Sortieren der Produktlisten durchsucht werden
15,5 Mio. → 7 Tsd.

01 · Aufgabe

Aufgabe

Perfect Blue verkauft Spiele und Zubehör für Konsolen, mehrere tausend Produkte, mit Traffic, der von Neuerscheinungen und Vorbestellungen bestimmt wird. Fertige WooCommerce-Plugins hatten die Funktionen nicht, die der Kunde erwartete: Listen der Neuerscheinungen, wieder verfügbare Titel und Preissenkungen, berechnet aus der tatsächlichen Senkung und nicht aus einem durchgestrichenen Preis. Der Kunde wollte diese Dinge auf der Startseite und auf eigenen Unterseiten zeigen, mit Reitern je Plattform, so wie in seinem Entwurf. Ein eigenes Thema war die Geschwindigkeit: Der Shop mit mehreren hunderttausend Einträgen in den Bestelltabellen antwortete angemeldeten Kunden langsam.

02 · Lösung

Lösung

Ich habe ein Plugin geschrieben, in dem jedes Modul ein eigener, abschaltbarer Teil ist:

  • Kalender der Neuerscheinungen: Monatsraster und Liste der kommenden Titel, aufgebaut aus den bei den Produkten gespeicherten Erscheinungsdaten,
  • Preissenkungen und wieder verfügbare Artikel: eigene Zeitstempel am Produkt. Der Stempel entsteht bei einer echten Preissenkung oder wenn ein Artikel wieder auf Lager ist, sodass die Listen zeigen, was tatsächlich passiert ist,
  • Neuheiten und Bestseller: Bestseller aus den Bestellungen der letzten 30 Tage, getrennt nach Plattformen und mit eigenem Reiter für Vorbestellungen,
  • Sortierung: ausverkaufte Produkte rutschen ans Ende jeder Liste, auch nach dem Filtern,
  • Einstellungen: Namen der Abschnitte, Reihenfolge der Reiter und Limits ändert der Kunde selbst.

Die Module entstanden in der Testumgebung, mit automatischen Tests und Qualitätskontrolle des Codes bei jeder Änderung. Vor dem Deployment auf den Live-Shop durchlief der Code ein eigenes Sicherheitsaudit. Parallel habe ich ein Performance-Audit gemacht: die Menge der bei jedem Seitenaufruf geladenen Daten begrenzt, das Sortieren der Produktlisten beschleunigt, sodass der Shop einige tausend statt mehrerer Millionen Zeilen durchsucht, und den Cache so eingestellt, dass die Preise in den Modulen immer aktuell sind und der Shop nicht bei jedem Aufruf Hunderte Produktkarten neu aufbaut. Solche Module beschreibe ich unter Onlineshop erstellen lassen.

03 · Ergebnis

Ergebnis

Startseite und Unterseiten des Shops zeigen Neuerscheinungen, Preissenkungen, wieder verfügbare Artikel und Bestseller ohne manuell gepflegte Listen. Das Sortieren der Produktlisten durchsucht einige tausend statt mehrerer Millionen Zeilen. Weitere Korrekturen und Module kommen auf demselben Weg in den Shop: zuerst in die Testumgebung, dann in den Live-Shop.

Screenshots

Galerie der Unterseiten

1 / 2
Unterseite „Neuerscheinungen“ mit dem Monatskalender und der Zahl der Titel an jedem Tag, darunter die Liste der Neuerscheinungen Tag für Tag.
Unterseite „Wieder im Verkauf“ mit Reitern je Plattform und einem Produktraster mit Rabattplaketten.

Antwort innerhalb von 24 Stunden

Kostenloses Angebot

Schreiben Sie, was entstehen oder repariert werden soll. Ich beantworte Ihre Anfrage selbst und führe die Arbeit später auch aus.