¿La mejor manera de mostrar contenido dinámico en un sitio de Wordpress en caché?


14

Realmente quiero usar uno de los complementos de caché para poder publicar más páginas estáticas en mi tema / sitio de WordPress. Obviamente, esta es la mejor actualización de rendimiento que puede hacer para un tema / sitio de WordPress.

Hay algunos elementos dinámicos en mi tema que me han impedido hacer el salto a las páginas estáticas / en caché.

Esbozaré estos problemas a continuación y proporcionaré una posible forma de resolver cada problema que he pensado hasta ahora.

El objetivo de esta publicación es obtener mejores ideas / métodos para manejar los problemas que explico u obtener cierta seguridad de que estoy en el camino correcto al menos. Soy un veterano de PHP de más de 12-13 años, pero solo he estado usando WordPress en los últimos 1-2 años y hasta ahora estoy realmente impresionado con las capacidades, ¡ahora soy un fanático total de WordPress si tal cosa existe jaja!

Ok, entonces los problemas que he pensado hasta ahora al convertir a páginas en caché ...


Página de publicaciones individuales

  1. Problema del contador de vistas : tengo una función que obtendrá un valor de recuento para un "Contador de vistas / visitas" en la página Publicaciones para dar una idea de las Vistas de publicaciones para que las vea un usuario. Estos no son visitantes únicos sino solo un simple contador de visitas. He creado una tabla MySQL separada para estos valores, todavía estoy tratando de decidir si debo continuar con eso o cambiar para usar un Meta Field. De cualquier manera en una vista de página, el valor de la base de datos se obtiene y aumenta en +1 en cada carga de página. (Las vistas de los usuarios administradores no se agregan). El valor se muestra en la página en forma de988 Views

    Contador de Vistas Posible Solución - Podría hacer que este Valor / función se ejecute usando Ajax. Una vez que se carga la nueva página en caché / estática, Javascript podría usar Ajax para solicitar y actualizar el contador de Vistas para esa página. ¿Suena esto como la mejor solución para algo como esto?

  2. Problema de comentarios de publicaciones : al usar el sistema de comentarios predeterminado de WordPress, cada vez que se agrega un nuevo comentario a una publicación, se requeriría que se reconstruya la página en caché / estática para esa publicación . Por lo que he visto, hay una opción en los complementos de almacenamiento en caché que he visto que le permitirá hacer exactamente eso, puede hacer que reconstruya las páginas cada vez que se publique un nuevo comentario. Esto suena bien en el papel, pero me imagino que es una pesadilla en un sitio de alto tráfico / activo donde es posible que varios usuarios comenten sobre el mismo artículo al mismo tiempo (todo no probado, así que no lo sé)

    Posible solución de comentarios : para una solución al problema de los comentarios, mencioné una solución anterior donde puede configurar el complemento de caché para simplemente reconstruir la página en caché / estática en cada nuevo comentario. Mi preocupación era que no sé qué tan bien funcionará esto a largo plazo. Ahora, la otra solución posible que veo que se usa cada vez más es usar una solución Javascript como Disqus Comments o una solución similar. Durante mucho tiempo estuve realmente en contra de esto, ya que quería que todos mis Comentarios no dependieran de ningún tercero para mi sistema de comentarios. Todavía estoy un poco en la valla sobre este problema, pero he cambiado a usar los comentarios de Disqus en mi sitio y hasta ahora está funcionando bastante bien. Sin embargo, ¿estoy abierto a otras posibles soluciones? ¿O crees que este es realmente el camino a seguir?

Barra lateral de todo el sitio

  1. Artículos recientes de la barra lateral Problema : tengo pestañas en mi barra lateral que se muestran en todo el sitio en todas las páginas del sitio ... una de las pestañas carga las 10 publicaciones más recientes en el blog, ya que esto se muestra en cada página del sitio , una vez que se agrega un nuevo artículo / publicación, se requeriría que cada página en caché / estática del sitio se reconstruya para reflejar la adición de nuevas publicaciones en esta "Lista de publicaciones más recientes"

    Barra lateral Artículos recientes Posible solución : una vez más, creo que se me ocurrió una buena solución posible. Podría usar Javascript y Ajax para cargar este contenido en las páginas en caché / estáticas para que TODOS no tengan que reconstruirse tan a menudo, pero aún así puedan mostrar las publicaciones más recientes.

    ¿Suena esto como una buena solución? O, lo que es más importante, ¿se te ocurre otra solución mejor o alternativa a este problema?


Sin ensuciarme demasiado las manos, estos son todos los posibles problemas que puedo ver hasta ahora con la conversión de mi tema a Cache / Static Friendly


ACTUALIZAR

Solo pensé en otro tema en el que pensar. Todas las páginas de etiqueta / categoría y de usuario deberán actualizarse cada vez que se agregue una publicación que se ajuste a la lista de publicaciones de esa página. Supongo que esto ya debe ser una característica de los complementos de almacenamiento en caché.


1
¿Por qué Views Counter debe ser correcto en cada solicitud? ¿Qué sucederá si muestra 5-10 vistas faltantes antes de la actualización de caché?
Ünsal Korkmaz

Respuestas:


2

Entonces, hay muchas subpreguntas, intentaré abordar cada una.

Problema del contador de vistas: podría hacer que este valor / función se ejecute usando Ajax. Una vez que se carga la nueva página en caché / estática, Javascript podría usar Ajax para solicitar y actualizar el contador de Vistas para esa página.

Totalmente de acuerdo: beneficio adicional: cargarlo a través de ajax cuando el contenido "importante" ha terminado de cargarse es el camino a seguir. Haga todo lo posible para reducir el tiempo de carga de la página. Definitivamente iría con Ajax en este caso.

Problema de comentarios de la publicación

Dudo que esto sea un gran problema. Pero de nuevo: ajax. Cargue comentarios aparte del contenido "principal". Haga que envíe nuevos comentarios regularmente (al igual que Stackoverflow, o twitter.com, advierte al usuario y espera su clic para actualizar la secuencia de comentarios).

Barra lateral de todo el sitio

Usaría otro complemento: WP Widget Cache , que le permite configurar el tiempo de almacenamiento en caché para cada widget en sus barras laterales, y funciona bien con los complementos de almacenamiento en caché habituales. En su caso, simplemente establezca "0" para que no haya almacenamiento en caché para esos widgets, o "10 minutos" (mejor que ningún almacenamiento en caché).


1

Si está utilizando la memoria caché total de w3, puede excluir ciertas páginas, como su barra lateral, de la caché.

Vaya a Administrador de WordPress> Rendimiento> Caché de página y cambie la sección bajo nunca cachear estas páginas

Nunca almacene en caché páginas W3 Caché total
Este ejemplo muestra que los archivos de la barra lateral en un tema están excluidos del caché.

También puede establecer un tiempo de vencimiento más corto en sus páginas en caché, por ejemplo 5 o 15 minutos. Las páginas en caché afectan más a las personas que son visitantes por primera vez y no tienen una cookie de sesión. Como la vista en caché 'más solicitada' de la página se muestra a los visitantes anónimos por primera vez.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.