Neu Plugin JTL Speed Optimizer verfügbar

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Bei Seiten die sehr unterschiedlich sind, wird das Crawling nach Seitentyp nicht geeignet sein, daher auch die Rückfrage oben.
Habe nebst den Rückmeldungen hier auch so ein paar Rückmeldungen bekommen und wir werden die Idee von @css-umsetzung implementieren: Man kann es frei entscheiden.

Auch der weitere Ansatz in der JavaScript Optimierung wird optional sein.
Der Nachteil ist etwas, dass es ggf. "zu viele" Optionen gibt, sprich dass nicht jedem gleich bekannt ist was Optimierungsmethode A und was Optimierungsmethode B ist.
Wir werden dann in den Standardeinstellungen die allgemein bessere Lösung setzen und die Doku entsprechend pflegen.
Für alles darüber hinaus bleibt dann leider nur die Frage beim Fachmann (bei uns, oder Agenturen die schon erste Erfahrungen mit dem Plugin gemacht haben), wenn es ans Feintuning geht.

Zum jetztigen Zeitpunkt ist nun soweit alles klar und wir melden uns mit dem kommenden Update wieder.
 

swiss-sale.ch

Aktives Mitglied
16. Februar 2018
59
23
Wir haben öfters mal das Problem, dass eine Artikeldetailseite falsch gerendert wird. Das Haupt-Artikelbild erscheint dann weiter unten im Content und die Minibilder werden angeschnitten. Wenn ich das Browserfenster kleiner mache und anschliessend wieder maximiere stimmt die Darstellung wieder. Dieses Phänomen haben wir erst seit Verwendung des Optimizers.

Gibt es eine Einstellung, die dafür verantwortlich ist? Wie können wir dies verhindern?

Wir verwenden das Evo-Template (Child) mit sehr wenigen Änderungen.
 

Anhänge

  • 1.jpg
    1.jpg
    50,1 KB · Aufrufe: 13
  • 2.jpg
    2.jpg
    44,5 KB · Aufrufe: 15
  • 3.JPG
    3.JPG
    60,7 KB · Aufrufe: 15

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Was steht in der Angabe "Events die nochmals ausgeführt werden sollen" ?

Da hinten am besten nochmal anhängen:
$(window).trigger('resize');
 

swiss-sale.ch

Aktives Mitglied
16. Februar 2018
59
23
Da steht der Standard-Wert drin
$(window).load();window.document.dispatchEvent(new Event('DOMContentLoaded',{bubbles:true,cancelable:true}));

Ist so korrekt?
$(window).load();window.document.dispatchEvent(new Event('DOMContentLoaded',{bubbles:true,cancelable:true}));$(window).trigger('resize');
 

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Ja genau so wäre es dann korrekt.
Wenn ich mich recht erinnere kann man im EVO auch den Part mit DOMContentLoaded weglassen, da keine Funktion darauf zugreift.
Ggf. jedoch ein Plugin, das wäre zu testen oder einfach mit drin zu lassen.

Das Ergebnis wäre jedenfalls:
$(window).load();$(window).trigger('resize');
 
  • Gefällt mir
Reaktionen: swiss-sale.ch

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Hallo,

wir sind soweit und haben die neue Version fertiggestellt.
Direkter Downloadlink: https://shop.knoell-marketing.de/zips/km_speed_optimizer_v108.zip

Dabei haben wir auf eine noch bessere Kompabilität geachtet und neue Modi zur URL-Generierung erzeugt.

