W3 Total Cache, CDN y archivos de tema [cerrado]

10

Actualicé el archivo style.css de mi instalación de WordPress recientemente. El cambio fue efectivo: cuando inicié sesión como administrador (mi blog está configurado para que el administrador nunca reciba una versión en caché del sitio, sino una versión "en vivo"), puedo verlos.

Pero mi blog se publica a través de un CDN (utilizando W3 Total Cache). A través del CDN, los cambios no son efectivos: el CDN no sirve los archivos modificados de mi tema. Aunque los he cargado después de la modificación (Panel de control > Rendimiento > CDN > Cargar archivos de tema.

Mi CDN se ejecuta en AmazonCloud Front. Y Minify está deshabilitado en W3 Total Cache.

El archivo de tema que se sirve a través de mi CDN es una versión comprimida: style.css.gzip

¿Debo "purgar" los objetos de mi CDN o esperar un poco más (ha pasado más de una semana)? Y sí, vacío la memoria caché del navegador que estoy usando para ver si los cambios surten efecto. ¿O hay algo más que me falta?

Gracias,

P.

    
pregunta Parneix 14.08.2012 - 00:21

3 respuestas

10

Necesitas a cualquiera

  1. Versión de sus archivos (llamándolo style.css?ver=xxx.xxx ) y asegurándose de que su distribución de CloudFront tiene "Cadenas de consulta de reenvío" activadas. Esta es la mejor opción, ya que significa que todo lo que necesita hacer es incrementar el número en la cadena de consulta y CloudFront recuperará este archivo automáticamente.

  2. Invalide manualmente sus archivos a través de la Consola AWS (hay una pestaña de invalidación cuando edita su distribución)

Para activar 'Reenviar cadenas de consulta' haga lo siguiente:

  • Edite su distribución Cloudfront marcando la casilla de verificación a la izquierda de la "i" y luego haga clic en el botón "configuración de distribución" en la barra de herramientas
  • Ir a la pestaña Comportamientos
  • Seleccione la línea y haga clic en 'Editar'
  • Cambie "reenviar cadenas de consulta" a Sí
  • Haz clic en "Sí, Editar"
respondido por el anu 14.08.2012 - 00:27
8

Hay un "truco" bastante simple para evitar el almacenamiento en caché cuando se modifican los contenidos del archivo: agregue un número de versión, que se establece en la fecha / hora más reciente en que cambió su archivo.

add_action( 'wp_enqueue_scripts', 'wpse61738_non_cached_stylesheet' );
function wpse61738_non_cached_stylesheet()
{
    wp_enqueue_style( 
        'style-main',
        get_stylesheet_directory_uri().'/style.css',
        array(),
        filemtime( get_stylesheet_directory().'/style.css' )
    );
}

Esto agregará ?ver=0123456789 a su enlace de referencia de style.css en su encabezado. El número de versión solo cambiará cuando se modifiquen los contenidos de los archivos. Así que tiene una solución que funciona perfectamente con a) caché del lado del servidor b) caché del navegador y se actualiza automáticamente.

    
respondido por el kaiser 14.08.2012 - 00:37
-1

una respuesta corta ...

  1. Borra todos tus archivos de temas y vuelve a subirlos. algunas veces la acción de eliminar borra el CDN

  2. Sí, puedes probar Purgar, pero eliminar y volver a cargar suele ser más rápido.

  3. También puedes ver la configuración en W3TC y en Amazon. El caché predeterminado para en W3TC suele ser de 365 días. que es 31536000 segundos :)

En Amazon ... habrá una configuración para que los puntos finales vuelvan a consultar el CDN. Sé que en Rackspace el valor predeterminado es 24 horas.

    
respondido por el Damien 14.08.2012 - 00:26

Lea otras preguntas en las etiquetas