Anzeige
Anzeige
E-Commerce
Artikel merken

Produkte, Hardware und Software optimal konfigurieren: Magento im Praxiseinsatz

Die neue Open-Source-Shopsoftware Magento hat bereits während der Betaphase für einiges an Wirbel und Aufmerksamkeit gesorgt. Dennoch war es überraschend, dass die Software bereits vor dem offiziellen Release über 200.000 Mal heruntergeladen wurde. Wir zeigen, was Magento kann, wie der Einstieg gelingt und welche Anforderungen das Shop-System stellt.

11 Min. Lesezeit
Anzeige
Anzeige

Technologisch setzt Varien, das Unternehmen hinter Magento, auf das PHP-Framework „Zend Framework“. Die Software ist daher beliebig skalier- und erweiterbar und wächst problemlos mit dem Shop mit. Dadurch sind der Flexibilität kaum Grenzen gesetzt. Durch eine klare Trennung zwischen Programmkern und individuellen Funktionalitäten bleibt die Updatefähigkeit jederzeit erhalten.

Anzeige
Anzeige

Diese Flexibilität bekommt man allerdings nicht ganz umsonst – man erkauft sie sich vielmehr mit einem erhöhten Einarbeitungs- und Programmieraufwand sowie erhöhtem Hardware-Bedarf. In diesem Zusammenhang sollte eines unbedingt beachtet werden: Wer sich ernsthaft mit der Magento-Programmierung auseinandersetzen möchte, sollte Erfahrung im Umgang mit Entwicklungs-Frameworks sowie umfangreiche PHP-Kenntnisse mitbringen. Andernfalls gestalten sich die ersten Schritte entsprechend schwierig und langwierig.

Das Shop-Konzept von Magento

Um die Logik hinter Magento und damit die Funktionalitäten und Möglichkeiten besser verstehen zu können, sollte man sich zu Beginn mit den Grundzügen der sogenannten SKU (Stock Keeping Unit) vertraut machen, auf der das Shop-Konzept basiert. Dies hilft dabei, die Unterscheidung zwischen Simple Products und Configurable Products besser zu verstehen – eine Eigenheit von Magento bei der Produktanlage und Verwaltung.

Anzeige
Anzeige

Unter der Stock Keeping Unit versteht man die eindeutige Bezeichnung eines Produkts anhand einer Produktkennung, meist einer alphanummerischen Kombination. Dies bedeutet in der Praxis, dass es für jedes Produkt – besser gesagt für jede Ausprägung eines Produkts – eine eindeutige Nummer und somit eine eindeutige Zuordnung gibt.

Anzeige
Anzeige

Ein Beispiel aus der Praxis verdeutlicht dies. Ein Onlineshop verkauft T-Shirts in unterschiedlichen Farben und Größen. Das T-Shirt gibt es in den Größen M, L und XL sowie in den Farben Weiß, Grün, Blau und Rot. Die Basis-Artikelnummer für dieses Modell lautet beispielsweise 1176. Die weiteren Attribute (Farbe und Größe) werden mit eigenen Zahlenkennungen versehen, die zum Beispiel wie folgt aussehen könnten und an die Basis-Artikelnummer angehängt werden:

  • Größe M = 1
  • Größe L = 2
  • Größe XL = 3
  • Farbe Weiß = 1
  • Farbe Grün = 2
  • Farbe Blau = 3
  • Farbe Rot = 4

Somit wäre die eindeutige Artikelnummer (SKU) für ein rotes T-Shirt in der Größe L „1176-2-4“.

Anzeige
Anzeige

Jede Produktvariante wird dadurch mit einer eindeutigen Artikelnummer belegt, wodurch eine virtuelle Lagerhaltung ganz realitätsnah möglich wird. Magento hat zu diesem Zweck auch das System der Simple Products sowie Configurable Products eingeführt. Im obigen Beispiel ist das rote T-Shirt in Größe L ein Simple Product mit eindeutiger Kennung (SKU), das über das Backend zu einem Configurable Product mit den entsprechenden Attributen (lieferbare Farben und Größen) zusammengefasst wird. Dadurch wird das Produkt im Magento-Shop auch nur einmal angezeigt – jedoch mit den unterschiedlichen und auswählbaren Ausprägungen. Vereinfacht kann man daher sagen, dass es sich bei einem Configurable Product lediglich um eine optimierte und zusammengefasste Darstellungsform für mehrere Varianten eines Produkts handelt. Somit wird vermieden, dass ein identisches Produkt mit verschiedenen Ausprägungen x-mal im Shop angezeigt wird.

