Ordnerstruktur
Im Verzeichnis Ihres Onlineshops finden Sie den Ordnertemplates, der neben allen verfügbaren Templates zwei Ordner für Stylesheets enthält:
css_upload laden Sie Ihre eigenen CSS-Dateien per SFTP hoch. Dort bearbeiten und löschen Sie sie auch. Der Ordner css_min wird dagegen ausschließlich vom PageSpeed-Tool befüllt. Alle darin liegenden Dateien sind minimiert und mit einem URL-Fingerprinting versehen. Sie bearbeiten diese Dateien nicht selbst, da sie bei der nächsten Publizierung überschrieben werden.
Sollte diese Ordnerstruktur in Ihrem Shop noch nicht vorhanden sein, legen Sie sie bitte entsprechend an. Ohne beide Ordner kann das PageSpeed-Tool nicht arbeiten.
Eine CSS-Datei anlegen
Der Mustershop enthält unterbenutzer/templates/css_upload bereits Stylesheet-Dateien, die Sie als Vorlage verwenden können. Weitere Dateien fügen Sie mit einem einfachen SFTP-Client in denselben Ordner ein.
Bei der Benennung sind Sie frei, solange Sie die HTML-Konventionen für Dateinamen einhalten.
Quelle (externer Link): HTML-Konventionen für Dateinamen
Bewährt hat sich eine Aufteilung in zwei Arten von Dateien:
- eine “Grundgerüst-Datei” mit allen Anweisungen, die auf jeder Seite gebraucht werden
- mehrere kleine Dateien für Anweisungen, die nur ein einzelnes Template betrifft, beispielsweise den Warenkorb
Einbinden mit dem PageSpeed-Tool (empfohlen)
Nachdem Sie Ihre Dateien per SFTP im Ordnercss_upload bereitgestellt haben, weisen Sie sie den gewünschten Templates zu. Wir empfehlen den Weg über das PageSpeed-Tool, weil Ihr Shop dadurch die minimierten Dateien mit URL-Fingerprinting verwendet und nicht die unbearbeiteten Originale.
Der Weg besteht aus drei Schritten: Tool aktivieren, Dateien gruppieren, Gruppierung im Template einbinden.
Lassen Sie nur nicht-minimierte Dateiversionen vom PageSpeed-Tool verarbeiten. Das nochmalige Minimieren einer bereits minimierten Datei kann zu Fehlern führen.
PageSpeed-Tool aktivieren
Im OSB-Dienst “Konfiguration” ist das PageSpeed-Tool standardmäßig sichtbar und damit aktiv. Ist der Reiter bei Ihnen nicht vorhanden, wenden Sie sich an Ihren Ansprechpartner bei WEBSALE. Damit der Shop auch tatsächlich auf die erzeugten Dateien zugreift, ist zusätzlich ein Eintrag in der Shopkonfigurationshop.config nötig. Eine Freischaltung durch WEBSALE ist dafür nicht erforderlich, die oben beschriebene Ordnerstruktur muss allerdings vorliegen.
Fügen Sie im Abschnitt <TopRank> den Parameter UseMinifiedCSSAndJS hinzu:
CSS-Dateien gruppieren
Eine CSS-Datei lässt sich über das PageSpeed-Tool nur einbinden, wenn sie einer Gruppierung zugewiesen ist. Die Gruppierung ist damit die kleinste Einheit, die der Shop später referenziert. Gruppierungen legen Sie im Online-Servicebereich (OSB) im Dienst Konfiguration an. Wählen Sie dort den Reiter “PageSpeed-Tool” und anschließend den Reiter “CSS”. In der linken Spalte unter der Überschrift “Gruppierungen” legen Sie beliebig viele seiten- oder themenspezifische Gruppierungen an. Jede Gruppierung erhält beim Anlegen eine frei wählbare Gruppierungs-ID. In den Beispielen auf dieser Seite lautet diese IDstart.
In der rechten Spalte sehen Sie alle CSS-Dateien, die Sie per SFTP im Ordner css_upload bereitgestellt haben. Fehlt eine gerade hochgeladene Datei, klicken Sie auf das Aktualisieren-Symbol.
Ziehen Sie die benötigten Dateien per Drag-and-drop innerhalb des OSB in die jeweilige Gruppierung. Klicken Sie anschließend auf das Weltkugel-Icon, um die Dateien der Gruppierung zu erzeugen. Pro Gruppierungs-ID entsteht dabei eine optimierte CSS-Datei im Ordner css_min. Jeder weitere Klick auf das Weltkugel-Icon erzeugt eine neue Version, sofern Sie inhaltliche Änderungen vorgenommen haben.
Gruppierung als ausgelagerte CSS-Datei einbinden
Eine ausgelagerte CSS-Datei hat einen entscheidenden Vorteil: Sie wird von mehreren Templates verwendet, muss vom Browser aber nur einmal geladen werden. Für jede Gruppierungs-ID erzeugt das PageSpeed-Tool bereits eine solche Datei. Sie binden sie mit dem HTML-Elementlink an einer beliebigen Stelle Ihres Templates ein. Den Pfad liefert das Tag WS-CSSURL(), in dessen Klammern Sie die Gruppierungs-ID angeben.
Beispiel: Die Gruppierung start soll im <head> des Templates eingebunden werden.
753e2835a4 ist das URL-Fingerprinting. Er ändert sich mit jeder neuen Version der Gruppierung.
Referenz: WS-CSSURL()
Gruppierung inline einbinden
Stylesheets müssen nicht zwingend über eine externe Datei eingebunden werden. Mit dem HTML-Elementstyle legen Sie sie direkt im HTML-Dokument fest. Das ist der richtige Weg, wenn Ihre CSS-Anweisungen WEBSALE-Tags oder Textvariablen enthalten.
Den Inhalt aller Dateien einer Gruppierung liefert das Tag WS-CSSInline(), in dessen Klammern Sie die Gruppierungs-ID angeben.
Beispiel: Die Stylesheets der Gruppierung start sollen inline innerhalb des <body> eingebunden werden.
Direktzugriff während der Designphase
Beim Einbinden über das PageSpeed-Tool werden Änderungen an CSS-Dateien erst nach einem Klick auf das Weltkugel-Icon sichtbar. Beim Aufbau eines neuen Shops ist dieser Zwischenschritt aufwendig, weil er sich bei jeder Korrektur wiederholt. Für diesen Fall gibt es den Direktzugriff. Der Shop greift dabei nicht auf die generierten Dateien im Ordnercss_min zu, sondern auf die originalen Dateien im Ordner css_upload, die der Gruppierung zugewiesen sind. Änderungen sind damit sofort nach dem Hochladen und einem Neuladen im Browser sichtbar.
Der Direktzugriff besteht aus zwei Teilen. Erstens einer Einstellung in der Shopkonfiguration shop.config, die festlegt, wann der Modus greift. Zweitens einer Klammerung im Template, die beide Fälle abdeckt.
Permanenter Direktzugriff
Mit der folgenden Einstellung greift der Shop dauerhaft auf die Originaldateien zu. Diese Einstellung empfiehlt sich, solange Sie einen Shop aufbauen und häufig Änderungen vornehmen.Direktzugriff nur auf Abruf
Mit dem Wertno ist der permanente Direktzugriff deaktiviert. Der Shop greift dann nur auf die Originaldateien zu, wenn Sie ihn mit dem Parameter &jscssdirect-test=on aufrufen. Mit &jscssdirect-test=off kehrt er zu den Dateien im Ordner css_min zurück.
Beispiel: ausgelagerte CSS-Datei im Direktzugriff
Im Direktzugriff liefert der Shop jede Datei der Gruppierung einzeln aus, nicht eine zusammengefasste Datei. Das Template muss deshalb über alle Dateien der Gruppierung laufen. Dafür gibt es die KlammerungWS-DirectCSS() mit der Gruppierungs-ID und darin die Schleife @WS-DirectCSS, die pro Durchlauf über WS-DirectCSSURL den Pfad einer Datei liefert.
Damit das Template in beiden Zuständen funktioniert, umschließt die Klammerung ST-DirectJSCSSTest den Direktzugriff-Fall und !ST-DirectJSCSSTest den Normalfall.
Beispiel: Der Gruppierung start sind die beiden Dateien font.css und color.css zugewiesen.
Beispiel: Inline-Einbindung im Direktzugriff
Auch inline eingebundene Stylesheets lassen sich im Direktzugriff verwenden. Statt des Pfads liefertWS-DirectCSSInline hier den Inhalt der jeweiligen Datei.
Beispiel: Die Stylesheets der Gruppierung start sollen inline innerhalb des <body> eingebunden werden.
Neue Gruppierungen im Design-Testmodus erproben
Eine neue Gruppierung muss nicht sofort im Livemodus eingebaut werden. Für alle beschriebenen Integrationsvarianten steht Ihnen die KlammerungST-DesignTest zur Verfügung. Damit sehen nur Sie im Design-Testmodus die neue Zuweisung, während Besucher weiterhin die bisherige Fassung erhalten.
Debug-Modus für die Fehlersuche im Browser
Greifen die CSS-Anweisungen nicht wie gewünscht, ist die Fehlersuche in einer minimierten Datei mühsam. Deshalb können Sie die Einbindung der minimierten Datei per Aufruf unterdrücken und stattdessen die nicht-minimierte Fassung im Browser verwenden. Das PageSpeed-Tool legt diese Fassung zeitgleich mit der minimierten Datei im Ordnercss_min ab.
Binden Sie Ihre CSS-Dateien per Direktzugriff ein, brauchen Sie diesen Modus nicht. Der Browser erhält dort ohnehin die nicht-minimierten Originale.
Hängen Sie zum Aktivieren an einen beliebigen Shop-Aufruf den Parameter &jscssminified-test=off an. Der Shop muss sich dafür im Testmodus befinden.
.min im Dateinamen:
&jscssminified-test=on kehren Sie zu den minimierten Dateien zurück:
Einbinden ohne PageSpeed-Tool
Die Nutzung des PageSpeed-Tools ist in WEBSALE V8s nicht zwingend. Sie können CSS-Dateien auch über einen relativen Pfad in jedes Template einbinden oder Stylesheets direkt im Template notieren. Dieser Weg ist einfacher, verzichtet aber auf Minimierung und URL-Fingerprinting. Bei der Einbindung über einen relativen Pfad ist dasbase-Element zu beachten. Es legt die Basis für alle relativen Verweise fest und zeigt in der Regel auf das Subshop-Templateverzeichnis, beispielsweise benutzer/templates/Deutsch.
base-Element nur dann eine Rolle, wenn Sie über background oder background-image Hintergrundbilder einbinden.
Hinweise zu Bootstrap-CSS
Die im Mustershop bereitgestellten Dateienbootstrap.css und bootstrap.min.css sowie bootstrap-theme.css und bootstrap-theme.min.css sind die unmodifizierten Standarddateien von Bootstrap mit allen Anweisungen und Komponenten. Bis auf die E-Mail-Templates verwenden bereits alle Mustershop-Templates bootstrap.min.css und bootstrap-theme.min.css.
Möchten Sie den Mustershop an Ihr Design anpassen, nutzen Sie dafür vorrangig das Customizing von Bootstrap. Von einer Änderung der mitgelieferten Bootstrap-Dateien ist abzuraten, weil Sie damit die Update- und Kompatibilitätsfähigkeit von Bootstrap verlieren.
Lässt sich eine Designanpassung nicht über das Customizing lösen, überschreiben Sie die Bootstrap-Anweisungen. Dafür stehen Ihnen beide oben beschriebenen Wege offen, die ausgelagerte CSS-Datei und die Einbindung direkt im Quellcode.
Wegweiser: Bootstrap
WEBSALE Klassennamen und IDs
Alle von WEBSALE V8s automatisch erzeugten HTML-Elemente sind mit Klassennamen und IDs versehen. Ein Beispiel ist die Blätternavigation für Produktlisten:
- Styles für Produkte
- Styles für Produktbewertung
- Styles für Blättern in Kategorien und Produkten
- Styles für Dropdown-Liste der Währungen
- Styles für Anmeldung
- Styles für Rechnungs- und abweichende Lieferadresse
- Styles für Bankverbindung
- Styles für multiple Kundendaten
- Styles für Trusted-Shops-Informationen
- Styles für Varianten der Merkliste
- Styles für Fehlermeldungen beim Online-Clearing
- Styles für kostenpflichtige Zusatzleistungen
- Styles für speicherbare Warenkörbe
- Styles für WWS-Infodatenschnittstelle
- Styles für Wunschliste
- Styles für Zustimmung zur Werbung
- Styles für Produktvergleich
- Styles für Filter auf Kategorieebene
SEO-optimierte Auslieferung von CSS-Dateien
Die Performance einer Seite ist eines der wichtigsten Kriterien für ein gutes Suchmaschinen-Ranking. CSS-Dateien fallen dabei wegen ihrer Größe besonders ins Gewicht. Die folgenden Quellen erläutern, wie Sie Ihr Design beibehalten und trotzdem eine gute Performance erreichen.- CSS-Bereitstellung optimieren: Ressourcen minimieren und CSS-Bereitstellung optimieren
- Browser-Caching nutzen
- URL-Fingerprinting und Caching-Header
- Sichtbare Inhalte priorisieren