Im Detail ist passiert:
  • CSS mit 2tem Modus: Unterscheidung ob Inline-<style> Sets mit beachtet werden sollen (z.B. beim Hypnos notwendig)
  • Kritisches CSS: Elemente entfernen
    Beim kritischen CSS soll ja nach Möglichkeit nur das CSS geladen werden für die Elemente die auch direkt sichtbar sind.
    Der Footer ist ja dabei nie sichtbar (sofern man keine zu kurze Seite hat) und diesen kann man nun ausschließen.
    Angaben erfolgen Komma-getrennt jeweils im Jquery Stil (z.B. #mein-element .classname).
    Damit kann man das kritische CSS nochmals reduzieren und der Optimizer kann auch schneller arbeiten.
    Entfernt wird natürlich nur beim Optimieren - die Live-Seite hat weiterhin alle Elemente
  • JavaScript in 2 Modi aufgeteilt
    • JavaScript Pro (der bisherige Modus) mit folgenden Verbesserungen
      • Bug-Fix: Trennung zwischen Dateien integriert (Gab Probleme wenn die vorherige Datei nicht mit einem Semikolon abgeschlossen hatte)
      • Einstellung "Fehlerhafte JS automatisch deaktivieren": Wenn z.B. externe Skripte den Aufruf blockieren können diese automatisch ausgeschlossen werden
    • JavaScript Standard: Bessere Kompabilität - empfehlenswert wenn immens viele Plugins eingesetzt werden (Sorry, aber Wahnsinn was ich teils hier erlebt habe).
      Dabei werden die JavaScripts an gleicher Stelle belassen, jedoch alle (auch inline!) via "Defer" geladen - sodass diese erst nach dem Seitenaufbau ausgeführt werden und die Seite ebenfalls schon dargestellt wird (PageSpeed Insights sieht es dann auch nicht mehr als blockierend). Unterschied zum Pro: Keine Komprimierung der Dateien und alles wird vor dem Event "DOMContentLoaded" statt danach ausgeführt
  • Neue Verarbeitungsmodi für den Optimizer
    Alle nun auch kombinierbar mit "URL-Liste" für ein präsizeres Arbeiten
    • An Hand der JTL Tabelle tseo
    • Nach Seitentyp
      • per URL optimierte Seiten werden dann vorrangig behandelt (z.B: bei Kombination mit URL-Liste)
  • Es kann nun eine einzelne URL direkt optimiert werden (Tab Optimizer einfach einfügen und starten klicken)
  • Ein kleiner Log speichert nun im Unterodner "log" die optimierten URLs mit (gruppiert nach Datum in jeweils einer Datei)
  • Weitere Fixes:
    • Datum zur Erkennung letzter Änderung wird nun nur noch im Modus Sitemap und nach JTL Tabelle tseo generiert, zwischenzeitliches Wechseln auf ein anderen Modus setzt damit das Datum nicht neu
    • Es wird geprüft ob Mod Pagespeed im Einsatz ist (hierbei müssen Abhängigkeiten beachtet werden)
    • Preload mit Crossorigin anonymous (führte je nach Konstellation zu Fehlern beim Nachladen von Dateien, da diese dann gesperrt waren)
    • Standardeinstellung des Bilder LazyLoader um den Ausschluss "product" und weitere erweitert, da diese in jedem JTL Template nachgeladen werden (Wert ist nun im Standard: shoplogo;product;preview;data:;kategorien)

Viel Spaß damit ;)
 
  • Gefällt mir
Reaktionen: swiss-sale.ch und saw

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Jein.
Es kommt auf die Einstellungen drauf an.
Generierte Dateien werden nicht neu geschrieben, möchte man das muss man den Cache leeren.
Von aktuellen Fehlern gehe ich soweit ja nicht aus, daher wäre der Vorteil überwiegend im kritischen CSS zu spüren.

Der JavaScript Modus "Standard" passiert live - stellt man also von Pro auf Standard um, ist ebenfalls kein Durchlauf notwendig.

Ob man den Schritt gehen will, bleibt jedem selbst überlassen - bedeutet ja dann ebenfalls einen kompletten neuen Durchlauf.
Die neuen Modi der Abarbeitung sind vom Cache unabhängig, treffen diese auf neue Seiten, werden die optimiert.
 
  • Gefällt mir
Reaktionen: saw

saw

Gut bekanntes Mitglied
1. Januar 2012
223
24
Wir lassen den Optimizer gerade über das ganze Sortiment laufen und es gibt ein Problem bei dem ich mir aber nicht 100% sicher bin ob es am letztlich durchgeführtem update von Hypnos 2.5 auf 2.6 passierte oder jetzt durch den Optimizer. Ich denke aber eher der Optimizer ist es.
Bei allen unseren Magazinen haben wir eine Videoerklärung von Youtube in einem extra Tab verlinkt. Z. B.:
https://www.softairwelt.de/HighCap-Magazin-fuer-G18C-AEP-NBB-und-CZ99-AEP-NBB
Der Extra Tab stammt aus alten "Rütten" Zeiten mit seinem Plugin agws_multitab, der steuert den Tab "Videoerklärung"

