Excluir de la cache una parte de una página

Inicio Foros WordPress Programación Excluir de la cache una parte de una página

Etiquetado: ,

Este debate contiene 6 respuestas, tiene 2 mensajes y lo actualizó  almendron hace 4 años, 7 meses.

  • Autor
    Publicaciones
  • #74628

    almendron
    Participante

    Problema: cada vez que inserto un nuevo post tengo que borrar la cache entera porque las funciones “next post link” y “previous post link” no muestran lo que debieran (no se actualizan en los posts que ya están en cache). Como ya vamos por 47.000 artículos, es de vital importancia solucionarlo y así poder mantener en cache un buen número de ellos.
    Pregunta: ¿Existe alguna forma de que las dos funciones anteriormente citadas se excluyan del cache?
    De forma más general, la pregunta sería: ¿existe alguna forma de evitar que se cahee una parte de una página?
    Un saludo.

  • #74637

    LGrusin
    Miembro

    Me pregunto si no sería más fácil que el caché se actualizara cada vez que publicas un artículo, página, categoría, etc, etc.

    ¿No lo hacen los plugins de caché? En vez de actualizar por tiempo hacerlo cuando se publica algo o por lo menos con los posts. Esto no es dificil de conseguir.

    EDITO: w3 total cache lo hace, ¿has mirado en la configuración del plugin?

    Un saludo

  • #74647

    almendron
    Participante

    Creo que no me he explicado bien.
    Cada vez que modifico o inserto un post, el plugin actualiza ese post y los archivos correspondientes (diario, mensual, categorías, tags, etc). Funciona por tanto como cualquier otro cache.
    El problema es otro. Pondré un ejemplo:
    1) Supongamos que tenemos nuestro blog con un solo post. Como es el primero, las funciones “next post link” y “previous post link” devuelven un valor en blanco.
    2) Insertamos post número 2. El cache se actualiza para el home y los archivos (categoría, tag, etc.)
    Donde hemos insertado las funciones “next post link” y “previous post link” aparecerá ahora un enlace al post número 1. Hasta aquí todo bien.
    El problema viene porque el post número 1 no se actualiza al insertar el número 2. En el post número 1 ahora debería aparecer un enlace al post número 2. Sin embargo, como ya está en cache, las funciones no se ejecutan y siguen manteniendo el valor en blanco.
    3) Insertamos el post número 3. El 1 y el 2 ya están en cache. En el 1 no aparecerá el enlace al 2. En el 2 no aparecerá el enlace al 3.
    4) Así sucesivamente.

    De ahí que, cada vez que publico un nuevo post, deba vaciar toda la cache y por eso necesito que las funciones indicadas no se almacenen en el cache.
    Espero haberme explicado mejor. Un saludo.

  • #74655

    LGrusin
    Miembro

    Dicho de otra manera, habría que cachear el post actual y el anterior cada vez que publiques un post nuevo.
    Esto pasará con todas las funciones que generen enlaces y que estén cacheadas, no apuntarán al sitio correcto o no los podrá mostrar.

    ¿Se ralentiza mucho el blog si no cacheas ningún post?

    Un saludo

  • #74656

    almendron
    Participante

    Así es, LGrusin. Habría que cachear el anterior y el siguiente post del que publicas o bien impedir que esas funciones se almacenen en cache.
    Pues aún se nota. Ten en cuenta la tabla wp_posts ya pesa 302.828 KB. El plugin que uso es Hyper Cache. Lo elegí porque es sencillo de configurar y tiene la opciones más comunes.
    ¿Alguna idea de por dónde comenzar?
    Un saludo.

  • #74721

    LGrusin
    Miembro

    Mirando el plugin he visto que tiene una función para no cachear un post determinado. La idea sería usar esa función para no cachear los dos últimos artículos a la hora de publicar uno. Esto no parece complicado de conseguir.

    Lo que no sé es cómo hará para cachear el antepenúltimo post cuando se van publicando nuevos artículos.

    Un saludo

  • #74727

    almendron
    Participante

    Gracias por tu interés LGrusin, pero creo que no va a hacer falta. Es casi seguro que tenga que cerrar el sitio ya que nos han quitado la subvención. Cierra el hilo por favor. Gracias.
    Un saludo.

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest