Vaciar la caché de Autoptimize de forma automática

9 de /agosto08 de /2016
2m 31s
wordpress
2 comentarios
4629
5

¿Tienes problemas de espacio con la caché de Autoptimize?

Por defecto, el plugin Autoptimize almacena archivos php, css, js e incluso si  tenemos un plugin de caché bien configurado nos guardará archivos deflate o gzip, esto ocurre cuando tenemos un plugin de almacenamiento en caché como WP Supercaché o W3 Total caché entre otros.

Los archivos se guardan en la carpeta wp-content/cache/autoptimize/ En algunos casos, esta carpeta se llena dando problemas de espacio y generando avisos del plugin para que vaciemos la caché, en muchas ocasiones podemos solucionar el problema indicandole al plugin de caché que no nos guarde ciertos archivos, en especial los archivos js suelen ser lo más problemáticos.

Pero en ciertas ocasiones el problema puede ser debido a una mala configuración del servidor o del archivo htacces, incluso de algún plugin del que no podemos prescindir para el funcionamiento normal de nuestro sitio.

El tamaño del caché de Autoptimize se está haciendo grande, considere purgarlo

La solución es muy sencilla, basta con crear una función en nuestro archivo functions.php que limpie por nosotros la caché cuando alcance un determinado tamaño, la función es la siguiente:

 

Clean Cache Autoptimize

<?php 
/*
Limpia automáticamente la cache de Autoptimize si sobrepasa los 256 MB
*/
if (class_exists('autoptimizeCache')) {
    $myMaxSize = 256000;
    $statArr=autoptimizeCache::stats(); 
    $cacheSize=round($statArr[1]/1024);
    if ($cacheSize>$myMaxSize){
       autoptimizeCache::clearall();
       header("Refresh:0");
    }
}

Cambiar el tamaño límite para activar la limpieza

En la línea 6 declaramos la variable $myMaxSize a la que le damos un valor de 256000 que equivale a unos 256MB aprox. Podemos modificar el valor, no es recomendable bajarlo de 100000 aunque podemos hacerlo para probar si funciona correctamente.

W3 Total Cache

Si el problema persiste y tenemos activado el plugin W3 Total caché podemos ampliar la función para forzar la limpieza de la caché con este código

<?php 
/*
Limpia automáticamente la cache de Autoptimize si sobrepasa los 256 MB
*/
if (class_exists('autoptimizeCache')) {
    $myMaxSize = 256000; # Mín 100000(100 MB)
    $statArr=autoptimizeCache::stats(); 
    $cacheSize=round($statArr[1]/1024);
    if ($cacheSize>$myMaxSize){
       autoptimizeCache::clearall();
		if( class_exists('W3_Plugin_TotalCacheAdmin') ) {
		    $plugin_totalcacheadmin = & w3_instance('W3_Plugin_TotalCacheAdmin');
		    $plugin_totalcacheadmin->flush_all();
		}
       header("Refresh:0");
    }
}

 

Espero que os sirva de ayuda

 

Valoraciones

2 valoraciones

  • Nacho 15 junio, 2020

    ¿Sobre que archivo de Optimize habría que añadir o modificar ese código?, gracias!

    1. Roque Arnás 21 julio, 2020

      Hola Nacho
      Este código lo debes añadir en tu archivo functions.php, gracias por tu valoración.

Tu valoración

* Tu valoración puede tardar hasta 72 horas en publicarse.

He leido y acepto el Aviso legal y condiciones de uso

Quizás te interese ...

Utilizamos cookies para mejorar tu experiencia

Utilizamos cookies propias y de terceros para personalizar el contenido, analizar nuestros servicios, ofrecer funciones de redes sociales, analizar el tráfico y mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación.

Permitir todas las cookies Configurar Política de cookies