¿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

Utilizamos cookies propias y de terceros para personalizar el contenido y los anuncios, ofrecer funciones de medios sociales y analizar el tráfico. Además compartimos información sobre el uso que haces de nuestra web con nuestros partners de medios sociales, de publicidad y de análisis web. Si continúas navegando estás dando tu consentimiento para la aceptación de nuestra Política de cookies.

ACEPTAR
Aviso de cookies