Was sind die Best Practices für die Verwendung eines Caching-Plugins auf einem gemeinsam genutzten Host?

29

Ich habe neulich eine ziemlich große Site gestartet und möchte ein Caching-Plugin einbauen. Das Setup erfolgt auf einer einzelnen Site, wobei einige Buddypress-Funktionen (für die Benutzerregistrierung, Maps mit gpress, mit einem Profil) auf einem gemeinsam genutzten Host ausgeführt werden.

Meine Fragen sind:
1. Welches Plugin ist bei diesem Setup am besten für das Caching geeignet und warum (wenn möglich)?
2. Was sind die Best Practices und Schritte, die ich während des Setups beachten sollte, um sicherzustellen, dass alles funktioniert?
3. Sind transientsdie von mir selbst hinzugefügten noch verwendbar oder soll ich sie entfernen und das Plugin so lassen wie es ist? stoßen sie zusammen, wenn sie nicht entfernt werden?

Vielen Dank!

ADDITION: "Power" -Plan auf http://www.inmotionhosting.com/hostingplans.html

Amit
quelle
Können Sie Server- oder Hosting-Details angeben?
Chris_O

Antworten:

24

Bei Shared Hosting-Paketen sind Ihre Caching-Optionen begrenzt.

Sie können die HTML-Ausgabe Ihrer Seiten nur statisch zwischenspeichern. Dies ist der schnellste Weg, um Seiten bereitzustellen, aber Sie verlieren die dynamischen Aspekte von WordPress wie das Kommentieren und Anzeigen der neuesten Kommentare zu Beiträgen.

Es gibt Optionen für das Zwischenspeichern von Datenträgern für Objekte und Datenbanken, aber wenn auf Ihrem Host keine schnellen Laufwerke ausgeführt werden, werden Sie davon nicht viel profitieren und es kann auch zu Leistungseinbußen kommen.

Alle Caching-Plugins haben die Option, zwischengespeicherte Seiten nicht an angemeldete Benutzer oder Benutzer mit einem Kommentar-Cookie zu liefern.

Angemeldete Benutzer + bekannte Benutzer = kein Cache

Unbekannte Benutzer erhalten eine zwischengespeicherte Seite.

Transienten

Transienten sind kleine Daten, die irgendwann ablaufen sollen. WordPress speichert Transienten als Cache in der Datenbank. Wenn Sie die Option hätten, Memcache WordPress zu verwenden, würden die vorübergehenden Daten im Speicher bleiben. Transienten sind gut, weil sie Datenbank-Lookups reduzieren. Sie eignen sich auch gut für soziale Netzwerke wie die Anzeige Ihrer neuesten Tweets. Dies verhindert, dass bei jedem Seitenaufruf die Twitter-API aufgerufen wird.

Das Plugin, das die meisten Best Practices für Hochleistungswebsites verwendet, ist W3 Total Cache.

W3 Total Cache bietet mehr als nur Cache

W3 Total macht:

  • Caching von Seiten
  • Objekt-Caching
  • Datenbank-Caching
  • minimieren
  • Browser-Caching
  • CDN-Integration

Für Ihren gemeinsam genutzten Hosting-Satz sollten Sie den Seiten-Cache, die Minimierung, den Browser-Cache und die selbst gehostete CDN-Option aktivieren.

Seiten-Cache-Einstellungen

Überprüfen Sie alle Optionen für den Seiten-Cache

Alt-Text

Cache-Preload

Aktivieren Sie diese Option und stellen Sie das Aktualisierungsintervall auf das für Ihre Site geeignete Intervall ein. Dadurch wird der Seitencache im angegebenen Intervall neu erstellt.

Alt-Text

Einstellungen reduzieren

Wählen Sie URL-Struktur umschreiben, und aktivieren Sie das Kontrollkästchen Automatisch hochladen, damit neu minimierte Dateien automatisch in das CDN hochgeladen werden, wenn Sie das CDN verwenden möchten.

Alt-Text

HTML minimieren

