it-swarm.com.de

Der beste Weg, um dynamischen Inhalt auf einer zwischengespeicherten Wordpress-Site anzuzeigen?

Ich möchte unbedingt eines der Cache-Plugins verwenden, damit ich mehr statische Seiten auf meinem WordPress-Theme/meiner WordPress-Site bereitstellen kann. Dies ist offensichtlich die beste Leistungssteigerung, die Sie für ein WordPress-Theme/eine WordPress-Site durchführen können.

Es gibt ein paar dynamische Elemente in meinem Thema, die mich davon abgehalten haben, den Sprung zu statischen/zwischengespeicherten Seiten zu machen.

Ich werde diese Probleme im Folgenden skizzieren und einen möglichen Weg zur Lösung jedes Problems aufzeigen, an das ich bisher gedacht habe.

Das Ziel dieses Beitrags ist es, entweder bessere Ideen/Methoden für den Umgang mit den von mir erläuterten Problemen zu finden oder mir die Gewissheit zu geben, dass ich zumindest auf dem richtigen Weg bin. Ich bin ein PHP Veteran von mehr als 12-13 Jahren, benutze WordPress aber erst in den letzten 1-2 Jahren und bin bisher wirklich beeindruckt von den Fähigkeiten, ich bin jetzt ein totaler WordPress-Fanboy, wenn so etwas gibt es lol!

Ok, also die Probleme, an die ich bisher gedacht habe, wenn ich in zwischengespeicherte Seiten konvertiere ...


Einzelne Beiträge Seite

  1. Views Counter Problem - Ich habe eine Funktion, die einen Zählwert für einen "View/Hit Counter" auf der Posts-Seite abruft, um einem Benutzer eine Vorstellung von den Posts Views zu geben. Dies sind keine einzelnen Besucher, sondern nur ein einfacher Trefferzähler. Ich habe eine separate MySQL-Tabelle für diese Werte erstellt. Ich versuche immer noch zu entscheiden, ob ich damit fortfahren oder stattdessen ein Metafeld verwenden soll. In beiden Fällen wird in einer Seitenansicht der Datenbankwert abgerufen und bei jedem Laden der Seite um +1 erhöht. (Administratoransichten werden nicht hinzugefügt.) Der Wert wird dann auf der Seite in Form von 988 Views angezeigt.

    Views Counter Mögliche Lösung - Ich könnte dafür sorgen, dass dieser Wert/diese Funktion mit Ajax ausgeführt wird. Sobald die neue zwischengespeicherte/statische Seite geladen ist, kann Javascript Ajax verwenden, um den Views-Zähler für diese Seite anzufordern und zu aktualisieren. Klingt dies wie die beste Lösung für so etwas?

  2. Kommentar hinzufügen Problem - Wenn Sie das standardmäßige WordPress-Kommentarsystem verwenden, muss die zwischengespeicherte/statische Seite jedes Mal, wenn ein neuer Kommentar zu einem Beitrag hinzugefügt wird, neu erstellt werden ! Nach allem, was ich gesehen habe, gibt es eine Option für die Caching-Plugins, mit der Sie genau das tun können. Sie können die Seite (n) jedes Mal neu erstellen, wenn ein neuer Kommentar veröffentlicht wird. Auf dem Papier hört sich das gut an, aber ich kann mir vorstellen, dass es ein Albtraum in einer stark frequentierten/aktiven Site ist, in der mehrere Benutzer ungefähr zur gleichen Zeit denselben Artikel kommentieren (alle nicht getestet, daher weiß ich es nicht).

    Kommentare posten Mögliche Lösung - Als Lösung für das Kommentar-Problem habe ich oben eine Lösung erwähnt, bei der Sie das Cache-Plugin so einstellen können, dass die zwischengespeicherte/statische Seite bei jedem neuen Kommentar einfach neu erstellt wird. Mein Anliegen war mir nicht wirklich, wie gut dies auf lange Sicht funktionieren wird. Die andere mögliche Lösung, die meiner Meinung nach immer häufiger verwendet wird, ist die Verwendung einer Javascript-Lösung wie Disqus Comments oder einer ähnlichen Lösung. Lange Zeit war ich wirklich dagegen, da ich wollte, dass alle meine Kommentare nicht von Dritten für mein Kommentarsystem abhängen. Ich bin immer noch ein bisschen auf dem Zaun über dieses Problem, habe aber auf die Verwendung von Disqus-Kommentaren auf meiner Website gewechselt und bis jetzt funktioniert es ziemlich gut. Ich bin aber offen für andere mögliche Lösungen? Oder denkst du, das ist wirklich der richtige Weg?

