W3 Total Cache – Cookie is Rejected (solución)

Bien, recientemente estamos haciendo pruebas con W3 Total Cache para reducir la carga de nuestro servidor y poder servir páginas web más rapidamente, pero por algún motivo nos salía este error de cache (mirando el código fuente desde el navegador) si habíamos realizado un comentario (o teniamos una cookie creada previamente), el problema es que WordPress asigna por defecto una cookie a nuestro navegador de una duración de un año si hemos realizado algún comentario en cuestión (30000000 segundos), y entonces el usuario no se le puede servir con la cache de W3 Toal Cache, dónde la única solúcion posible es que él mismo usuario borre la cache y las cookies de su propio navegador, o tener que esperar hasta que la cookie caduque. Un año de espera es un castigo considerable en este caso para W3 Total Cache y para nosotros!.

La solución consite en crear un pequeño filtro para que la cookie tenga menor tiempo de caducidad, y así se podrá continuar utilizando la cache después de este periodo.

En vuestro theme de wordpress en el fichero functions.php

function set_comment_cookie_lifetime($lifetime) {
        // numero en segundos, elejir a gusto este valor (5 minutos por ejemplo)
return 300;
}
add_filter('comment_cookie_lifetime', 'set_comment_cookie_lifetime');

En caso de querer que caduque de inmediato poner el valor en negativo (fecha anterior)

return -30000000;

Al estar la cookie con un valor en negativo, el propio navegador se encargará de no utilizarla y eliminarla.

Espero que os sirva si teneís este problema.

Deja un comentario

Tu dirección de correo electrónico no será publicada.