Aktivieren und aktivieren Sie die Option zum Entfernen von Zeilenumbrüchen, Inline-Js und CSS-Minimierung. Wenn Sie AdSense oder einen anderen Dienst verwenden, der Kommentarstämme verwendet, geben Sie diese hier ein, um zu vermeiden, dass sie minimiert werden.

Alt-Text

CSS und JS Minify-Einstellungen

Wählen Sie in der Dateiverwaltung Ihr Thema und fügen Sie alle CSS-Dateien hinzu, die Sie kombinieren und verkleinern möchten. Es gibt auch einen Hilfeassistenten, der alle Ihre Vorlagen durchsucht und die vorgeschlagenen Dateien für Sie hinzufügt.

Verwenden des Hilfe-Assistenten

W3 Total enthält ein Tool, das Ihre Designvorlagen durchsucht, verwendete Javascript- und CSS-Dateien findet und empfohlene Einstellungen bereitstellt. Versuchen Sie zuerst diese Einstellungen und Probleme, gehen Sie zurück und ändern Sie sie nach Bedarf. Alle rot hervorgehobenen Dateien sind Dateien, die Sie bereits hinzugefügt haben, um sie zu minimieren.

Der gleiche Optionsabschnitt ist für js-Dateien verfügbar, und Sie haben die Möglichkeit, die Dateien nach <head>, nach <body>und vor zu platzieren </body>. Es ist am besten, so viele wie möglich vorher zu setzen <body>. Wenn Plugins Inline-Js hinzufügen, können Sie diese zuvor nicht </body>für jquery oder die Plugins Js verwenden, da sie vor Inline- <script>Tags geladen werden müssen . Sie können an jedem Speicherort und für jede Vorlage beliebige Kombinationen von Dateien einfügen. Zum Beispiel können Sie Ihre comment-reply.js so einstellen, dass sie nur auf single.php geladen werden

Alt-Text

Browser-Cache-Einstellungen

Dies ist das Wichtigste, um das Richtige zu tun. Wenn Sie Ihren statischen Inhalt ordnungsgemäß in den Browsern Ihrer Benutzer zwischenspeichern, können Sie die Ladezeiten von Seiten drastisch reduzieren. "Keine 404-Fehler für statische Objekte verarbeiten" Die Cache-Einstellungen des Browsers sind ein großer Gewinn für Shared Hosting, da das Aufrufen von PHP und das Zurückgeben von 404-Seiten an Bots usw. eine große Belastung für die Ressourcen darstellt und diese Funktion dies verhindert

Allgemeines

Überprüfen Sie alles

Alt-Text

CSS- und JS-Dateien

Überprüfen Sie alles und setzen Sie die Lebensdauer unseres Headers auf ferne Zukunft. 31536000 Sekunden sind 1 Jahr und das, was yslow empfiehlt. Wenn Sie Änderungen an Ihrem CSS oder Javascript vornehmen, müssen Sie die Dateinamen ändern, um zu verhindern, dass Benutzer die alte Version verwenden. Wenn Sie minify verwenden, müssen Sie sich nicht um die Bereitstellung veralteter Inhalte kümmern, da jedes Mal, wenn der Minify-Cache neu erstellt wird, ein neuer Dateiname generiert wird.

Stellen Sie Ihre Cache-Steuerrichtlinie auf Cache mit maximalem Alter ein

Alt-Text

Es gibt zwei weitere Einstellungsbereiche für den Browser-Cache. HTMl und Bilder. Verwenden Sie für Bilder dieselben Einstellungen wie für CSS und JS. Sie können die Ablaufzeit für die Bilder erhöhen, wenn Sie möchten.

Bei HTML läuft das Set nur ab, wenn Ihre Site hauptsächlich statisch ist. Sie können kurze Lebensdauern verwenden, wenn Sie möchten (180 Sekunden), aber ich würde nicht höher gehen. Wenn Sie gzip aktivieren, können Sie die eingestellten W3-Header überprüfen, um sicherzustellen, dass sie funktionieren.

Alt-Text

CDN-Einstellungen

