Shop - Ladezeit beschleunigen - TIP - CDN

Wenn du jetzt noch für die Head- & Template-Elements etwas auf Lager hast, ist das Thema damit abgeschlossen und jeder kann sich bedienen wie er will. :wink: Viele Grüße

Da ist am Ende eine Doppelklammer zu viel drin oder? :slight_smile: PS: Und die Tmp beim eigenen Einsatz natürlich anpassen… Änderungen sind für die header.tpl im index. Viele Grüße

[quote=“mfpro”]Da ist am Ende eine Doppelklammer zu viel drin oder? :slight_smile: PS: Und die Tmp beim eigenen Einsatz natürlich anpassen… Änderungen sind für die header.tpl im index. Viele Grüße[/quote] Ja, die Klammer hat sich eingeschlichen. Habe diese aber schon entfernt :wink:

Nur der Vollständigkeit halber… für die JS-Files (ist auf Minified umgeschrieben): {block name="frontend\_index\_header\_javascript"} {if $smarty.server.SERVER\_PORT == "443"} <script type="text/javascript" src="https://static1.domain.de/templates/_default/frontend/_resources/javascript/jquery-1.4.2.min.js"></script><script type="text/javascript"> //<![CDATA[ {block name="frontend_index_header_javascript_inline"} var timeNow = {time() nocache}; jQuery.controller = {ldelim} 'ajax_cart': '{url controller="checkout" appendSession}', 'ajax_search': '{url controller="ajax_search" fullPath=false}', 'ajax_login': '{url controller="account" action="ajax_login"}', 'register': '{url controller="register" appendSession}', 'checkout': '{url controller="checkout" appendSession}', 'ajax_logout': '{url controller="account" action="ajax_logout" appendSession}', 'ajax_validate': '{url controller="register" appendSession}' {rdelim}; {/block} //]]> </script> {block name="frontend\_index\_header\_javascript\_jquery"} <script type="text/javascript" src="https://static1.domain.de/templates/_default/frontend/_resources/javascript/jquery.shopware.js"></script> {/block} {else} <script type="text/javascript" src="http://static1.domain.de/templates/_default/frontend/_resources/javascript/jquery-1.4.2.min.js"></script><script type="text/javascript"> //<![CDATA[ {block name="frontend_index_header_javascript_inline"} var timeNow = {time() nocache}; jQuery.controller = {ldelim} 'ajax_cart': '{url controller="checkout" appendSession}', 'ajax_search': '{url controller="ajax_search" fullPath=false}', 'ajax_login': '{url controller="account" action="ajax_login"}', 'register': '{url controller="register" appendSession}', 'checkout': '{url controller="checkout" appendSession}', 'ajax_logout': '{url controller="account" action="ajax_logout" appendSession}', 'ajax_validate': '{url controller="register" appendSession}' {rdelim}; {/block} //]]> </script> {block name="frontend\_index\_header\_javascript\_jquery"} <script type="text/javascript" src="http://static1.domain.de/templates/_default/frontend/_resources/javascript/jquery.shopware.js"></script> {/block} {/if} Beim Upload der Styles übrigens nicht die Bilder vergessen, die in den Styles verlinkt sind. Im Idealfall diese Verlinkungen ggf. auch anpassen. Viele Grüße

[quote=„mfpro“] Beim Upload der Styles übrigens nicht die Bilder vergessen, die in den Styles verlinkt sind. Im Idealfall diese Verlinkungen ggf. auch anpassen.[/quote] Die Bildpfade im CSS sollten relative Pfadangaben sein, dann werden die automatisch über die Subdomain geladen, über welche auch die CSS Datei eingebunden wird :wink:

Ich meinte gerade auf einen anderen Static. :wink:

