it-swarm.com.de

Die Geschwindigkeit der Website ist schrecklich

Ich arbeite als Webentwicklerlehrling, der das Webteam geleitet hat (alle meine Kollegen sind gegangen) und mit einer unmöglichen Aufgabe konfrontiert wurde.

Wir haben einen 10-Core-Windows-Server mit mehr als genug Speicher und Host mehrere Joomla! Websites sowie benutzerdefinierte HTML - und PHP Websites. Es gibt keine Probleme mit den benutzerdefinierten Websites, alle werden sofort geladen. Alle Joomla! - Websites (alle sind E - Commerce - Websites) ) sind so langsam und können 30 Sekunden dauern, bis sie geladen sind.

Ich habe mehrere Geschwindigkeitstests auf den Websites durchgeführt und glaube mir, ich weiß, was die meisten von Ihnen denken.

"Bildgröße reduzieren und CSS und JavaScript komprimieren"

Ich habe das schon getan. Das Problem liegt bei TTFB (Time To First Byte), da dies die gesamten 30 Sekunden in Anspruch nehmen kann.

Die folgende Website zeigt Ihnen die TTFB.

http://www.bytecheck.com/results?resource=http%3A%2F%2Fhealthypetstemp.co.uk.5-189-187-215.premierepos.co.uk%2Fen%2F

Dies ist nur einer der Joomla! Websites, die wir hosten, und ich kann bei Bedarf mehr bereitstellen. Sie können die Geschwindigkeiten auch mit Google Chrome DevTools) überprüfen, aber es wird Ihnen nur das Gleiche verraten.

Wie ich bereits sagte, ist dies der Grund für das Problem und ich würde mich sehr über Unterstützung in dieser Angelegenheit freuen.

Danke im Voraus.

Ok, fangen wir von vorne an.

Zunächst sollten Sie den Chrome Lighthouse-Test ausführen, um leistungsbezogene Probleme zu erkennen. Drücken Sie in Chrome F12 und wechseln Sie dann zur Registerkarte Audit.

Ich habe ein Audit auf dem Desktop ohne Drosselung durchgeführt und die Leistung ist einfach schrecklich.

Deaktivieren Sie als erstes das Joomla JCH Optimize -Plugin, damit Sie alle geladenen Assets sehen können.

1. Allgemeines:

Sie laden anscheinend viel zu viele Assets und Ihre Node Liste ist über 4,5.000, wenn sie unter 1,5.000 liegen sollte. Denken Sie darüber nach, Ihre Seitenstruktur zu ändern und bestimmte Elemente bei Bedarf auf andere Seiten zu verschieben Nur kritische Inhalte auf der Homepage anzeigen.

Ein Beispiel für die vielen Assets ist, dass Sie 7 Schriftarten laden. Das ist einfach überhaupt nicht gerechtfertigt. Wenn Sie FontAwesome für Symbole laden möchten, ist das fair genug, aber Sie benötigen keine weiteren 6 Schriftarten, um Ihre Inhalte zu gestalten. Das ist schlechtes Design. Wählen Sie 1 Schriftart für Ihre Marke, bleiben Sie dabei und entfernen Sie den Rest.

2 - HTTP/2.0:

Holen Sie sich ein kostenloses SSL-Zertifikat von LetsEncrypt , installieren Sie es auf Ihrem Server und aktivieren Sie HTTP/2.0. Diese Aktualisierung ändert die Art und Weise, in der Assets abgerufen werden, und verringert somit die Ladezeit.

3 - LazyLoad:

Eine gute Website im Jahr 2018 rendert den HTML-Code zuerst mit einem kleinen Teil kritischer CSS-Codes, damit die anfängliche Seitenladung nicht überall hinschaut. Sobald das grundlegende HTML geladen ist, laden Sie Ihre CSS, JS und Bilder faul. Was du gerade machst, lade alle CSS und JS im <head>, dh der Browser wartet, bis er heruntergeladen wurde, bevor er den Rest des HTML-Codes wiedergibt.

Ich ziehe es vor, dies auf Vorlagenebene (schneller) zu tun, anstatt mich auf Plugins zu verlassen ... aber dagegen bin ich ein UI-Entwickler, also entwickle ich meine eigenen Vorlagen.

Möglicherweise möchten Sie eine eigene Vorlage erstellen.

Jemand, mit dem ich persönlich am Joomla CMS gearbeitet habe, hat einige großartige Tutorials, wie man eine eigene Vorlage erstellt:

https://www.youtube.com/channel/UCSinMbPPdEPx6Hw5QcueITg/featured

4 - SVG'S:

Auf Ihrer Website befinden sich mehrere Bilder, bei denen es sich um SVGs anstelle von PNGs handeln kann. Sie laden 200x200 Pixelbilder und sie werden mit 94x94 gerendert. Beginnen Sie mit der Verwendung von SVGs, die in den meisten Fällen kleiner sind und nicht an Klarheit verlieren, wenn die Seite in oder auf ein Retina-Gerät gezoomt wird.