Site-wide Sidebar

  1. Aktuelle Artikel in der Seitenleiste Problem - In meiner Seitenleiste befinden sich Registerkarten, die auf jeder Seite der Website angezeigt werden ... Eine der Registerkarten lädt die 10 neuesten Beiträge im Blog, da diese auf jeder Seite angezeigt werden Seite der Website: Sobald ein neuer Artikel/Beitrag hinzugefügt wird, muss jede zwischengespeicherte/statische Seite auf der Website neu erstellt werden, um das Hinzufügen neuer Beiträge in dieser "Liste der neuesten Beiträge" wiederzugeben.

    Sidebar Aktuelle Artikel Mögliche Lösung - Wieder denke ich, ich habe eine gute mögliche Lösung gefunden. Ich könnte Javascript und Ajax verwenden, um diesen Inhalt in die zwischengespeicherten/statischen Seiten zu laden, damit sie nicht ALLE so oft neu erstellt werden müssten, aber immer noch die neuesten Beiträge anzeigen könnten.

    Klingt das nach einer guten Lösung? Oder wichtiger, können Sie sich eine andere bessere oder alternative Lösung für dieses Problem vorstellen?


Ohne mir die Hände noch zu schmutzig zu machen, sind dies die möglichen Probleme, die ich bisher bei der Konvertierung meines Themas in Cache/Static Friendly sehen kann


AKTUALISIEREN

Ich habe mir gerade ein anderes Thema überlegt. Alle Tags/Kategorien sowie Benutzerseiten müssen jedes Mal aktualisiert werden, wenn ein Beitrag hinzugefügt wird, der in die Liste der Beiträge auf dieser Seite passt. Ich gehe davon aus, dass dies ein Feature der Caching-Plugins sein muss, das ich mir allerdings schon vorstellen würde

14
JasonDavis

Es gibt also viele Unterfragen, ich werde versuchen, jede zu beantworten.

Views Counter Problem - Ich könnte diesen Wert/diese Funktion mit Ajax ausführen. Sobald die neue zwischengespeicherte/statische Seite geladen ist, kann Javascript Ajax verwenden, um den Views-Zähler für diese Seite anzufordern und zu aktualisieren.

Völlig einverstanden: Zusätzlicher Vorteil: Laden über Ajax, wenn "wichtige" Inhalte fertig sind Laden ist der richtige Weg. Tun Sie alles, um die Ladezeit der Seite zu verkürzen. Ich würde auf jeden Fall mit Ajax in diesem Fall gehen.

Kommentar schreiben Problem

Ich bezweifle, dass dies ein großes Problem sein wird. Aber nochmal: Ajax. Lade Kommentare, abgesehen vom "Hauptinhalt". Lass es regelmäßig neue Kommentare pushen (genau wie Stackoverflow oder Twitter.com, das den Benutzer warnt und auf seinen Klick wartet, um den Kommentar-Stream zu aktualisieren).

Site-wide Sidebar

Ich würde ein anderes Plugin verwenden: WP Widget Cache , mit dem Sie die Caching-Zeit für jedes Widget in Ihren Seitenleisten festlegen können. Es funktioniert gut mit den üblichen Caching-Plugins. In Ihrem Fall setzen Sie einfach "0" für kein Caching für diese Widgets oder "10 Minuten" (besser als überhaupt kein Caching).

2
pixeline

Wenn Sie den gesamten w3-Cache verwenden, können Sie bestimmte Seiten wie Ihre Seitenleiste vom Cache ausschließen.

Gehen Sie zu WordPress Admin> Leistung> Seiten-Cache und ändern Sie den Abschnitt unter Diese Seiten niemals zwischenspeichern

Never cache pages W3 Total Cache
Dieses Beispiel zeigt, dass Sidebar-Dateien in einem Design aus dem Cache ausgeschlossen sind.

Sie können auch eine kürzere Ablaufzeit für Ihre zwischengespeicherten Seiten festlegen, z. B. 5 oder 15 Minuten. Die zwischengespeicherten Seiten betreffen vor allem Personen, die zum ersten Mal Besucher sind und kein Sitzungscookie haben. Da die "am häufigsten angeforderte" zwischengespeicherte Ansicht der Seite zum ersten Mal anonymen Besuchern angezeigt wird.

1
Damien