Najlepszy sposób na wyświetlenie zawartości dynamicznej w buforowanej witrynie Wordpress?


14

Naprawdę chcę użyć jednej z wtyczek Cache, aby móc obsługiwać więcej stron statycznych w mojej kompozycji / witrynie WordPress. Jest to oczywiście najlepsza aktualizacja wydajności, jaką możesz zrobić dla motywu / strony WordPress.

W moim motywie znajduje się kilka dynamicznych elementów, które powstrzymały mnie przed przejściem do stron statycznych / buforowanych.

Omówię te problemy poniżej i przedstawię możliwy sposób rozwiązania każdego problemu, o którym dotąd myślałem.

Celem tego postu jest albo uzyskanie lepszych pomysłów / metod rozwiązywania problemów, które wyjaśniam, albo uzyskanie pewności, że przynajmniej jestem na dobrej drodze. Jestem weteranem PHP od ponad 12-13 lat, ale używam WordPressa tylko w ciągu ostatnich 1-2 lat i do tej pory jestem pod wielkim wrażeniem możliwości, jestem teraz całkowicie fanem WordPress Fanboy, jeśli coś takiego istnieje lol!

Ok, więc problemy, o których do tej pory myślałem podczas konwersji na strony z pamięci podręcznej ...


Strona pojedynczych postów

  1. Problem z licznikiem wyświetleń - Mam funkcję, która pobierze wartość licznika dla „Licznika wyświetleń / trafień” na stronie postów, aby dać wyobrażenie o widokach postów, które użytkownik może zobaczyć. Nie są to wyjątkowi goście, ale zwykły licznik trafień. Utworzyłem osobną tabelę MySQL dla tych wartości. Nadal próbuję zdecydować, czy powinienem kontynuować tę pracę, czy zamiast tego przejść na pole Meta. Tak czy inaczej w widoku strony wartość bazy danych jest pobierana i zwiększana o +1 przy każdym ładowaniu strony. (Widoki użytkowników administracyjnych nie są dodawane). Wartość jest następnie wyświetlana na stronie w postaci988 Views

    Licznik wyświetleń Możliwe rozwiązanie - Mógłbym uruchomić tę wartość / funkcję za pomocą Ajax. Po załadowaniu nowej strony w pamięci podręcznej / statycznej Javascript może następnie użyć Ajax do żądania i aktualizacji licznika wyświetleń dla tej strony. Czy to brzmi jak najlepsze rozwiązanie dla czegoś takiego?

  2. Problem z komentarzami do postów - Używając domyślnego systemu komentarzy do WordPressa, za każdym razem, gdy nowy komentarz jest dodawany do postu, konieczne będzie przebudowanie strony buforowanej / statycznej ! Z tego, co widziałem, istnieje opcja we wtyczkach Caching, które widziałem, co pozwoli ci to zrobić, możesz przebudować stronę (strony) za każdym razem, gdy zostanie do niej opublikowany nowy komentarz. Brzmi to dobrze na papierze, ale mogę sobie wyobrazić, że to koszmar w dużej / aktywnej witrynie, w której wielu użytkowników może komentować ten sam artykuł w tym samym czasie (wszystkie niesprawdzone, więc nie wiem)

    Publikowanie komentarzy Możliwe rozwiązanie - Aby rozwiązać problem z komentarzami, wspomniałem powyżej rozwiązanie, w którym można ustawić wtyczkę pamięci podręcznej tak, aby po każdym nowym komentarzu przebudowywała stronę pamięci podręcznej / statycznej. Moją obawą było to, że tak naprawdę nie jestem pewien, jak dobrze to zadziała w długim okresie. Teraz innym możliwym rozwiązaniem, które, jak widzę, jest coraz częściej używane, jest użycie rozwiązania Javascript, takiego jak Disqus Comments lub podobne rozwiązanie. Przez długi czas naprawdę byłem temu przeciwny, ponieważ chciałem, aby wszystkie moje komentarze nie polegały na żadnej stronie trzeciej w moim systemie komentarzy. Nadal jestem trochę na temat ogrodzenia w tej sprawie, ale przerzuciłem się na komentarze Disqus na mojej stronie i jak dotąd działa całkiem nieźle. Jestem jednak otwarty na inne możliwe rozwiązania? A może uważasz, że tak naprawdę należy iść?