Jetzt klemmt sich das Video in alle Tabs, egal ob Beschreibung, Bewertung usw.. Und der Tab "Videoerklärung" macht eigentlich gar nichts mehr.
 

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Hallo,

habe mir das angeschaut. Der Tab ist in einem DIV, der 2mal im Quellcode ist, auch ohne das irgend eine JavaScript oder ähnliches läuft.
Wir manipulieren keine "Normalen" Elemente, ich würde es eher im Template sehen, da wir da wie gesagt nicht dran sind.
Ein Fehler z.B. passiert auch schnell, wenn DIVs nicht richtig geschlossen wurden - sprich Syntax Fehler im Quellcode können ebenfalls solch eine Wirkung haben.
 
  • Gefällt mir
Reaktionen: saw

saw

Gut bekanntes Mitglied
1. Januar 2012
223
24
Hallo,
vielen Dank für den schnellen Support.
Ich spreche Marcel an, er ist der neue Hüter der agws Plugins.
 

swiss-sale.ch

Aktives Mitglied
16. Februar 2018
59
23
Hallo,

wir sind soweit und haben die neue Version fertiggestellt.

Vielen Dank für die neue Version und die zusätzlichen Optionen.
Ich habe die Version mit den folgenden Einstellungen auf unseren Testshop installiert.

- CSS Optimizer Pro
- CSS URLs umschreiben: Aktiv
- Nur notwendige CSS inline: Aktiv
- Font-Face in kritischem CSS laden: Nicht Aktiv

- JS Optimizer Pro
- Events die nochmals ausgeführt werden sollen: Standard
- Fehlerhafte Abrufe automatisch ausschließen?: Aktiv

- Seiten definieren durch: SEO-Liste aus DB

- URLs der Seitentypen: Alles leer

Ich haben den Cache gelöscht und den Cron mit dem Button "Optimizer starten" gestartet. Über 2000 Seiten werden innerhalb von wenigen Minuten optimiert, pro Seite rund 0.02s. Auch nach mehreren Durchgängen bleibt der Cache jedoch leer. Mit der Einstellung Sitemap werden die Seiten entsprechend optimiert.

Woran könnte das liegen?
 

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Habe es in der Testumgebung einmal nachgestellt, da läuft es super.
Habe allerdings eine Vermutung. Wie sehen denn die URLs aus die er optimiert? Fehlt da ein / (Slash) oder sind es sogar 2x / (hinter der Domain)?
 

swiss-sale.ch

Aktives Mitglied
16. Februar 2018
59
23
Habe es in der Testumgebung einmal nachgestellt, da läuft es super.
Habe allerdings eine Vermutung. Wie sehen denn die URLs aus die er optimiert? Fehlt da ein / (Slash) oder sind es sogar 2x / (hinter der Domain)?

Die URLs sehen eigentlich ganz OK aus, ausser dass diese mit http:// und nicht https:// erscheinen.
Hier ein Auszug
Optimiere: http://jtl01.swiss-sale.ch/in-kuerze-verfuegbar_de - fertig (0.02s)
Optimiere: http://jtl01.swiss-sale.ch/Versandinformationen - fertig (0.022s)
Optimiere: http://jtl01.swiss-sale.ch/Shipment - fertig (0.019s)
Optimiere: http://jtl01.swiss-sale.ch/agb - fertig (0.019s)
Optimiere: http://jtl01.swiss-sale.ch/terms-and-conditions - fertig (0.02s)
Optimiere: http://jtl01.swiss-sale.ch/Livesuche - fertig (0.021s)
Optimiere: http://jtl01.swiss-sale.ch/Live-search - fertig (0.018s)
Optimiere: http://jtl01.swiss-sale.ch/impressum - fertig (0.018s)
Optimiere: http://jtl01.swiss-sale.ch/imprint - fertig (0.018s)
Optimiere: http://jtl01.swiss-sale.ch/sitemap - fertig (0.019s)
Optimiere: http://jtl01.swiss-sale.ch/kontakt - fertig (0.018s)
Optimiere: http://jtl01.swiss-sale.ch/zahlungsmoeglichkeiten - fertig (0.02s)
 

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Okay, einfaches Problem: Die Konfigurationsdatei ist falsch.
Hier bitte einmal in der /includes/config.JTL- Shop.ini.php die Shop-URL ebenfalls mit https schreiben (Wir setzen die URL zuammen aus: SHOP_URL + / + URL der SEite aus der Datenbank).
Hier passiert eine Weiterleitung, die wir nicht abgreifen, somit erfolgt keine Optimierung.
 