5 - Bilder:

Ihre Bilder sind einfach zu groß für das, was sie sind. Jedes Schiebereglerbild ist zwischen 250 KB und 500 KB groß. Außerdem werden die Bilder nicht faul geladen. Verwenden Sie WEBP, ein von Google entwickeltes Format, für Bilder wie Fotos oder andere Elemente, die als SVG nicht optimal funktionieren. Für Browser, die dies jedoch nicht unterstützen, ist ein Fallback erforderlich.

5 - Caching:

Verwenden Sie nicht PHP zum Zwischenspeichern Ihrer Assets! Tun Sie dies auf Serverebene (Apache, NGinx usw.). Schauen Sie sich nach einigen Tutorials um, oder wenden Sie sich an Ihren Hosting-Anbieter/Server Verwalter.

Ich hoffe, dies gibt Ihnen einen kleinen Einblick in die Verbesserung Ihres Produkts.

3
Lodder

Haben Sie bereits diese grundlegenden Prüfungen durchgeführt?

1 - Joomla Caching aktivieren

Dadurch werden die Ladezeiten Ihrer Seiten bereits erheblich verlängert

Gehe zu deinen Plugins und öffne Page Cache Plugin Normalerweise sollte es schon so konfiguriert sein:

enter image description here

Speichern und schließen Sie es

2 - Konfigurieren Sie Ihren Cache TTL und Ihr Verhalten

Gehe zu System - Globale Konfiguration - System (-tab)

enter image description here

  • Aktivieren Sie das Caching auf "ON progressive"
  • cache-Zeit danach einstellen (aus unseren Messungen)
    • 30 oder weniger für hochgeladene Seiten mit mehr als 200 Besuchen pro Tag
    • 60 für Seiten mit mittlerer Belastung mit mehr als 100 Besuchen pro Tag
    • 120 Seiten bei geringer Belastung mit mehr als 50 Besuchen pro Tag
    • 240 für Seiten mit sehr geringer Belastung mit mehr als 20 Besuchen pro Tag

Diese Werte haben wir aus ca. 1 Jahr der Messung mehrerer Seiten akkumuliert. Wenn Sie mehr als 200 Besuche pro Tag haben, wissen Sie bereits aus der Cache-Zeit, was Sie tun. Aber eine Faustregel: Wenn Sie Ihre Inhalte regelmäßig aktualisieren (zum Beispiel in Abständen von 15 Minuten), sollte Ihre Cache-Zeit natürlich Ihren Anforderungen entsprechen (15 Minuten oder weniger). Wenn Sie mit längerer veralteter Bereitstellung von Inhalten leben können, können Sie natürlich eine längere Cache-Zeit einhalten.

Nachteile Vergessen Sie jedoch nicht, dass dieser Cache bei Joomla-/Plugin-/Erweiterungsaktualisierungen 500 Fehler verursachen kann. In diesem Fall können Sie den Cache einfach im Menü - System - Cache löschen (Alle löschen) ablegen. Hier müssen Sie jedoch ein klares Auge darauf haben. Bedeutet, dass Sie es überwachen und überprüfen müssen!

3 - Füge einen Minifier und ein Precaching-Plugin hinzu

Es gibt mehrere Plugins. Es kommt auch darauf an, wie gut dir das Plugin gefällt. Alle machen dasselbe:

  • minimieren Sie CSS, JS, HTML
  • verketten Sie mehrere CSS-Dateien zu einer oder mehreren
  • verketten Sie mehrere JS-Dateien zu einer oder mehreren
  • verketten Sie mehrere HTML-Dateien zu einer oder mehreren

Manchmal können sie Ihnen sogar dabei helfen, die Bildkonvertierung oder die Bildverknüpfung in Sprites zu verbessern. Dies steigert jedoch nicht so sehr die Seitenleistung. Hier machst du das Level "Kirsche auf dem Kuchen"

2
laendle

In der Regel wird dies durch einen schlecht gestalteten Code, ein fehlerhaftes Plugin, einige Fehler oder falsche Ansätze im Code und/oder nicht optimierte MySQL-Abfragen verursacht.

Manchmal kann es auch die Kombination mit der Serverkonfiguration sein.

Sie müssen eine Reihe von Tests und Experimenten debuggen und durchführen, z. Plugins deaktivieren, Vorlagen ändern etc.

In einigen Fällen funktionieren Optimierungs-Plugins wie jch möglicherweise nicht so gut und führen zu einer langsameren Website.

Stellen Sie sicher, dass Sie auch die neuesten Versionen von Joomla und Erweiterungen verwenden, und melden Sie alle Probleme den Entwicklern.

1
FFrewin