In den Warenkorb, Artikel-links in artikellisten, Hamburger - Menü, Bewertungs -Sterne Mir scheint gerade, fast alles... Ich hätte erwartet, dass das meiste ohne JS geht und durch JS nur verbessert wird.
Dass man zB. in Artikellinks einen Artikel erst ansurfen kann, wenn die Seite voll geladen ist, ist recht übel, finde ich. Die Seite ist oft schon sekunden vorher gerendert, nur noch das JS fehlt. Und man versteht nicht, warum noch nichts klickbar ist. @Wilken (Gambio) vielleicht, oder sonst eine Antwort von Gambio?
Wir halten Javascript für eine valide Möglichkeit viele Dinge schön umzusetzen. Es gibt im Moment keine Bestrebungen den Einsatz von Javascript im Shop zu reduzieren, es gibt aber Bestrebungen Shopseiten beim Laden früher reaktiv zu machen.
Tönt gut. Allerdings, dass ohne JS praktisch nichts läuft, finde ich schon krass. Ist ja erst bei HG so, oder? An normalen Links (Nicht navigationsmenu etc.) verschönert ihr doch nichts, oder? Kann man da etwas genauer sagen, was das JS da überall macht? PS: Wie finden denn die Bots von Google & co. ihren Weg, wenn die kein JS interpretieren? Nicht über die normale Seite?
Das ist keine Sache, die du mit einem Haken und einem Todo erledigst, da spielen viele Puzzleteile die Musik. Man kann und muss sich also eine Reihe von Schritten einfallen lassen, jeder bringt dann ein Stück. Jetzt schon für die 3.3 vorbereitet ist zum Beispiel eine Änderung an der gm_javascript, die das Laden dieser beschleunigt und den nicht Browsercachebaren Anteil stark verringert. Das bringt je nach Shop schon mal einiges. 1-2 andere Sachen sind in Vorbereitung, funktionieren aber noch nicht richtig in jedem Browser, da müssen wir noch Wege finden.
Ohne JS läuft da gar nix mehr... Aber im Zeitalter von facebook & Co. muss JS sowieso aktiv sein, sonst läuft da auch nix mehr.
Das Hauptproblem dürfte doch sein, dass gm_javascript erst am Ende der Seite in der "application_bottom" geladen wird. Was spricht dagegen, das im Header laden zu lassen? Dann hätte man auch gleich jQuery frühzeitig akiv, um andere jQuery-Plugins laden zu können.
Ich hab mich gestern nochmal mit Moritz über das Thema unterhalten können, der im Konstrukt da ziemlich drinsteckt. Was ich selbst auch nicht wusste, weils nicht meine Baustelle war, aber zum Thema sehr interessant ist: In den frühen Phasen von Honeygrid sind ein Haufen Links im Template, die ohne JS liefen und da waren, von uns extra wieder entfernt worden. In den Artikelkacheln waren zum Beispiel Artikelnamen, Artikelbilder und 1-2 weitere Elemente auf die Artikeldetailseiten verlinkt. Die SEO Leute von onpage, etc., deren Expertise wir eingeholt haben, haben uns dann aber nachdrücklich drauf hingewiesen das zu entfernen und auf einen Link zu drücken, damit die Suchmaschinenbots glücklich sind. Zuviele dann jeweils gleiche Links auf dieselben Orte auf einer jeden Seite sind nicht gut, waren die sich sehr sicher. Also ist nur noch der Artikelname verlinkt, und das Javascript sorgt dann nach dem Laden dafür, dass die anderen Bereiche ausser dem Artikelnamen auch klickbar sind. So ist auch an diversen anderen Stellen verfahren worden.
Danke für die vielen Antworten und Einsichten. Verstehe... Was aber meint ihr zur dringlichkeit der Problematik selbst? Zum im Video zu sehenden Effekt, dass die gerenderte Seite noch nicht funktioniert. Ich sehe das als ein grosses Usability Problem, wenn dem User während dem Laden vermittelt wird, dass Bilder nicht klickbar sind, sie es dann später aber doch werden. (Oder auch, dass der Hamburger schon da ist, aber nicht funktioniert. Siehe auch http://www.gambio.de/forum/threads/...eigen-wenn-das-menu-auch-benutzbar-ist.27057/) Als wie problematisch seht ihr das an? Gambio ist da also dran wie Wilken schreibt, aber mit welcher Priorität? Kann man das noch etwas mehr erläutern? Und Avengers Frage zum Verschieben des JS, wäre das eine Lösung? Ev. so, dass ich je nach Vorliebe (möglichst schnell gerendert vs. möglichst nichts halbfertiges/dysfunktionales zeigen) das JS am Anfang oder Ende haben kann? Könnte man das selbst schon als USERMOD umsetzen?
Ich gebe dazu gerne nochmal unsere Sicht wieder: Bei uns fällt deine Problemstellung in den Bereich allgemeiner Optimierung. Es ist auf dem Tisch was zu machen, weil wir da auch noch Ideen haben, es ist aber kein "Hochprioritäts-Alarmprojekt". Wenn wir was machen, wird das den Moment sichtbar verringern und der allgemeinen Seitenladezeit zu Gute kommen, etwas Potenzial ist noch da. Aber: Auch wenn wir alles fertig haben was wir wollen, wird das deinen Kritikpunkt sicher nicht 100% beseitigen können. Das meint selbst wenn wir optimieren, wird dieser Moment nicht komplett verschwinden. Und: Wir betrachten die derzeitige Lösung im groben als optimal im Rahmen der möglichen Alternativen. Denn: Wir können das Rendering der Seiten Im Browser blockieren, bis sie sicher vollständig funktionieren. Alle Leute, die dem relativ unsinnigen Google Pagespeed hörig sind, werden uns dann böse Mails schreiben. Das wäre nicht gut. Wir können mehr Links ohne Javascript setzen, und werden uns böse Mails von allen SEOs und ihren Kunden einfangen. Das wäre nicht gut. Wir oder du können das Thema "Responsive" wieder über Bord werfen, mit einem klassisch statischen Template gibts die Problemstellung nicht. Je weniger Flexibilität und weniger Interaktion, desto einfacher und damit schneller. So geht die Gegenwart aber auch nicht, das wäre nicht gut. Für den Moment wird das Schiff da nicht anfangen in eine grob andere Richtung zu laufen.
Das wäre nicht unpraktisch, Google Pagespeed hasst aber wenn du das tust. Das würde auch real das Seitenrendering auch wieder ne Weile länger blockieren, also langsamer aussehen. Das Problem relativiert sich langsam. Jquery wird ja normal auch nicht mehr mehr da draussen.