swiss-sale.ch

Aktives Mitglied
16. Februar 2018
59
23
Habe noch eine Frage zum neuen Optimizer. Im Moment läuft der Cron auf unserem produktiven Shop.

Mir ist aufgefallen, dass bei Ansicht mit dem Smartphone die Bilder (bei mehreren Artikelbilder) nicht mit dem Finger durchgewischt werden können. Ich vermute, dass auch hier noch ein weiterer Eintrag unter "Events die nochmals ausgeführt werden sollen" rein muss.

Hat da jemand ein Tipp für mich?
 
  • Gefällt mir
Reaktionen: DaHmM

eRock Marketing

Offizieller Servicepartner
SPBanner
9. Januar 2018
503
204
Bitte einmal den Modus auf JavaScript Standard umstellen.
Ich sehe hier recht viele weitere JavaScripts wie von Dropper, GTag (was manche AdBlocker blockieren und dann wird das ganze Skript blockiert).
 
  • Gefällt mir
Reaktionen: swiss-sale.ch

swiss-sale.ch

Aktives Mitglied
16. Februar 2018
59
23
Bitte einmal den Modus auf JavaScript Standard umstellen.
Ich sehe hier recht viele weitere JavaScripts wie von Dropper, GTag (was manche AdBlocker blockieren und dann wird das ganze Skript blockiert).

Habe ich gemacht, jedoch erhalte ich jetzt in der Console die folgenden Fehler.
Code:
Access to script at 'https://www.googletagmanager.com/gtag/js?id=AW-1070997249' from origin 'https://swiss-sale.ch' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'http://www.googletagmanager.com' that is not equal to the supplied origin.
GET https://www.googletagmanager.com/gtag/js?id=AW-1070997249 net::ERR_FAILED
Access to script at 'https://gonnado.com/pixel/swiss-salech/n195qlJOKWGRORg8MQEy.js' from origin 'https://swiss-sale.ch' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
GET https://gonnado.com/pixel/swiss-salech/n195qlJOKWGRORg8MQEy.js net::ERR_FAILED