[quote=“Stefan Hamann”]Moin, NATÜRLICH …mit den Bildern wäre das optimal !!! Aber das ist derzeit ohne massive Eingriffe nicht möglich, da die ja alle beim Cache leeren neu erstellt werd Habe ich irgendwas verpasst? :wink: Die Bilder werden NICHT neu erzeugt, wenn du den Shopcache leerst!! Das ist eigentlich total easy einzubauen. Du musst nur in deiner .htaccess eine RewriteRule integrieren. Also Beispiel: RewriteRule /images/articles/(.*) http://subdomain.server.de/images/articles/$1 Dann werden alle Requests, die auf das Verzeichnis mit den Artikelbildern verweisen, automatisch von einem anderen / externen Server geholt. Je nach Konfiguration müsstest du das lokale Bilder - Verzeichnis und das Remote-Verzeichnis noch per rsync synchronisieren oder aber das Upload-Script von Shopware so anpassen, dass die Bilder z.B. direkt per FTP auf einem anderen Server hochgeladen werden. (< 10 Zeilen Code) Für die CDN-Geschichte als solches mach doch bitte mal ein Ticket im Trac auf - ich halte das wohl für interessant.[/quote] Kleine Anmerkung, RSYNC funktioniert nicht mit FTP. Die bessere Lösung curlftpfs, hiermit lassen sich Verzeichnisse auf entfernten Server ins Dateisystem einbinden.

Hallo zusammen, sind die hier erwähnten Optimierungen auch für Shopware 5 geeignet, oder mache ich mir meine Shopware Installation kaputt, wenn ich die erwähnten Schritte für Shopware 4 1:1 auf SW5 anwende? Danke im Voraus!

Die genannten Methoden hier haben überhaupt garnichts mit einem CDN zu tun … Wenn du aber einen CDN Anbieter hast, einfach entsprechend die URL umschreiben. Die gängigen Anbieter bieten eine Push Funktion, also musst du hier nur die entsprechenden URLs ändern. Wenn du allerdings nicht massig Besucher aus dem Ausland hast, benötigst du auch kein CDN.

Hy, ich habe dazu mal eine Frage. Macht es etwas Speedtechnisch aus, wenn ich die Bilder von einer Subdomain lade, die auf /media/ zeigt? Gibt es eine Konfigmöglichkeit dafür in SW5.1? Bringt CDN etwas, wenn man zu 95% Inlandskunden hat. (Server steht im selben Land). Beste Grüße

[quote=“kadis”]Hy, ich habe dazu mal eine Frage. Macht es etwas Speedtechnisch aus, wenn ich die Bilder von einer Subdomain lade, die auf /media/ zeigt? Gibt es eine Konfigmöglichkeit dafür in SW5.1? [/quote] Mit einer neuen Domain benötigt man zusätzliche Roundtrips im Netzverkehr, die bei aktiviertem keep-alive sonst nicht unbedingt notwendig sind. Jetzt setzt der Browser aber je nach Konfiguration nur eine bestimmte Anzahl Requests “gleichzeitig” an eine Domain ab. Hier würden jetzt unter Umständen zwei Domains einen Vorteil bringen, der dies ausgleicht. In der Praxis dürfte dies für den “Browser-Nutzer”/Kunden nur in sehr speziellen Fällen bemerkbar sein. Allerdings würden die Bilder SEO-technisch nun einer anderen Domain zugeordnet. Das ist nicht unbedingt sinnvoll. Media-Service-Artikel in den Devdocs beschreibt die Anbindungsmöglichkeiten an ein CDN mit Beispiel für Amazon S3. [quote=“kadis”]Bringt CDN etwas, wenn man zu 95% Inlandskunden hat. (Server steht im selben Land).[/quote] Nein, es sei denn das CDN gleicht Kapazitäts-Engpässe auf dem eigentlichen Shopserver aus. Dann wäre allerdings ein Hardware-Upgrade oder direkt eine Load-Balancinglösung auf dem Shopware-Server aus meiner Sicht sinnvoller. Das müsste auch schon ein sehr großer Shop sein (Zugriffszahlen).

1 „Gefällt mir“