Geschwindigkeitstests und GZIP

  • Hallo zusammen,


    meine Seite https://marburger-schlosskonzerte.de/ läuft mit J4.2.6, PHP 8.1, alle Erweiterungen (RegularLabs, Akeeba Backup, CookieHint and Consent sowie JCE Editor) sind aktuell.


    Nach dem Relaunch habe ich verschiedene Tests und Optimierungen vorgenommen, mit folgenden Ergebnissen:


    1. PageSpeed Insights:

    a. Mobil: Leistung 100%, Barrierefreiheit 100%, Best Practices 100%, SEO 92%

    b. Desktop: Leistung 98%, Barrierefreiheit 100%, Best Practices 100%, SEO 91%.


    2. GTMetrix: Performance 91%, Structure 89%. Zu letzterem steht: „Serve static assets with an efficient cache policy“.


    3. Pingdom: Performance 70%, Page size 1.2 MB. Auch hier steht: „Compress components with gzip“. Außerdem wird moniert: „Add Expires headers“, womit ich nichts angefangen kann.


    So froh mich die Ergebnisse von (1) machten, so verwirrt bin ich durch die Cache- und GZIP-Hinweise. Ich habe nämlich folgende Einstellungen in der Konfiguration:


    System:

    Cache: AN – Normales Caching

    Cache-Speicher: Datei

    Plattformspezifischer Cache: Nein

    Cache-Dauer: 60

    Cache-Verzeichnis: [leer].


    Server:

    Gzip-Komprimierung: Ja


    Könnt Ihr mir sagen, wie ich die Performance über die Einstellungen optimieren kann?


    Vielen Dank im Voraus

    Grüße

    Anna

  • Danke, Dirk, für Deine Anwort!
    Für (1) ist das eine berechtigte Frage, aber laut Pingdom ist da noch reichlich Luft nach oben. Ich dachte, ich hätte etwas bei den Einstellungen falsch gemacht. Wenn das so korrekt ist in der Konfiguration, dann werde ich mich damit natürlich abfinden.


    Vielleicht noch informativ dazu:


    SEO Check https://marburger-schlosskonzerte.de/

    Danke, Elwood, das schaue ich mir an!

  • Ok, deine Frage bezog sich ja auf den Google-Nerver, der seine eigenen Interessen vertritt und gerne zur allgemeinen Verunsicherung beiträgt.

    Natürlich kannst du weitere Optimierungsmaßnahmen durchführen. Dazu hat Elwood ja schon einen Link als Hilfe genannt.

    Es gilt jedoch der alte Satz "wenn`s fast gut ist soll man aufhören" ;).

    Also nicht übertreiben.

  • Ok, deine Frage bezog sich ja auf den Google-Nerver, der seine eigenen Interessen vertritt und gerne zur allgemeinen Verunsicherung beiträgt.

    Natürlich kannst du weitere Optimierungsmaßnahmen durchführen. Dazu hat Elwood ja schon einen Link als Hilfe genannt.

    Es gilt jedoch der alte Satz "wenn`s fast gut ist soll man aufhören" ;).

    Also nicht übertreiben.

    Na ja, eigentlich hat der Google-Nerver sehr gute Ergebnisse ausgespuckt. Verunsichert hat mich die Diagnose von GTMetrix und Pingdom, wonach ich für Caching, „Compress components with gzip“ und „Add Expires headers“ sorgen sollte. Cache und GZIP dachte ich schon korrekt eingestellt zu haben, Letzteres verstehe ich nicht.
    Vielleicht ist meine Sorge tatsächlich übertrieben… :) :S

  • Verunsichert hat mich die Diagnose von GTMetrix und Pingdom, wonach ich für Caching, „Compress components with gzip“ und „Add Expires headers“ sorgen sollte.

    Du kannst den Browsern ein Cache-Ablaufdatum durch bestimme Einträge unten in die .htaccess mitteilen, z.B.


    Kann man beliebig erweitern bzw. ändern. Google mal nach entsprechenden Regeln!


    GZIP in der Joomla-Konfiguration komprimiert nicht automatisch auch css- und js. Dafür sind Einträge in der .htaccess nötig. Die stehen in der originalen htaccess.txt bereits drinnen. Hast du diese eventuell als Kommentar gesetzt, oder nutzt du eventuell die .htaccess gar nicht? Manchmal sind diese GZIP-Einträge aber auch kontraproduktiv und müssen als Kommentar gesetzt werden, nämlich dann, wenn der Server css- und js-Dateien bereits automatisch komprimiert. Ansonsten kommt es zu Fehlern. Bin da jetzt aber kein Server-Experte. Einfach testen und "messen"!

    Sonst poste mal deine .htaccess!

  • Hallo JoomlaWunder,


    vielen Dank, das bringt mich weiter!

    GZIP in der J-Konfiguration hat also nicht automatisch die gewünschte Wirkung?

    Tatsächlich habe ich mich mit der .htaccess bisher nicht beschäftigt. Sie ist zumindest da und sieht wie folgt aus:



    In der htaccess.txt gibt es einen Abschnitt zum GZIP und auch Weiteres (173 vs. 82 Zeilen).


    Meinst Du mit „muss als Kommentar gesetzt werden“, dass es auskommentiert werden muss (in bestimmten Fällen), also dass es dann nicht ausgelesen wird?


    Es sieht jedenfalls so aus, dass ich durch die Geschwindigkeitstest über eine viel wichtigere Sache gestolpert bin, mit der ich mich nun auseinandersetzen muss: die .htaccess-Datei…


    Viele Grüße

    Anna

  • Schwer zu lesen, deine Darstellung der .htaccess.


    Füge zunächst mal das unten zur .htaccess hinzu, was ich angegeben habe! Dann sollte sich bei Pingdomtools bereits eine deutliche Änderung ergeben. Für "Add Expires Headers" werden ja bisher nur 0 Punkte vergeben. Das ist nicht sehr viel.


    Nebenbei: Du hast dein Backend mit zusätzichem Passwortschutz versehen. Das ist gut. Wichtig: Hast du ein Cache-Verzeichnis angegeben, z.B. das im Joomla-Root. Wenn du keines angegeben hast, wird alles in administator/cache gespeichert. Darauf kann aber aufgrund des Passwortschutze im Normalfall nicht zugegriffen werden.

  • Oh, da waren vorhin noch Zeilenumbrüche drin! Sehr seltsam. Ich füge es nochmal als Code ein.

    Ja, ich füge das von oben schon mal ein. Herzlichen Dank!

  • Nebenbei: Du hast dein Backend mit zusätzichem Passwortschutz versehen. Das ist gut. Wichtig: Hast du ein Cache-Verzeichnis angegeben, z.B. das im Joomla-Root. Wenn du keines angegeben hast, wird alles in administator/cache gespeichert. Darauf kann aber aufgrund des Passwortschutze im Normalfall nicht zugegriffen werden.

    Ergänzend dazu:

    Eigenen Cache-Ordner verwenden statt Joomlas /cache/ - GHSVS-Dein Web mit Mehr
    Beliebiges Verzeichnis als Cache-Ordner in der configuration.php festlegen. Die Joomla-Cachepfade überschreiben / umdefinieren.
    ghsvs.de

  • Füge zunächst mal das unten zur .htaccess hinzu, was ich angegeben habe! Dann sollte sich bei Pingdomtools bereits eine deutliche Änderung ergeben.

    Ja, tatsächlich von 70 auf 79 gestiegen. Vielen Dank!


    In der htaccess.txt-Datei steht folgende Sequenz:

    Ist es dies, was ich in die htaccess-Datei einfügen muss, damit css, js, Bilder und andere Elemente geGZIPt werden?


    Sorry, wenn ich da vielleicht erschreckend ahnungslos bin… Je mehr ich mache, umso augenfälliger wird mein Quereinsteigertum. pardon


    Viele Grüße

    Anna

  • Zu den gzip. Diese werden bevorzugt verwendet, also z.B. eine tralala.min.js.gz anstatt tralala.min.js.


    Ebenso bei CSS-Dateien.


    EDIT: Und ich sehe gerade, dass das nicht nur für .min-Dateien gilt, aber nur die hat Joomla halt als gz-Varianten dabei, sonst wäre Debuggen von JS und CSS extreeeemst nervig.


    Voraussetzung ist aber:

    - Die tralala.min.js.gz muss auf deinem Server vorliegen. Für Joomla-Core ist das der Fall. Für viele zuinstallierte Erweiterungen aber noch nicht. Es wird also nicht magisch ein GZIP durchgeführt.

    - Die Zeilen in der .htaccess.

    - Und dass der Webserver und Browser mitmachen. Das ist aber schon eine so olle Kamelle, dass das wohl der Fall ist.


    Generell ist es zu empfehlen, die htaccess so weit möglich aus Joomla 4 zu nehmen und die eigenen Teile aus der alten zu übernehmen, wenn man da was angepasst hat. Ich sehe das immer wieder, dass nach Migration von 3 auf 4 noch die alte drinnen liegt. Die funktioniert auch, aber ...


    Und das gz-Gedöns hat meiner altersschwachen Seite tatsächlich einen Schub gegeben, habe ich seinerzeit getestet, auch, wenn ich jetzt erst mal wieder ein Tool verwende bis ich wieder Nerven habe ;)

  • Da die http- zu https-Weiterleitung bereits sauber funktioniert, und das auch in Verbindung mit der mit-www zu ohne-www-Weiterleitung, sollte der angegebene Code nicht verwendet werden. Womöglich hast du in der Joomla-Konfiguration bereits "SSL erzwingen" aktiviert oder irgendwie beim Hoster eingestellt. Das wären alles Alternativen. Nur für 1 Alternative sollte man sich entscheiden. Sonst gibt es schnell Probleme.

  • Vielen Dank an alle; langsam komme ich voran!


    Voraussetzung ist aber:

    - Die tralala.min.js.gz muss auf deinem Server vorliegen. Für Joomla-Core ist das der Fall. Für viele zuinstallierte Erweiterungen aber noch nicht. Es wird also nicht magisch ein GZIP durchgeführt.

    Ich habe mal im Ordner Media > Templates > Site > Cassiopeia und diversen Unterordnern nachgeguckt, und da sind etliche tralala.min.js.gz-Dateien vorhanden (template.min.js.gz, editor.min.css.gz, offline.min.css.gz, template-rtl.min.css.gz, template.min.css.gz usw.).

    1. Nicht vorhanden sind sie im von mir hinzugefügten Fonts-Ordner und im Images-Ordner mit den Favicons.

    2. Hinzuinstallierte Erweiterungen sind RegularLabs und CookieHint and Consent.

    Frage: Wäre es sinnvoll, hier entsprechende gz-Dateien hinzuzufügen, und falls ja, wie müssten diese aussehen?



    - Die Zeilen in der .htaccess.

    Darauf bezog sich meine Frage in #13, aber dank Euren Hinweisen und Recherchen zur htaccess kann ich meine Frage nun präziser stellen.

    Habe ich es richtig verstanden, dass nach der Installation von J4 die htaccess.txt-Datei neu hinzugekommen ist und die .htaccess-Datei erstmal die von mir für J3 angepasste Datei ist?

    Wenn das so richtig ist, müsste ich dann wie folgt vorgehen?

    1. Ergänzungen aus der .htaccess-Datei irgendwo speichern

    2. htaccess.txt zu .htaccess direkt über FTP umbenennen

    3. gespeichert Ergänzungen unten einfügen.

    Wäre das Vorgehen so korrekt? Und die umbenannte txt-Datei würde vom System nicht „vermisst“, weil die Seite nicht darauf zugreift, richtig?



    Und als nächstes müsste ich prüfen, auf welcher Ebene ich das Passwort für den Verzeichnisschutz hinterlegt habe, und ob der Pfad zur .htpasswd in der .htaccess-Datei korrekt angegeben ist, richtig? Ebenso muss ich das Cache-Verzeichnis festlegen, wie in #9 und #12 beschrieben.


    Ich danke Euch vielmals!


    Grüße

    Anna

  • Womöglich hast du in der Joomla-Konfiguration bereits "SSL erzwingen" aktiviert oder irgendwie beim Hoster eingestellt. Das wären alles Alternativen. Nur für 1 Alternative sollte man sich entscheiden. Sonst gibt es schnell Probleme.

    Vielen Dank für den Hinweis! Tatsächlich hatte ich über All-inkl schon die Einstellung vorgenommen. Und vor einer halben Stunde in der Joomla-Konfiguration "SSL erzwingen" eingestellt. Ist Letzteres dann auch überflüssig oder sogar störend?

  • Und als nächstes müsste ich prüfen, auf welcher Ebene ich das Passwort für den Verzeichnisschutz hinterlegt habe, und ob der Pfad zur .htpasswd in der .htaccess-Datei korrekt angegeben ist, richtig? Ebenso muss ich das Cache-Verzeichnis festlegen, wie in #9 und #12 beschrieben.

    Dein Verzeichnisschutz betrifft das administrator-Verzeichnis. Wenn du dich ins Backend einloggen kannst, läuft das auch korrekt.

    Musst nur darauf achten, dass im administrator-Verzeichnis keine gecachten Dateien des Frontends (Webseite) liegen. Das ist dann der Fall, wenn du kein Cache-Verzeichnis angibst.

    Sobald du ein Cache-Verzeichis angibst, z.B. das /cache im Joomla-Root, werden die gecachten Frontend-Dateien dort gespeichert und alles ist in Ordnung.

  • Vielen Dank für den Hinweis! Tatsächlich hatte ich über All-inkl schon die Einstellung vorgenommen. Und vor einer halben Stunde in der Joomla-Konfiguration "SSL erzwingen" eingestellt. Ist Letzteres dann auch überflüssig oder sogar störend?

    Ich bin der Meinung, dass es gestern bereits einwandfrei funktionierte. Insofern müsstest du "SSL erzwingen" wieder deaktivieren.
    Einfach testen! Oder du hattest in der .htaccess bereits etwas derartiges drinstehen.


    Nebenbei: Die htaccess.txt ist nur eine Textdatei, die nicht vom Server abgearbeitet wird. Sie dient als Vorlage, welche man noch an die einzelnen Hoster anpassen kann. Die htaccess.txt kann prinzipiell mit jedem Joomla-Update überschrieben werden. Deshalb regelmäßig mal nachschauen, ob es wichtige Änderungen gibt. Meist wird das dann aber in Joomla unter den Nachinstallationshinweisen angezeigt. Dann müsste man die Änderung manuell in die .htaccess übernehmen.

    Die .htaccess ist die Datei, die vom Server abgearbeitet wird. Diese wird durch ein Joomla-Update nie überschrieben.