hallo, in der Version 3.5.1.0 (System Einstellungen > Kompression) gibt es nun eine Option, um das CSS inline im head auszugeben statt eine externe Datei zu verlinken. Welchen Vorteil bringt diese Option und ist sie zu empfehlen? LG Nicole
Der theoretische Vorteil ist, dass ein Browser weniger Verbindungen öffnen muss, um eine Seite darzustellen. Statt das Dokument zu laden, in dem dann steht von wo das CSS zu besorgen ist stehts da einfach im Dokument oben drin. Bevor das CSS da ist, kann das Dokument nicht angezeigt werden, sowas nennt man dann eine blockierende Ressource. Es ist prinzipiell sinnig möglichst wenige davon zu haben, man muss das aber im Anwendungsfall betrachten: Wenn die erste Seite einer Webseite abgerufen wird, wird in jedem Fall immer die gleiche Datenmenge geladen. Einmal in einem Schub, einmal in 2 Schüben. Bei dem Ladevorgang in 2 Schüben verliere ich einmal eine sehr kleine Menge Zeit für den zweiten Verbindungsaufbau, sofern der Server noch kein HTTP2 unterstützt. Spannend wird das Ganze, wenn eine zweite Seite aufgerufen wird, die das gleiche CSS nutzen will. Das ist bei uns immer der Fall. Ein Beispiel wäre hier ein Kunde, der die Startseite deines Shops aufruft und dann auf einen Artikel oder in eine Kategorie klickt, worauf wir ja alle hoffen: Habe ich das CSS vorher als eigene Ressource geladen, kann es im Browser gecached werden, der merkt sich das. Für die neue Seite brauche ich dann nur das pure Dokument ohne Styles zu laden, die Styles aus dem Browsercache werden einfach immer wieder benutzt. Dieses erinnern im Browser geht sehr schnell. Dies entspricht unserer Standardeinstellung und unserem Verständnis einer besten Lösung. Wenn das CSS hingegen inline im Dokument steht, muss ich immer und in jedem Fall bei jeder neuen Unterseite wieder das ganze CSS mit herunterladen. Das verdoppelt somit grob die Grösse jedes Dokuments. Wir reden nicht über Megabytes an Daten, aber Faktor 2 ist trotzdem merklich. Ich werde also wegen der grösseren Übertragung, und wegen dem Mehraufwand an nötiger Rechenzeit auf dem Server um das Dokument vor dem senden zu erstellen sehen, dass meine Unterseiten langsamer erscheinen als vorher, obwohl ich eine blockierende Ressource weniger habe. Google Pagespeed Insights als Beispiel eines wirklich hervorragend schlechten Messwerkzeugs wird dir mit Inline CSS mehr Punkte geben als andersrum, auch wenn deine Seite langsamer lädt. Das klingt nicht logisch, ist aber so, weil das Tool zu einfach gestrickt und zu unflexibel ist, um besonders schlaue Lösungen zu verstehen. Wir haben dennoch Kundschaft, die ein hervorragendes abschneiden in diesen Werkzeugen unbedingt will, für die ist der Knopf. Unsere Empfehlung lautet aber klar: Den Schalter aus lassen. Die Standardeinstellung wird in der Praxis das beste Ergebnis erzielen.