Sonderfall Made-to-Order-Produkte

Hinter dem Ausdruck „Made-to-Order-Produkt“ stehen – einfach ausgedrückt – Produkte, die auf speziellen Kundenwunsch hin gefertigt werden. In diesem Zusammenhang spricht man häufig auch von so genannten Customized Products. Hierbei handelt es sich bis dato um den am schwierigsten umzusetzenden Produkttyp in Magento.

Am besten kann man diese ganz besondere Produktgattung mit zwei vollkommen unterschiedlichen Beispielen verständlich machen, die jedoch zwei wichtige Gemeinsamkeiten haben: Die Produkte haben eines oder mehrere Attribute mit zahlreichen oder (zumindest theoretisch) unendlichen Auswahlmöglichkeiten und werden in der Regel erst nach ihrer Bestellung angefertigt.

Anzeige
Anzeige

Zunächst stelle man sich einen PC-Shop vor, bei dem zehn verschiedene Gehäuse mit je zehn verschiedenen Netzteilen, Mainboards, Festplatten, Grafikkarten und Prozessoren kombiniert werden können. Von zusätzlichem Zubehör wie Tastaturen und Monitoren ganz zu schweigen.

Man kann sich schnell ausrechnen, dass es bei je zehn Möglichkeiten sage und schreibe eine Million mögliche Kombinationen gibt, jede davon mit einer eigenen Artikelnummer. Und das für nur einen PC. Logisch, dass man nicht alle 1.000.000 Simple Products anlegen kann, da man sonst zum einen eine stattliche Serverfarm zum Betrieb des Shops benötigen würde, und zum anderen eine ganze Armee an Redakteuren, die alle Produkte einpflegen.

Ein zweites einfacheres Beispiel: ein Schreinerbetrieb mit Onlineshop, der Holzbretter auf jede beliebige Länge zuschneiden kann. Sehr schnell wird klar, dass man nicht für jede mögliche Länge, die ein Kunde bestellen möchte, ein eigenes Simple Product mit eigener Artikelnummer anlegen kann.

Anzeige
Anzeige

Für das zweite Beispiel beschreibt Mark Kimsal in seinem empfehlenswerten Buch „php|architect’s Guide to Programming Magento“ [1] eine mögliche Vorgehensweise, die jedoch nur ein Provisorium sein kann, keine endgültige Lösung. Ähnlich sieht es auch mit Gravuren oder Drucken aus.

Deutlich schöner und sauberer ist die Funktionalität der so genannten „Custom Attributes“, die mit Magento 1.1 eingeführt wurden. Mittels dieser ist es für Made-to-Order-Produkte nicht mehr nötig, ein Configurable Produkt mit unzähligen Simple Products anzulegen, sondern es reicht ein einziges Simple Product, bei dem eingestellt wird, welche Auswahlfelder und -möglichkeiten es gibt. Ein eindeutiges Produkt wird dann – auf Wunsch mit Artikelnummer – automatisch und erst beim Bestellvorgang generiert. Dank dieser Funktion erschließt sich Magento ein zusätzliches, recht attraktives Marktsegment und die auf Kundenwunsch produzierenden Betriebe kommen in den Genuss einer passenden Shoplösung.

Flexibilität als Einschränkung

Es gibt viel zu beachten, wenn man sich ernsthaft mit Magento auseinandersetzen will – und zwar egal, ob aus der Perspektive des Entwicklers oder der des Shopbetreibers. Besonders wichtig dabei: Man sollte sich nicht zu sehr von der zweifellos herausragenden und durchdachten Bedienung und Programmierung von Magento blenden lassen.

Anzeige
Anzeige

