Cómo corregir el error «Especificar un validador de caché»

Si prueba el rendimiento de su sitio web con GTmetrix o Pingdom , puede encontrarse con un error que dice «especificar un validador de caché». Ese mensaje significa que no está aprovechando el almacenamiento en caché del navegador en toda su extensión. Desafortunadamente, esto puede afectar negativamente el rendimiento de su sitio.

En este artículo, hablaremos sobre lo que significa el error «especificar un validador de caché». También le mostraremos cómo solucionarlo en WordPress y optimizar el rendimiento de su sitio web. ¡Vamos a hacerlo!

¿Qué significa «Especificar un validador de caché»?

Al habilitar el almacenamiento en caché, puede indicar a los navegadores o «clientes» de los visitantes que almacenen archivos críticos localmente cuando visiten su sitio web. De esa forma, los usuarios no necesitarán recargar todo el sitio y sus recursos cada vez que abran su página.

El almacenamiento en caché es una práctica increíblemente común entre los sitios web. También es una de las formas más eficaces de mejorar el rendimiento de su sitio. Sin embargo, una implementación adecuada requiere una «política» de almacenamiento en caché.

Esa política significa incluir encabezados de almacenamiento en caché que brinden instrucciones explícitas sobre lo siguiente:

  • Cómo validar los recursos almacenados en caché
  • Qué recursos debe almacenar en caché el cliente
  • Durante cuánto tiempo el cliente debe almacenar en caché los recursos
  • Cómo debe buscar el cliente los cambios en los recursos almacenados en caché

El error «especificar un validador de caché» significa que su sitio web no tiene los encabezados de almacenamiento en caché correspondientes en sus respuestas. Esa falta de instrucciones no significa que el almacenamiento en caché no funcione. Sin embargo, no funcionará tan eficientemente como podría:

Si se encuentra con este error al analizar el rendimiento de su sitio web de WordPress, eso significa que es posible que su sitio web no se esté cargando lo más rápido posible. Sin embargo, puede solucionar este problema utilizando los encabezados de almacenamiento en caché adecuados.

Cómo especificar un validador de caché en WordPress (3 métodos)

Hay varios tipos de validadores de caché que puedes implementar en los encabezados de tu sitio web. El servidor los agrega automáticamente en algunos casos, como con validadores de última modificación o ETag .

Si te encuentras con el error «especificar un validador de caché», los culpables más probables son los encabezados de control de caché faltantes o caducados . Veamos cómo agregar ambos a WordPress.

1. Agregar encabezados de control de caché manualmente

Los encabezados de control de caché le permiten especificar la duración o «longitud» del caché en segundos. También puede usar estos encabezados para indicar a qué tipos de archivos se aplica la longitud. La estructura del encabezado en sí variará según el software de servidor web que esté utilizando.

Para los servidores Apache , deberá editar el  archivo .htacess  . Puede encontrarlo dentro de su carpeta raíz  de WordPress . Sin embargo, recomendamos acceder a él a través del Protocolo de transferencia de archivos (FTP) .

Abra el  archivo .htaccess  y agregue el siguiente fragmento de código, luego personalícelo:

01
02
03
<filesMatch ".(jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>

Ese código indica la longitud de la memoria caché para los tipos de archivos dentro de la etiqueta filesMatch  . Según los elementos que desee almacenar en caché, puede agregar o eliminar tipos de archivos.

Si está utilizando NGINX , deberá modificar el archivo de configuración  principal del servidor . Puede encontrarlo en el directorio /etc/nginx .

Abra el archivo y agréguele el siguiente código:

01
02
03
location ~* .(jpg|jpeg|png|gif|js|css)$ {
add_header Cache-Control "public";
}

Guarde los cambios en su archivo y ciérrelo. También recomendamos agregar encabezados de vencimiento antes de volver a probar el rendimiento de su sitio web.

2. Agregar encabezados de vencimiento manualmente

Los encabezados Expires son tipos algo obsoletos de validadores de caché. De hecho, los encabezados de control de caché ahora los reemplazan. La mayoría de los navegadores modernos buscarán primero los encabezados de control de caché  , pero puede indicar ambos validadores para cubrir sus bases.

Agregar  encabezados de vencimiento  manualmente funciona de manera similar a las entradas de control de caché  tanto en Apache como en NGINX. Para agregar  encabezados de vencimiento  en Apache, deberá editar el  archivo .htaccess  .

Este es un ejemplo de un encabezado que puede copiar y le recomendamos que lo agregue al final del archivo para evitar conflictos:

01
02
03
04
05
06
07
08
09
10
11
## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING ##

Los encabezados Expires indican fechas de vencimiento específicas para cada tipo de archivo. Si no especifica una fecha para un tipo de archivo, utilizará el valor ExpiresDefault  .

Para los servidores NGINX, deberá modificar el  archivo de configuración  principal . Así es como se ve un encabezado de vencimiento  en NGINX:

01
02
03
04
location ~* .(png|jpg|jpeg|gif)$ {
expires 7d;
add_header Cache-Control "public";
}

Guarda los cambios en el archivo que estés usando y listo. Vuelva a probar el rendimiento de su sitio web y vea si persiste el error «especificar un validador de caché».

3. Use un complemento de almacenamiento en caché de WordPress

Finalmente, podría considerar usar un complemento para especificar validadores de caché. Algunos de los mejores complementos de caché de WordPress le permiten configurar  caducidad  y  encabezados de control de caché  para su sitio sin tocar ningún código.

La desventaja de usar un complemento de almacenamiento en caché es que muchos servidores web no los permiten . De hecho, muchos servidores web administrados , en particular, a menudo no le permitirán usar complementos de almacenamiento en caché porque configuran manualmente el almacenamiento en caché para sus usuarios para un rendimiento óptimo.

La mayoría de los complementos de almacenamiento en caché configurarán automáticamente su sitio web para usar encabezados ETagLast-Modified  . Si no lo hacen, puede usar de forma predeterminada el  control de caché  y  los validadores de caducidad  .

W3 Total Cache , por ejemplo, le brinda control total sobre qué tipo de encabezados de caché puede usar:

Si su servidor web le permite usar complementos de almacenamiento en caché, le recomendamos explorar varias opciones para ver con cuál se siente más cómodo. Alternativamente, puede especificar validadores de caché manualmente (¡no es tan difícil!).

Conclusión

El almacenamiento en caché es una de las formas más eficientes de disminuir los tiempos de carga para sus usuarios. Los visitantes repetidos se beneficiarán de buenas políticas de almacenamiento en caché, ya que los tiempos de carga mejorarán con los archivos almacenados localmente. Sin embargo, no obtendrá el mejor rendimiento del sitio web si no configura una política de almacenamiento en caché específica.

Hay varias formas de especificar un validador de caché en WordPress si su servidor no lo hace de forma predeterminada (lo cual es relativamente común). Dependiendo de las necesidades de su host y sitio, ya sea agregando encabezados de control de caché manualmente, agregando encabezados de caducidad manualmente o usando un complemento de almacenamiento en caché resolverá sus problemas. Si ninguno de estos lo hace, es hora de ponerse en contacto con el soporte de su host para obtener asistencia más detallada.

¿Tiene alguna pregunta sobre cómo especificar un validador de caché en WordPress? ¡Hablemos de ellos en la sección de comentarios a continuación!

Imagen destacada a través de apghedia / shutterstock.com