Habe versucht diese über "Dateien ausschliessen" zu umgehen, dies hat jedoch nicht funktioniert.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Plugin-Update 2.4.1: JTL Exportformat Google Shopping Plugins für JTL-Shop 6
Neu Plugin "Verwalte deinen JTL Shop mit Excel Dateien" geht wohl nicht mit JTL-Shop 5.4.1 Plugins für JTL-Shop 1
Neu Update 5..50 + Plugin: JTL Exportformat Google Shopping Export Stopp JTL-Shop - Fehler und Bugs 6
Neu JTL-Shop 5.5.0 PayPal Plugin Installation / Updates von JTL-Shop 2
Neu Plugin Produktsicherheitsverordnung (GPSR) Plugin für den JTL-Shop 5 nicht PHP 8.4 fähig Technische Fragen zu Plugins und Templates 4
Neu Google Shopping (Plugin) Export immer leer Allgemeine Fragen zu JTL-Shop 4
Neu Sendcloud Plugin immer im Tab fehlerhaft - Lizenz abgelaufen Plugins für JTL-Shop 0
Neu Texteditor Hinweis Plugin von Webstollen Plugins für JTL-Shop 0
Neu Welches PlugIn für ein besseres Google Ranking? Plugins für JTL-Shop 2
Neu Händlerbund Plugin: "Zahlung und Versand" wird nicht automatisch übernommen Plugins für JTL-Shop 2
Neu Die Zahlungsart SOFORT ist eine Plugin-Zahlungsart für Mollie. Das zugehörige Plugin ist jedoch nicht installiert! Allgemeine Fragen zu JTL-Shop 0
Neu Plugin PayPal - capture failed for method PayPal Checkout Plugins für JTL-Shop 0
Neu Paypal Plugin läßt sich nicht installieren - SQL Fehler Plugins für JTL-Shop 2
Neu Paypal Plugin 2.0.1 Merachant JTL-Shop - Fehler und Bugs 10
Neu Plugin Fehler JTL-Shop - Fehler und Bugs 7
Neu PayPal Plugin 2.0 - Vaulting - Ist IMMER ein neues Onboarding nötig? Wie prüfen, ob OK? Plugins für JTL-Shop 6
Neu Plugin - Kindartikel in der Artikelübersicht anzeigen - SHOP-475 Plugins für JTL-Shop 7
Neu 🌟Neues Plugin: Produkt FAQ Plugins für JTL-Shop 0
Neu Suche Plugin: Zusatzartikel mit einfacher Variationsauswahl Plugins für JTL-Shop 8
Neu Neues Plugin - Der ultimative Super-Slider Plugins für JTL-Shop 0
Neu Update auf Shop 5.5.0 in Kombination mit Plugin "AmazonPay" nicht möglich - 500er Fatal Error JTL-Shop - Fehler und Bugs 13
Neu Test Plugin lässt sich weder installieren, noch löschen Plugins für JTL-Shop 0
Neu ChatGPT Plugin Plugins für JTL-Shop 0
Neu Welcher Zahlungsanbieter mit JTL-POS Allgemeine Fragen zu JTL-POS 0
Neu JTL Connector Allgemeines zu den JTL-Connectoren 1
Neu Hilfe bei Anpassung der JTL-Rechnung (v1.9.4.6) – EK pro Stück × Menge als Summe je Position + Privateinlage-Hinweis Dienstleistung, Jobs und Ähnliches 1
Neu JTL WaWi Verfügbarkeits-Liste Arbeitsabläufe in JTL-Wawi 2
Kabelkonfektionierung mit JTL Konfigurator JTL-Wawi 1.10 0
JTL WAWI GUI Update von 1.9.8.0 auf 1.10.13.1 nicht möglich WAWI reagiert nicht JTL-Wawi 1.10 3
Klarna - Zahlung wird in JTL nicht automatisch gesetzt / "zu erfassen" im Klarna-Dashboard JTL-Wawi 1.10 3
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: Mein Start mit JTL | Produkte, Funktionen, Einsatzmöglichkeiten Messen, Stammtische und interessante Events 0
Webinar: So meisterst du deine JTL-Steuereinstellungen – mit countX & JERA am 11.09.25 Messen, Stammtische und interessante Events 0
JTL-Stammtisch Hannover-Nord / Wedemark 23.09.25 powered by Yagemi media:consulting Messen, Stammtische und interessante Events 0
JTL-Stammtisch Berlin 19.09.25 powered by Solution 360 GmbH Messen, Stammtische und interessante Events 0
JTL-MeetUp München am 18.09.25 - powered by Novalnet AG! Messen, Stammtische und interessante Events 0
Neu Jtl WMs Wareneingang Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Ankündigung: Entwicklung eines modified-Connectors für JTL-WaWi Modified eCommerce-Connector 0
Neu ecomdata offline? Shop und JTL Wawi nicht erreichbar User helfen Usern - Fragen zu JTL-Wawi 16
Neu Hilfe beim Einrichten von JTL-Wawi mit unternehmensspezifischen Artikeldaten Arbeitsabläufe in JTL-Wawi 14
Neu Anbindung von Global E als Versanddienstleister in JTL – wer wäre dabei? JTL-Wawi - Ideen, Lob und Kritik 0
Neu Eazyedit - KI-Bildbearbeitung für JTL User helfen Usern 0
JTL Rest API als Dienst JTL-Wawi 1.10 0
JTL Connector Steuersatz Mapping JTL-Wawi 1.6 0
Neu Kann ich irgendwie ausgeben, welches JTL-Konto das Dokument gedruckt hat? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 11
Neu Neue Software: Workflows exportieren und importieren in JTL (WCopy4jtl) [WAWI-36174] Arbeitsabläufe in JTL-Wawi 4
Neu JTL Shop 5 Probleme mit Anlegen eines Kundenaccounts Allgemeine Fragen zu JTL-Shop 4

Ähnliche Themen