Es steht außer Frage, dass mit Magento sehr gute Ergebnisse erzielt werden können – doch nicht ohne eigenes Engagement. Weder werden sich die Produkte von alleine in den Shop einpflegen, noch wird sich die Oberfläche von selbst dem Kundenwunsch anpassen. Es ist, wie bei jedem ernsthaften Vorhaben notwendig, ein gutes Stück Arbeit in den Shop zu investieren. Ist man dazu bereit, wird das Ergebnis überzeugen. Ist man es nicht, wird am Ende auch kein guter Shop entstehen – Magento hin oder her.

Wo liegen nun die besonders aufwändigen Arbeiten aus Sicht des Shopbetreibers? Nach der Erstellung der Templates sowie Anpassung der Funktionalitäten müssen die Produkte zunächst in den Shop übernommen werden.

Es gibt Importer für osCommerce und zahlreiche andere CSV- oder XML-basierte Formate. Doch man darf nicht außer acht lassen, dass all diese Programme nichts weiter tun, als den vorhandenen Datenbestand „dumm“ in den Shop zu übertragen. Für einen Start mag das bei einer großen Produktanzahl vertretbar sein, doch je mehr Pflege man seinem Shop zu teil werden lässt, desto mehr Magento-Features, etwa Layered Navigation, Produkt-Tagging oder Cross-Sells, werden interessant und können voll ausgenutzt werden.

Anzeige
Anzeige

Verzichtet man ganz oder teilweise auf einen solchen Importer, eröffnen sich ganz andere, oft vernachlässigte Möglichkeiten: Das „Fein-Tuning“ der Attributsets für jede Kategorie, die Vergabe passender Produktattribute und –tags sowie die Anpassung der Beschreibungstexte. Macht man sich diese Mühe, können die Kunden ihr Wunschprodukt schneller und eindeutiger finden, Suchmaschinen werden den Shop „sympathischer“ finden und der Pflegeaufwand wird auf lange Sicht gesehen sogar geringer.

Natürlich ist es ab einer gewissen Produktanzahl nicht mehr möglich, auf einen automatischen Importvorgang gänzlich zu verzichten. In diesem Fall sollte ein Kompromiss zwischen Automatismen und manuellem Eingriff gesucht werden, zum Beispiel indem die Attributsets zumindest grob eingeteilt werden, die Produkte dann aber mit den vorhandenen Attributwerten in den Shop importiert werden.

Sowohl aus Sicht des Shopbetreibers als auch aus Sicht des Entwicklers gilt die Maxime: Je sauberer und überlegter am Anfang (in der kritischsten Phase also) begonnen wird, desto leichter lässt sich der Shop in Zukunft pflegen und weiterentwickeln. Wird stets nach den optimalen Mustern vorgegangen, kann ein auf Magento basierender Shop annähernd unbegrenzt erweitert werden. Insofern sollte man sich vor Einführung eines Magento-Shops gerade im konzeptionellen Bereich einige Gedanken machen. Dieser Mehraufwand wird sich langfristig definitiv lohnen, besonders im Hinblick auf die Skalier- und Erweiterbarkeit.

Anzeige
Anzeige

Magento für den deutschen Markt

Die Standardinstallation bzw. das Standardtemplate von Magento ist zwar in vielerlei Hinsicht schon sehr ausgereift, jedoch sollte man sich im Klaren sein, dass man speziell für den deutschen Onlinemarkt gewisse rechtliche Vorgaben einhalten sollte, um einer Abmahnung erfolgreich aus dem Weg zu gehen. Die nachfolgenden Änderungen machen einen Magento-Shop auch rechtlich fit.

Über den Extension-Manager im Magento-Backend sollte man zunächst das deutsche Sprachpaket installieren [2].

Ein erstes großes Ausweichmanöver gegen eine drohende Abmahnung ist die Installation der Extension „Terms and conditions for german shops“ [3]. Diese bewirkt, dass Kunden vor Abschluss einer Bestellung erst die AGBs/Widerrufsrecht und die Datenschutzbestimmungen akzeptieren müssen. Da auch unvertretbare Klauseln in den AGBs bzw. dem Widerrufsrecht abmahnfähig sind, sollte jeder Shopbetreiber diese im Zweifelsfall von einem Anwalt prüfen oder eigens anfertigen lassen.

