Joomla 4 "entrümpeln"

  • Hallo,


    ich beschäftige mich derzeit intensiv mit J4 und was mit auffällt, dass es in der Performance zunächst einmal schlechter dasteht, als 3.10.11. Wie ich das messe?

    Netzwerkanalyse -> DomContentLoaded. Ist zwar nicht DIE Referenz, doch wenn man beides unter gleichen Bedingungen miteinander vergleicht, passt es. Eigentlich sollte J4 ja schneller sein - oder täusche ich mich da?


    J4.2.2: DOM - 1,1 sek

    J3.10.11: DOM - 830 ms


    Was mir aufgefallen ist, dass J4 Ballast mit sich bringt, der nicht benötigt wird. Bspw. kann ich nichts mit

    Code
    <link href="/media/vendor/joomla-custom-elements/css/joomla-alert.min.css?0.2.0" rel="stylesheet" />
       
    
    <script src="/media/system/js/messages-es5.min.js?70b6651d6deab46dc8a25f03338f66f540cc62e2" nomodule defer></script>
    <script src="/media/system/js/messages.min.js?7425e8d1cb9e4f061d5e30271d6d99b085344117" type="module"></script>


    Außerdem werden Fonts geladen:

    Code
    /media/vendor/fontawesome-free/webfonts/fa-regular-400.woff2
    /media/vendor/fontawesome-free/webfonts/fa-solid-900.woff2
    /media/vendor/fontawesome-free/webfonts/fa-brands-400.woff2


    Wie gelingt es mir, dass zu unterbinden. Habe im Netz was von WebAssets gefunden, verstehe aber nicht, wie das funktionieren soll.

    Habt ihr ähnliche Probleme und wenn ja, wie habt ihr die lösen können?

  • Du vermischt hier zwei verschiedene Dinge:

    - DomContentLoaded ist der Zeitpunkt wenn der HTML Code gerendert wurde, das enthält (im Regelfall) nicht die Javascripts, CSS, Bilder, Fonts etc. als die zusätzlichen "Assets" sondern ist hauptsächlich durch die Verarbeitung auf PHP-Seite beeinflusst.


    Das heißt, hier kannst du optimieren, indem du z.b. (System-) Plugins deaktivierst, nur performante Module nutzt und auch die Komponente, die gerade geladen wird performant ist in z.b. Datenbankabfragen.


    - WebAssets sind alle zusätzlichen Dateien, die geladen werden müssen. Diese werden (auch hier: im Regelfall) erst nach "DomContentLoaded" gerendert. Hier ist definitv weniger mehr, kann aber z.B. durch HTTP2, Caching stark optimiert werden.


    Pauschal ist jetzt schwer zu sagen, ob Joomla! 4 langsamer ist oder schneller (ich habe "DomContentLoaded" Zeiten von 400ms bei meiner Joomla! 4, was meine 3er niemals erreichen). Was eventuell helfen kann (wenn du ein bisschen technisch versiert bist): aktiviere den Debug Modus in Joomla und analysiere, wo die meiste Performance gefressen wird.

  • Kurzes Feedback meinerseits.


    Font-Preload - eine tolle Sache in J4

    PHP
        <?php
          $this->preloadManager->preload('/templates/fonts/font-bf14563.woff2', ['as' => 'font', 'crossorigin' => 'anonymous']);
        ?>


    Fontawesome wurde tatsächlich in Yootheme geladen, die Zeile ist mittlerweile gelöscht und die Entwickler informiert.


    Was bleibt ist das Nutzlose:

    Code
    <link href="/media/vendor/joomla-custom-elements/css/joomla-alert.min.css?0.2.0" rel="stylesheet" />   
    <script src="/media/system/js/messages-es5.min.js?70b6651d6deab46dc8a25f03338f66f540cc62e2" nomodule defer></script>
    <script src="/media/system/js/messages.min.js?7425e8d1cb9e4f061d5e30271d6d99b085344117" type="module"></script>


    Einer eine Idee, wie man das ohne großen Aufwand wegbekommen kann?


    Grüße

  • Hallo Leute, ich hänge ein aktuelles Problem an meinen ursprünglichen Post mit an, da dieser gut dazu passt.


    Seit J 4.3.x habe ich ein Problem, dass bei YTP das Menü "flappt"

    https://demo.yootheme.com/joomla/themes/design-escapes (öfters F5 drücken)


    Das hat bei mir einen negativen CLS bei Desktop eingebracht. Mobil bleibt Konstant im grünen Bereich, weil dort das Hamburger-Menü nicht "flappt"



    Bei YT kann man das reproduzieren, ist aber ratlos, woran es liegen mag. Ich habe einige Tests durchgeführt und festgestellt, dass

    Code
    <link href="/media/vendor/joomla-custom-elements/css/joomla-alert.min.css?0.2.0" rel="stylesheet" />

    zu Konflikten führt. Ich möchte das gerne testen und ich brauche den Style nicht. Daher die Frage an euch, wie kann ich das Laden des Styles verhindern?