.css Datei am Ende oder per Preload laden

  • Hallo,


    ich bin gerade auf der Suche nach einen Phänomen, dass der Google Bot von Zeit zu Zeit mit meiner Seite hat. Um dem Problem auf die Spur zu kommen, möchte ich ein paar .css Dateien entweder per preload, oder am Ende der Seite laden. Mein Template (Yootheme) kann das nicht und überlässt die Steuerung Joomla. Von daher die Frage, wisst ihr, wie man die .css Reihenfolge beeinflussen/ausschließen kann und ob man die Ladebedingungen für die css Dateien verändern kann (preload)?


    Vielen lieben Dank für Hinweise

  • Hallo,


    ich bin gerade auf der Suche nach einen Phänomen, dass der Google Bot von Zeit zu Zeit mit meiner Seite hat.

    Was genau wird denn beanstandet?

    Wahrscheinlich liegen die css- bzw. js-Dateien lediglich in einem Verzeichnis, welches du über disallow in der robots.txt gesperrt hast. Dann müsstest du Ausnahmen angeben bzw. das disallow des übergeordneten Verzeichnisses entfernen.

    Das hatte ich regelmäßig mit den normalen Templates, die mit Warp 7 laufen. Von welchem Template ist die Rede?


    Oder nutzt du die Pro-Version? Dazu kann ich dann nichts sagen....


    Oft ist das aber seitens Google wirklich übertrieben. Wenn man es dann nicht beachtet, erhält man zwar 'ne Meldung, die sich aber meiner Meinung nach nicht negativ auswirkt. So zumindest meine Erfahrung.

  • JoomlaWunder - Danke für die Antwort

    Nein, die Seite hat - laut Google Mitarbeiter - einen overload. Der Robot bricht nach ca. 15 Sekunden ab. Meist versemmelt der Robot die .css und die .js Daten zu laden (geprüft wird das in der Google Search Console mit URL-Prüfung). Das passiert aber nicht immer, sondern im Turnus von rund 14 Tagen und dann meist 3 Tage lang - warum? Keine Ahnung.! Leere ich den Cache (Yoothme, Joomla und JCH), ist erst einmal wieder Ruhe - aber auch nicht immer.


    Das Thema treibt mich nun seit ca. 8 Monaten um, seitdem ich eben auf Yootheme umgestiegen bin. Das Phänomen aber ist derart tricky, dass das nicht so einfach ist zu beschreiben. Ich habe aber jch_optimize im Einsatz. Der Provider wurde zwischenzeitlich von Strato auf Webgo gewechselt. Die Performance ist top, daran sollte es nicht liegen (vollständige Ladezeit rund 1,7 Sek., DOM bei 800 ms, mit Werbung 10 Sek.). Die Seite setzt allerdings Werbung mit Header Bidding ein - auch ein Faktor - das wurde aber schon getestet, in dem die Werbung raus genommen wurde.


    Da Yootheme von Haus aus eine sehr große .css Datei hat, beträgt die .css von JCH rund 600kb - und das kann i.d.T. für den Robot zum Problem werden. Nun versuche ich Teile der .css zu extrahieren und nach "unten" zu verfrachten. Evtl. hilft es ja. Ich habe dabei ein Menü im Verdacht (JUX- Easy Mega Menu), das zum Menu auch SVG. mit einsetzt.


    Nein, die Verzeichnisse sind richtig gesetzt und auch in der robot.txt zig mal geprüft, die ist i.O. - Nutze im Übrigen Yootheme Pro 2.x

  • Ok! Mit der Pro 2-Version kenne ich mich nicht aus.

    Allerdings musste ich in Verbindung mit Yootheme nie den JCH einsetzen. Eventuell kollidiert hier etwas ("überoptimiert").

    Vermutlich bietet Pro 2 etliche Optimierungsmöglichkeiten.

    Was passiert, wenn du den JCH deaktivierst oder dessen Einstellungen änderst? Da würde ich ansetzen...

  • Ist ein Versuch wert :)


    Aber nichtsdestotrotz - wie schaffe ich es denn, teile der .css, oder ganze .cs


    Was ich schon einmal bestätigen kann, ist, dass der Google Bot Probleme mit css und js Dateien > 500 kb hat.

    Das ist ein Problem, wenn man diese Dateien zusammenführt. Wie gesagt ist die css von yootheme ja alleine schon rund 600 kb groß.


    Insofern wäre es nützlich, wenn man zunächst nicht gebrauchtes css erst am Ende, oder das Haupt css per preoload versucht zu laden. Doch wie bewerkstelligt man das mit Joomla?

  • Aber nichtsdestotrotz - wie schaffe ich es denn, teile der .css, oder ganze

    Der JCH bietet mittlerweile auch in der FRee-Version so was an. Ermittelt, welches CSS vor "Above the Fold" oder wie immer das auch heißt, benötigt wird(???) und versucht dann einen Split.


    Die combined CSS-Rest-Datei wird dann nach einem Test, ob Browser das unterstützt mit einem

    Code
     <link rel="preload"

    versehen.


    Ganz blicke ich aber nicht durch, ob das obige "benötigt wird(???)" wirklich so ist oder, ob einfach nur der erste Teil der Combined CSS inline in den HEAD eingesetzt wird.


    Weiters gibt es die Möglichkeit, auch in der Free, das combined JS am Ende zu laden.


    Wie "versprochen", ruckeln die Seiten manchmal. Gefällt mir aber als Signal, dass eine neue Seite geladen wird allemal besser als irgendwelche reingepropften Fliegrum-Animationen oder preloader-Dinger-Icons ;)


    Beide Features müssen aber sorgsam getestet werden. Sobald Erweiterungen ihr CSS z.B. schlampig einbinden, nicht nach Joomla-Standard oder wie bei mir gelegentlich, per CDN geladen werden, geht das teils in die Hose, weil JCH die nicht mitnimmt in seine combined CSS.


    Bei JS ggf. ähnliche Probleme.

  • Hi Re:Later

    Danke für den Hinweis, habe ich natürlich schon getestet, aber JCH setzt erst einmal ALLES in den unteren Bereich und dann muss man herausfriemeln, was da nicht hin soll. Schicker wäre das gelöst, wenn man sagen kann, was unten hin soll.


    Ein anderer Ansatz zur Problemlösung wäre natürlich, dass JCH spätestens alle 14 Tage den Cache leert. Das wird so rigoros gemacht, dass alle .js und .css Dateien gelöscht und unter einem neuen Namen neu angelegt werden. Hat Google nun die alten Daten im "Cache", existieren diese nicht mehr.

    Früher hat man da mit einer Versionierung gearbeitet (.css?v101). So war sichergestellt, dass die Datei wenigsten gültig war.

    Könnte zumindest eine Ursache sein, dann würden aber mehr darüber berichten.


    Dass man bei JCH das Cache leeren nicht abstellen kann, ist nervig.


    Ich hoffe ja, dass Joomla bald mal in die Pötte kommt. Warte gefühlt schon seit 2 Jahren darauf und irgendwo meine ich einmal gelesen zu haben, dass man die 4er verwirft und gleich zur 5er übergeht - aber nach dem Alpha Release wird das wohl nicht mehr der Fall sein.


    ich erhoffe mir so einiges von Joomla 4.0 :)

  • JCH setzt erst einmal ALLES in den unteren Bereich

    Versteh ich nicht ganz bzgl. meiner Beschreibung zur Free-Version. Welcher "untere Bereich" denn? Bleibt doch trotzdem alles im HEAD., aber teils eben mit "preload".

    ich erhoffe mir so einiges von Joomla 4.0

    Das "intelligente" Auseinanderpfriemeln nimmt dir das auch nicht ab. Du kannst halt so Prebrowser-Zeugs "leichter" setzen.

    Beispiel aus Cassiopaia:

    Code
    $this->getPreloadManager()->preload('https://fonts.googleapis.com/css?family=Fira+Sans:400', array('as' => 'style'));

    Oder/Und eine grundlegende Entscheidung fällen, ob alles am Ende des Templates (oder sonstwo) oder wie gehabt geladen wird, weil das altbekannte

    Code
    <jdoc:include type="head" />

    aufgesplittet wurde in solche Möglichkeiten

    Code
    <jdoc:include type="metas" />
    <jdoc:include type="styles" />
    <jdoc:include type="scripts" />

    Da ist und bleibt das Template/Framework der Flaschenhals und wie weit es solche Möglichkeiten nutzt bzw. wie weit der Benutzer das konfigurieren kann. Ich sitze gerade vor einem Framework, dass IMMER SCSS verwendet bzw. kompiliert. Da hat man dann theoretisch die Mögl. splittend einzugreifen. Aber hier leider nur theoretisch ohne extra Aufwand ;)


    Frage ist ja auch immer über welchen Bot wir eigentlich reden. Für normale Suchindex-Bots lade ich bspw. mehrere Bibliotheken gar nicht, damit sie sich nicht damit aufhalten müssen. Geht ja da um den Content.


    Das mit Cache so wie du es beschreibst verstehe ich nicht. Den kann man in JCH doch einstellen. Und die Dateien erhalten neue Namen?? Ist die Vesrion doch unnötig.

    Code
    href=/media/plg_jchoptimize/cache/css/7922683c3ef2f55556ef76f8286911c3.css 

    Nervig ist allerdings für mich, dass der Cache gar nicht deaktivierbar ist und er nicht über normales Joomla Cache löschen mitgelöscht wird, falls sich das nicht geändert hat zwischenzeitlich....

  • Ich hoffe ja, dass Joomla bald mal in die Pötte kommt.

    Da tust Du den Programmieren aber sehr unrecht! Das sind alles Freiwillige die ohne Bezahlung hart an Joomla arbeiten. Ich hoffe daher sehr, Du trägst Deinen Teil dazu bei, dass Joomla4 aus den Pötten kommt? Dafür musst Du nicht mal programmieren können.

    gelesen zu haben, dass man die 4er verwirft und gleich zur 5er übergeht

    April April...
    Da bist Du einem Aprilscherz aufgesessen.

  • Danke für den Hinweis, habe ich natürlich schon getestet, aber JCH setzt erst einmal ALLES in den unteren Bereich und dann muss man herausfriemeln, was da nicht hin soll. Schicker wäre das gelöst, wenn man sagen kann, was unten hin soll.

    Das mit dem unteren Bereich verstehe ich auch nicht ganz. Die erzeugten Dateien liegen doch alle "oben".

    Bzgl. Javascript hat die Pro-Version weitere Optionen: https://www.jch-optimize.net/d…#automatic-settings-table


    Wenn die Yootheme-CSS wirklich so groß ist und sich daraus Probleme ergeben (könnten), dann sollte Yootheme die Problematik eigentlich kennen. Frage dort mal direkt nach!

  • Zitat

    Indigo66

    April April...

    Da bist Du einem Aprilscherz aufgesessen.


    Ha, das kann erst noch sein :)


    Aber im Ernst, ich bin seit Mambo Zeiten (Mitte 90er) dabei und habe schon meine Beiträge geleistet und nein, ich will niemanden Unrecht tun, die tun alle ihr bestes - nur warte ich eben auf die 4er. Das mag vielleicht auch ein Kommunikationsproblem sein, denn ich glaube Anfang 2019 sollte es doch soweit sein. Ich habe einige Projekte und Relaunches deswegen verschoben...aber Egal.


    @all

    Mit oben meine ich, dass man mit jch die Scripte auch an das Ende der Seite stellen kann. Das kannst du aber nur für alles machen und dann das herausfriemeln, was nicht passt (auch inlinescripte) usw... Diese Scripte setzt du auf die Liste und die werden dann wieder wie gewohnt ausgespielt. Besser wäre hier, wenn man die Scripte - die an das Ende der Seite gesetzt werden sollen - definiert. Der Rest soll bleiben, wie er ist.


    JoomlaWunder

    Die css von Yootheme ist doch wegen dem UI-Kit so groß - ich denke nicht, dass sich das verändern lässt