Den Zusatz „inkl. MwSt. zzgl. Versand“ hat bestimmt der ein oder andere schon auf diversen Shops gesehen. Diese Angaben sind Pflicht und müssen unmittelbar in der Nähe jeder Preisangabe stehen, sofern die Möglichkeit besteht, den Artikel direkt in den Warenkorb zu legen. Dies kann entweder als *-Auflösung im Footer oder direkt unter dem Preis erfolgen.

Um ein Template anzupassen, muss man, sofern kein eigenes Template erstellt wurde, im Templateordner „/app/design/frontend/default/default/template/“ folgende Dateien bearbeiten:

  • Für die Variante „*-Auflösung im Footer“: „catalog/product/preis.phtml“ -> Hinter jeder Preisangabe ein „*“ hinzufügen. „page/html/footer.phtml“ -> (* inkl. MwSt. zzgl. Versand) gut lesbar einbauen.
  • Für die Variante „direkt unterhalb der Preisangabe“: „catalog/product/list.phtml“ -> (inkl. MwSt. zzgl. Versand) unter die Preisangabe. „catalog/product/list/crosssell.phtml“ -> (inkl. MwSt. zzgl. Versand) unter die Preisangabe.

Dieser Hinweis macht den Shop der deutschen Rechtslage im Online-Shop-Bereich erstmal regelkonform. Das bedeutet aber leider noch keine vollkommene Sicherheit gegen eine Abmahnung. Um 100-prozentige Sorgenfreiheit zu erlangen, sollten man seinen Shop vor dem Live-Gang in jedem Fall von einem Anwalt überprüfen lassen – was auch für alle anderen Shopsysteme gilt. Die Kosten hierfür sind meist günstiger als eine Abmahnung.

Ressourcenhunger

Man ist schnell verleitet, Magento als „Allheilmittel“ für all die Shopbetreiber zu sehen, die bisher von xt:Commerce und seinen allseits bekannten Macken geplagt waren. Neben dem mindestens genauso hohen Pflegeaufwand und der notwendigen Einarbeitungszeit in Magento sollte man jedoch auch einen weiteren wichtigen Punkt nicht vergessen: Magento stellt deutlich höhere Anforderungen an die Serverhardware als xt:Commerce oder die diversen anderen Open-Source-Shopsysteme.

Ein oft geäußerter Kritikpunkt an Magento ist die Performance [4]. Kritiker bezeichnen Magento als langsam. Die Kritik ist nicht komplett unberechtigt, basiert aber meist auf einer falschen Erwartungshaltung. Viele Nutzer meinen, man könne Magento problemlos weiter auf dem 9,90 Euro teuren Shared-Hosting-Paket laufen lassen, auf dem beispielsweise xt:Commerce gerade mal halbwegs rund lief. Jedoch würde heute wohl auch kaum jemand versuchen, ein Upgrade von Windows 95 auf Vista ohne gleichzeitigen Rechnerwechsel vorzunehmen – oder zumindest würde er Performance-Einbußen vermuten.

Analog dazu verhält es sich mit den Serveranforderungen von Magento: Die Software bietet mehr als seine Open-Source-Vorgänger, daher verlangt sie auch mehr Leistung. Man sollte sich daher der notwendigen Investitionen bewusst sein: Ein brauchbarer dedizierter Server ist ab etwa 99 Euro pro Monat zu haben, wobei die Preisskala nach oben offen ist.

Doch das sollte einem ein Enterprise-Software-System auch wert sein, schließlich bekommt man mit Magento auch allerhand geboten – neben den Features sei hier nochmals auf die Aspekte Skalierbarkeit, Erweiterbarkeit und Updatefähigkeit hingewiesen. Zusätzlich sorgt ein ansprechender Shop mit nützlichen Funktionen in aller Regel auch für mehr Umsatz.

Hardwareanforderungen

