Seit einiger Zeit bieten wir bei integer_net individuelle Analysen für auf Magento 1 oder Magento 2 aufbauende Online-Shops an. Einige dieser Shop-Analysen passieren innerhalb der Übernahme eines laufenden Projekts: Bevor wir auch nur eine einzige Zeile Code verändern, analysieren wir den Shop, um den derzeitigen Zustand des Projekts, die Code-Qualität und mögliche Fallstricke zu erkennen, die uns erwarten.
Bessere Basis für informierte Entscheidungen
Viele dieser Shop-Analysen werden durchgeführt, wenn der Shop-Betreiber eine unabhängige Einschätzung der technischen Basis erhalten möchte. Ohne vorherige Zugehörigkeit mit dem Projekt sind wir vollkommen frei darin, es zu untersuchen, nach Problemen mit der Performance oder der Sicherheit zu suchen, Core Hacks aufzuspüren und die allgemeine Code-Qualität zu analysieren.
Diese Einblicke dienen dann als Basis für die Entscheidung des Händlers.
Ist es an der Zeit, einem bisher vernachlässigten Bereich mehr Aufmerksamkeit zu widmen? Haben die früheren oder aktuellen Entwickler gute Arbeit geleistet? Gibt es unmittelbare Gefahren für den Erfolg des Online-Shops?
Struktur der Magento-Shop-Analyse
Der Ablauf ist grundsätzlich in drei Teile aufgeteilt:
- Analyse
- Bericht
- Empfehlungen
Magento-Shop-Analyse
Die erste Aufgabe ist es, alle Informationen über den Shop zu sammeln. Danach tauchen wir ein in den Code, um mehr über potenzielle Sicherheitsprobleme, Performance-Engpässe und die Code-Qualität zu erfahren.
Nach bekannten Magento-Sicherheitslücken, riskanten Konfigurationen und Hacks wird gesucht. Anschließend testen wir die Performance des Shops. Manchmal bedarf es nur einer einzelnen Zeile Code, um den kompletten Shop zu verlangsamen. Und zuletzt wird die Code-Qualität im Allgemeinen analysiert: Core-Hacks, die zukünftige Updates sehr aufwändig machen, und weitere Beeinträchtigungen im Code.
Sicherheit
Sicherheitslücken aufzudecken ist der wichtigste Teil der Analyse. Potenzielle Ergebnisse der Suche können sein:
- Fehlende Patches / veraltete Magento-Version
- Existierende Hacks (die bspw. Zahlungsdaten durchsickern lassen könnten)
- Unsichere Verzeichnisse und Dateien mit sensiblen Daten
In fast jedem der letzten Audits haben wir mindestens ein schwerwiegendes Sicherheitsproblem gefunden!
Update-Fähigkeit
Wenn der Code des Magento-Kerns direkt verändert wird, ist es unmöglich, neue Versionen von Magento einzusetzen ohne diese Änderungen zu überschreiben. Deshalb prüfen wir auf die folgenden Punkte:
- Modifizierte Kern-Dateien ("Core Hacks")
- Kopien gesamter Dateien und Verzeichnisse, wo es nicht nötig gewesen wäre
- Nutzung veralteter Konstrukte in der Programmierung, die nicht kompatibel sind mit neueren Versionen von Magento oder PHP
Code-Qualität
Code-Qualität bestimmt, wie schwierig es ist, bestehenden Code in der Zukunft zu erweitern oder zu verändern. Auch versteckt sich hinter schlechter Qualität häufig der eine oder andere Bug, da es schwieriger ist, sie hier zu finden. Um einen Eindruck der Code-Qualität zu bekommen, prüfen wir unter anderem in diesen Bereichen (in Stichproben):
- Individuelle Erweiterungen
- Drittanbieter-Erweiterungen
- Individuelle Templates
- Drittanbieter-Templates
Zusammenfassung der Ergebnisse im Bericht
Wenn die Analyse abgeschlossen ist, erstellen wir einen Bericht, der alle Ergebnisse und Funde zusammenfasst. Der Bericht ist ebenfalls eine Dokumentation unseres Prozesses und des analysierten Umfangs. Zum Beispiel wird bei manchen Shops nur eine Auswahl der Drittanbieter-Erweiterungen untersucht, und wir nutzen grundsätzlich Stichproben, da es nahezu unmöglich (oder zumindest sehr unwirtschaftlich) ist, alle Zeilen des Codes zu lesen.
Wir erstellen den Bericht, der üblicherweise 5 bis 10 Seiten umfasst, wahlweise in englischer oder deutscher Sprache.
Praktischer Rat
Zusätzlich zur puren Dokumentation der Untersuchungsergebnisse fügen wir unsere Empfehlungen zum Bericht hinzu. Dadurch werden die Probleme in Kontext gesetzt und anhand ihrer Schwere priorisiert. Dadurch kann jeder, der den Bericht liest, verstehen, in welchem Zustand sich die technologische Basis des Online-Shops befindet und welche Probleme - von einem unabhängigen Blickwinkel - zuerst gelöst werden sollten.
Unsere Empfehlungen umfassen oft:
- Entfernen von Hacks und Sicherheitslücken
- Ersetzen von Core Hacks durch Rewrites oder Plugins
- Ersetzen oder Entfernen bestimmter Drittanbieter-Module
- Einführen bestimmter Qualitätssicherungen
- Wechsel des Hostings
Wieso wir Shop-Analysen empfehlen
Nicht jeder Händler hat das Glück, an einen vertrauenswürdigen Dienstleister zu geraten. Es gibt leider ein paar schwarze Schafe da draußen, die entweder Best Practices ignorieren und den Core verändern, Arbeit an noch weniger vertrauenswürdige Parteien outsourcen oder die einfach nicht wissen, was sie tun, was (in einem komplexen System wie Magento) fatale Konsequenzen haben kann.
Die Shop-Analyse für Shops mit Magento 1 oder Magento 2 kann zur Feststellung des Status Quo genutzt werden und eine Karte für die nächsten Schritte auf dem Weg zu einer besseren technologischen Basis vorzeichnen.
Sie kann auch dabei helfen, einen sanfteren Übergang von einem Dienstleister zum anderen durchzuführen, wenn der aktuelle Stand festgestellt wird, bevor der Staffelstab weitergegeben wird. Das verhindert Schuldzuweisungen.
Interessante Fundstücke
Für uns ist eine Shop-Analyse wie eine Pralinenschachtel - man weiß nie, was man bekommt (das Lebensmotto von Forrest Gump). Leider ist es nicht ungewöhnlich, schwere Sicherheitslücken oder sogar Hacks zu finden. Das Gute ist, dass, einmal entdeckt, die Möglichkeit besteht, die Hacks zu beheben und die Grundlage des Online-Geschäfts zu verbessern. So fungiert eine Shop-Analyse häufig als Auslöser für Verbesserungen.
Achtung: Dieses Audit hatte einen größeren Umfang als unsere üblichen Audits, weshalb wir dort auch sehr detailliert auf die einzelnen Module eingegangen sind, was wir sonst nicht machen. Selbstverständlich ist der Umfang des Audits wie auch der Umfang des Berichtes individuell vereinbar. Ein Shop Audit eines Online-Shops kann oft der Auslöser für Verbesserungen sein.