W3 Total bietet Unterstützung für gängige Origin Pull- und Origin Push-CDNs sowie eine robuste, selbst gehostete Option, bei der Sie Subdomains und Cnames einrichten müssen.

Mit dem selbst gehosteten CDN können Sie Pipelining nutzen. Der Browser kann nur wenige Dateien gleichzeitig herunterladen, in einigen Fällen nur 4. Pipelining ist eine Technik, bei der Aliase (z. B. Subdomains) Ihres Servers verwendet werden, damit Ihr Browser die praktische Grenze für Dateien, die parallel heruntergeladen werden können, erhöhen kann. Auf diese Weise wird der Durchsatz Ihrer Internetverbindung maximiert und der Browser kann eine Seite schneller rendern. W3TC kümmert sich um die transparente Verwaltung dieser Dateien, sobald DNS-CNAMEs (Aliase) und Unterdomänen ordnungsgemäß konfiguriert sind.

Aktivieren Sie alle Optionen und klicken Sie dann auf die Upload-Schaltflächen, um den gesamten Inhalt auf das CDN hochzuladen. Wenn Sie selbst gehostet haben, können Sie auf einer anderen Einstellungsseite FTP-Informationen eingeben. Für Origin Push CDN wird es basierend auf dem von Ihnen verwendeten Anbieter konfiguriert. Für origin pull laden Sie keine Dateien hoch und setzen Ihren cname nur auf die URL, die Ihnen der Provider gibt. Hinweis: Wählen Sie "Überschreiben erzwingen" nur, wenn neue Dateien nicht funktionieren. Force Override lädt ständig Dateien auf den CDN hoch, auch wenn diese bereits vorhanden sind. Dadurch werden Bandbreite und Ressourcen verschwendet.

Alt-Text

Testen

Sie sollten immer Ihre Ergebnisse testen und Ihre Einstellungen entsprechend anpassen. Ich benutze gerne WebPageTest.org . Um meine Ergebnisse zu vergleichen und mögliche Probleme zu identifizieren.

Wie viel können Sie Ihre Leistung mit W3 Total Cache unter WordPress mit Shared Hosting steigern?

Dies sind die Vorher- und Nachher-Ergebnisse für ein WordPress-Blog, zu dem wir W3 Total hinzugefügt haben.

Vor:

Alt-Text

Nach

Alt-Text

Ich hoffe das hilft.

Chris_O
quelle
1
Danke, sehr ausführliche und gründliche Antwort! empfehlen Sie dieses Plugin auf jeden Fall? hast du schon andere ausprobiert
Amit
1
@Angenommen, ich habe WP Super Cache, Hyber-DB-Cache, Apc-Objekt-Cache-Backend und Batcache ausprobiert. Kein anderes Caching-Plugin bietet all diese Funktionen.
Chris_O
Danke noch einmal! Ich werde es auf jeden Fall versuchen. Übrigens, empfehlen Sie, all meinen vorübergehenden Code und alles, was ich meinem htaccess hinzugefügt habe, wie z. B. gzip, zu entfernen?
Amit
Am besten testen und bewerten Sie verschiedene Einstellungen, um herauszufinden, welche für Ihre Umgebung am besten geeignet sind.
Chris_O
0

Verwenden Sie .htaccess, um Dinge wie CSS, Bilder und Javascript auf der Clientseite zwischenzuspeichern. Der schnellste Download ist der, der niemals passieren musste.

Ich habe eine Sammlung von Links und Referenzartikeln dazu gepostet: http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/

CAD-Typ
quelle
0

Verwenden Sie nicht den W3 Total Cache, da er Ihre Seiten verlangsamt und beschädigt. Ich schlage vor, Super Cache und Page Speed ​​Ninja besser zu verwenden. Oder LiteSpeed ​​Cache für Objekt-Caching und CSS- und JS-Optimierung, Cache Enabler für die Erstellung statischer HTML-Dateien. Da der statische Cache nicht von litespeed erstellt wird, da das lscache-Modul auf dem http-Server vorhanden sein muss und dies nur von litespeed- oder openlitespeed-http-Server unterstützt wird.

juslintek
quelle