Um bei einem kleinen bis mittelgroßen Shop (bis zu mehrere hundert Produkte) eine vernünftige Performance auch bei Lastspitzen zu erreichen, sollte es schon ein Dual-Core-Prozessor mit mindestens 2,5 GHz pro Kern und mindestens zwei, besser vier Gigabyte Arbeitsspeicher sein. Gern wird auch ein inzwischen bezahlbarer Quad-Core-Prozessor eingesetzt, wobei grundsätzlich die Devise gilt: Mehr Arbeitsspeicher schadet definitiv nicht. Beim Speicherplatz kann von wenigen bis hin zu mehreren hundert Gigabyte gerechnet werden, je nachdem wie viele Bilder man einpflegen möchte und wie groß diese sind.

Softwareausstattung

Bei der Software gibt es glücklicherweise gegenüber der Hardware kein großes Wenn und Aber. Eingesetzt wird eine Linux-Distribution (der Autor setzt auf Debian Etch) mit 64-Bit. 32-Bit sind nicht empfehlenswert, da bei umfangreichen Datenbankoperationen die Performance stark einbrechen kann.

Ein Apache-2-Server in Verbindung mit PHP 5.2 und MySQL 5 sorgen dafür, dass Magento ordentlich läuft. Die aus Sicht des Autors optimalen Versionen dieser Programme zeigt der Infokasten weiter unten. Diese sind zum Beispiel über das Software-Repository von DotDeb erhältlich, wo es kostenlos stets aktuelle und vor allem auf Sicherheit getrimmte Webhosting-Software gibt.

Den größten Performance-Schub bringt ein ordentlicher Opcode-Cache. Dies ist ein PHP-Modul, das bei der ersten Ausführung von Magento den kompilierten Code zwischenspeichert, sodass bei erneutem Aufruf der ständig wiederkehrende (und meistens unnötige) Schritt des Kompilierens komplett entfallen kann, was ordentlich Zeit spart. Das Magento-Entwicklerteam empfiehlt hier den Opcode-Cache APC (Advanced PHP Cache) [5].

Zusammen mit optimierten Konfigurationen der Serverdienste kann gegenüber einem komplett unoptimierten Server ein Geschwindigkeitsgewinn von bis zu 100 Prozent erzielt werden. Insofern lohnt es sich in jedem Fall, sich mit der Optimierung bzw. Optimierungsmöglichkeiten etwas näher auseinander zu setzen.

Softwareversionen für Magento
Diese Versionen sind kein Muss, haben sich bei den
Magento-Projekten des Autors jedoch als sehr stabil und vor allem
schnell erwiesen:
  • Apache 2.2.3
  • PHP 5.2.6 mit APC Opcode-Cache
  • MySQL 5.0.51a

Fazit

Mit Magento wächst eine echte Macht heran, die alle bisherigen Open-Source-Shopsysteme in den Schatten stellt. Durch die intelligente Software-Architektur lassen sich selbst komplexeste Anforderungen jederzeit realisieren – Magento bleibt dabei zudem immer updatefähig, da die eigentliche Entwicklung in Modulen erfolgt und der Kern unangetastet bleibt.

Man sollte allerdings immer berücksichtigen, dass Magento – auch aufgrund der doch recht komplexen Strukturen – einiges an Einarbeitungsaufwand erfordert und hier PHP-Grundkenntnisse kaum mehr ausreichen werden. Auch die Anforderungen an die Hardware – bedingt durch den Framework-Ansatz – fallen deutlich höher aus, als dies bei anderen Shopsystemen der Fall ist.

Hilfreich beim Einstieg in Magento kann das umfangreiche E-Book „Magento
Schnelleinführung“ sein [6], das kostenlos
heruntergeladen werden kann und sich zudem auf der Heft-CD befindet.

Zusammenfassend kann man sagen: Wer auf der Suche nach einer flexiblen und skalierbaren Shoplösung mit umfangreichen Features ist und im Gegenzug nicht vor erhöhtem Einarbeitungsaufwand sowie Hardwareeinsatz zurückschreckt, wird bei Magento mit hoher Wahrscheinlichkeit richtig liegen und an der Shoplösung lange seine Freude haben.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige