Hast Du Dir mal überlegt, dass es sehr viel wahrscheinlicher ist, dass der Browser eine Datei von jquery.com bereits im Cache hat? Eben weil sich "alle" solcher Techniken bedienen.
Ja, das ist richtig. Nun kann man abwägen, ob man kein http/2 benutzt und wie wahrscheinlich es ist, eine relativ alte jQuery Version zu nutzen, die beim Client im
Cache liegt, oder eben nicht und ob man den zusätzlichen request mit vielen weiteren Optimierungen einspart. Neben den vielen jQuery-Versionen, die man, der Wahrscheinlichkeit nach im Cache zu haben, trifft oder nicht, gibt es ebenso noch viele weitere Hoster dieser Dateien, die ggf. ohne Hash quasi individuelle Dateien darstellen. Macht dann mal eben 300 jQueries, die es Pi mal Daumen geben könnte.
Nein, muss nicht sein. Versuch bitte einmal zu verstehen, was "above the fold" bedeutet. Dann wirst du auch erkennen, dass inline css nicht per se "bad practice" ist.
Also du antwortest auch nur auf das, wo du Recht hast, richtig? Und was ist mit den geschätzt 20 KB für das kritische stylesheet im responsive JTL-
Shop? Willst du das alles inline einbinden und im Header
für jede Seite laden lassen?
Unnötiges CSS ist ebenfalls ein Bewertungskriterium in Google-Pagespeed, keine gute Idee.
Du ignorierst vieles, was gesagt wurde. Und widersprichst dir selbst. 20 KB ist unnütz und viel zu viel für inline. Gerade, da ab 14 KB per request im Prinzip Schluss ist.
Ich hab mir seinen Shop jetzt nicht angeschaut, aber ich gehe davon aus, dass das, was mit JTL standardmäig auf die Beine gestellt wird, keine simple landingpage ist, die sofort lädt, aber außer Text keinen Inhalt hat.
Sag uns doch mal bitte, wie genau du vorgehen würdest, um beispielsweise das Shopvote-Plugin, das er auf seiner Seite hat und sowohl zweifach extern nicht optimiertes .css sowie zweifach extern nicht optimierte .js (die jeweils 1-2 weitere, im code liegende externe Requests stellen) als Server-Request rausschickt, zu implementieren ? Da es sich als externe Ressource nicht kompimiert und mit minify angewendet wird und noch dazu 4 requests insgesamt sind. Ja, man kann es asynchron laden lassen. Das war dein ganzer Vorschlag. Und weiter?
Wenn man schon optimiert, kann man doch gleich Nägel mit Köpfen machen.
Thematisch zusammengehörig? Check.
Multiple sheets und scripts? Check.
Non-Minified? Check.
Nicht asynchron? Check.
Also mit http/1.x und insbesondere dem JTL-Shop kann man durchaus einiges optimieren.
Mit http/2 kann man sich vieles sparen, weil die Technik mehr kann. Trotzdem ist es verschenkte Effizienz, wenn man es ignoriert.
Nicht umsonst wirbt solutions360 mit nem "rasend schnellen" Template, weil das eben keine Stärke von JTL-Shop ist.
Bisher höre ich von dir immer nur: wird das Problem nicht lösen, hilft nicht weiter, etc. pp. und du sprichst dich nur für deine Vorschläge aus. Anstatt hier vielleicht mal Lösungen zu kombinieren? Ich sage dir auch, wenn du recht hast.
@Xantiva jQuery lässt sich auch von anderen CDNs beziehen, z.B. Google oder Microsoft, wenn man das möchte. Kann man ein wenig vom Standort und den Ping-Zeiten abhängig machen.
Ich denke, dass
@tevin erstmal der Schädel brummt, weil ja nun viel spezielle Materie erwähnt wurde.
Da ist es für den Anfang ausreichend, wenn er das verzögerte Laden implementiert. Ist ja auch das einfachste.