Pasek boczny w całej witrynie

  1. Pasek boczny Ostatnie artykuły Problem - Mam karty na pasku bocznym, które są wyświetlane w całej witrynie na każdej stronie w witrynie ... jedna z kart ładuje 10 najnowszych postów na blogu, ponieważ jest ona wyświetlana na każdej stronie witryny , po dodaniu nowego artykułu / postu konieczne będzie przebudowanie każdej strony z pamięci podręcznej / strony statycznej w witrynie, aby odzwierciedlić dodanie nowych postów na tej „liście najnowszych postów”

    Pasek boczny Najnowsze artykuły Możliwe rozwiązanie - znowu myślę, że wpadłem na dobre możliwe rozwiązanie. Mógłbym użyć Javascript i Ajax, aby załadować tę zawartość na strony buforowane / statyczne, aby nie WSZYSTKIE musiałyby być tak często przebudowywane, ale nadal mogły wyświetlać najnowsze posty.

    Czy to brzmi jak dobre rozwiązanie? A co ważniejsze, czy możesz pomyśleć o innym lepszym lub alternatywnym rozwiązaniu tego problemu?


Nie brudząc sobie jeszcze rąk, to wszystkie możliwe problemy, które do tej pory widzę przy konwersji mojego motywu na przyjazny dla pamięci podręcznej / statyczny


AKTUALIZACJA

Właśnie pomyślałem o innej kwestii do przemyślenia. Wszystkie tagi / kategorie oraz strony użytkowników będą musiały być aktualizowane za każdym razem, gdy dodawany jest wpis pasujący do listy postów na tych stronach. Zakładam, że musi to być cecha wtyczek Caching, które już sobie wyobrażam


1
Dlaczego licznik wyświetleń musi być poprawny przy każdym żądaniu? Co się stanie, jeśli pokaże brak 5-10 wyświetleń przed aktualizacją pamięci podręcznej?
Ünsal Korkmaz,

Odpowiedzi:


2

Jest więc wiele pytań cząstkowych, postaram się odpowiedzieć na każde z nich.

Problem z licznikiem wyświetleń - Mógłbym uruchomić tę wartość / funkcję za pomocą Ajax. Po załadowaniu nowej strony w pamięci podręcznej / statycznej Javascript może następnie użyć Ajax do żądania i aktualizacji licznika wyświetleń dla tej strony.

Całkowicie się zgadzam: dodatkowa korzyść: ładowanie jej za pośrednictwem ajax, gdy „ważna” treść zakończy się ładowaniem, jest to droga. Zrób wszystko, aby skrócić czas ładowania strony. Zdecydowanie wybrałbym w tym przypadku Ajaxa.

Problem z komentarzami

Wątpię, czy to będzie duży problem. Ale znowu: ajax. Ładuj komentarze oprócz „głównej” treści. Niech regularnie wysyła nowe komentarze (podobnie jak Stackoverflow lub twitter.com, ostrzegając użytkownika i czekając na jego kliknięcie, aby odświeżyć strumień komentarzy).

Pasek boczny w całej witrynie

Chciałbym użyć innej wtyczki: WP Widget Cache , która pozwala ustawić czas buforowania dla każdego widgetu na paskach bocznych i działa dobrze ze zwykłymi wtyczkami buforującymi. W twoim przypadku po prostu ustaw „0” dla braku buforowania dla tych widżetów lub „10 minut” (lepiej niż brak buforowania w ogóle).


1

Jeśli używasz całkowitej pamięci podręcznej w3, możesz wykluczyć niektóre strony, takie jak pasek boczny, z pamięci podręcznej.

Przejdź do Administratora WordPress> Wydajność> Bufor strony i zmień sekcję pod Nigdy nie buforuj tych stron

Nigdy nie buforuj stron W3 Total Cache
W tym przykładzie pliki paska bocznego w kompozycji są wykluczone z pamięci podręcznej.

Możesz także ustawić krótszy czas wygaśnięcia na swoich stronach w pamięci podręcznej, na przykład 5 lub 15 minut. Strony w pamięci podręcznej najbardziej wpływają na osoby, które odwiedzają witrynę po raz pierwszy i nie mają pliku cookie sesji. Ponieważ „najczęściej żądany” widok strony w pamięci podręcznej jest wyświetlany po raz pierwszy, anonimowi użytkownicy.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.