Configurar WP Super Cache De Forma Óptima

Configuración óptima para WP Super Cache

Última actualización:

En este post, te damos a conocer cómo configuramos Wp Super Cache para servir las páginas de tu web WordPress a máxima velocidad. Dejaremos de lado los aspectos básicos y nos centraremos en las claves que usamos en Wetopi, alojamiento gestionado especializado en WordPress.

Tabla de contenidos

¿Por qué WP Super Cache?

WP Super Cache, es el plugin de cache que desde Wetopi siempre recomendamos por múltiples razones:

  • Es ligero, y aunque pueda parecer complejo, se centra en un único propósito: generar estáticos HTML.
  • Tiene muy buena reputación y un historial de millones de descargas.
  • Lo mantiene Automattic y es de código libre. Éste es su repositorio en Github.
  • Como es un clásico, casi todos los plugins manejan correctamente las excepciones cuando es necesario esquivar los sistemas de cache.
  • Raramente ocasiona incompatibilidades con otros plugins.

Activar y configurar WP Super Cache con 1-clic

Si tu servidor esta alojado en Wetopi, dejar activado y configurado WP Super Cache, es un simple clic.

Encontrarás esta opción en el menú de tu servidor WordPress, dentro de la sección de opciones avanzadas:

Configuración óptima de WP Super Cache con un solo clic
Pulsar sobre WP Super Cache para instalar, activar y configurar de forma óptima el sistema de caché

No es necesario realizar ninguna otra acción.

No obstante si no estás alojado en Wetopi, o deseas conocer la combinación de opciones que consideramos óptimas para configurar WP Super Cache, sigue leyendo el artículo.

Para no romper tu web producción

los entornos de prueba “staging” son la solución.

Clona para tu Staging y hacer pruebas de forma segura

Clonar un sitio de WordPress con Wetopi es tan fácil como un simple clic.

La mejor manera de servir las páginas en cache

WP Super Cache, ofrece dos métodos para cachear páginas:

  • Simple y
  • Experto

Con la opción «Simple», se utiliza PHP para servir paginas cacheadas, mientras que con el método «Experto», se sirven las páginas en cache directamente sin utilizar PHP.

Si no necesitamos procesar código PHP, los servidores web son capaces de servir de forma muy eficiente las páginas estáticas.

Cómo servir directamente las páginas en cache

En Wetopi, para maximizar la velocidad, utilizamos Nginx como servidor de páginas. Una virtud de Nginx, es que es tremendamente eficiente cuando se dedica a servir estáticos: imágenes, JS, CSS, HTML, etc.

Para que Nginx sirva los archivos de cache generados por WP Super Cache sin pasar por PHP, añadimos la siguiente configuración:

set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
    set $cache_uri 'null cache';
}

if ($query_string != "") {
    set $cache_uri 'null cache';
}

# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
    set $cache_uri 'null cache';
}

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
    set $cache_uri 'null cache';
}


location / {
    include  /var/www/conf/mime.types;

    # No php is touched for static content.
    # include the "?$args" part so non-default permalinks doesn't break when using query string
    try_files /wp-content/cache/supercache/$http_host/$cache_uri/index-https.html $uri $uri/ /index.php?$args;
}

NOTAS: Damos por hecho que la web se esta sirviendo de forma segura con HTTPS.
Si no es así, modifica el try_files eliminando el tramo «-https«.

IMPORTANTE: con Wetopi, no necesitas modificar manualmente los archivos de configuración de Nginx. Esta configuración de Nginx se activa y desactiva automáticamente con la opción WP Super Cache.

Comprimir las páginas

Comprimir los archivos de tu web WordPress es una excelente manera de reducir el tamaño de las páginas y recursos que tengan texto: html, código Javascript, hojas de estilo CSS, … Con la compresión conseguiremos acelerar el tiempo de carga.

WP Super Cache y la mayoría de plugins tienen opciones avanzadas para dicha tarea.

No obstante, si tienes un servidor web moderno, recomendamos encarecidamente,
NO usar las opciones de compresión gestionadas por plugins.

No comprimas las páginas con WP Super Cache, o cualquier otro plugin que realice dicha tarea con la ayuda de PHP. En su lugar, utiliza un buen web server con capacidad para comprimir de forma eficiente.

No comprimir las páginas desde WP Super Cache
No marques la opción Comprimir las páginas.

Desde Wetopi te recomendamos un web server que sea capaz de comprimir utilizando Brotli.

Brotli es el relevo de los sistemas tradicionales de compresión como gzip. En éste artículo encontrarás información detallada sobre compresión Brotli para WordPress.

Podemos ver cómo se sirven las páginas comprimidas desde el inspector de nuestro navegador. Al pasar sobre el valor del tamaño de la página, aparece el texto flotante donde nos indica 18.3 kB transferidos de un recurso de tamaño 98.4 kB. Esa diferencia nos indica que nuestro web server está comprimiendo los recursos:

18.3 kB transferidos a través de la red, tamaño del recurso 98.4 kB

No siempre es necesario minimizar recursos

Si queremos un WordPress rápido, necesitamos eliminar cualquier tipo de plugin o tarea innecesaria. Muchos plugins de cache vienen sobrecargados de opciones no siempre necesarias. Entre ellas, el minimizar los recursos.

Aparentemente parece contradictorio: ¿Minimizar hará que el archivo sea más pequeño y por lo tanto mi WordPress irá más rápido? ¿No?

¡Pues Sí y No!.

Irá más rápido si no dispones de un buen sistema de compresión como mencionamos en le punto anterior. Pero no tendrá mucho sentido si tienes un server con un buen sistema de compresión.

Como prueba, a continuación minimizamos la página html con el plugin Autoptimize:

Así es como queda una página html minimizada.

Y si observamos la reducción del tamaño del archivo html cuando lo servimos de forma comprimida, la diferencia debería ser mínima:

17.7 kB transferidos a través de la red, tamaño del recurso 92.2 kB

Hemos pasado tan solo de 18.3 a 17.7 kB y la mejora en tiempos es de 2 mili-segundos.

En un caso así es preferible liberar a WordPress del trabajo de minimizar archivos. Minimizar es un proceso realmente costoso en tiempo de proceso. Es mejor liberar de carga la CPU para que la generación de páginas en WordPress sea mucho más rápida. Ya sea cuando hagamos «Prefetch» para guardar todas las páginas en cache, o bien para servir más rápido a los usuarios que visualizan paginas no cacheadas.

Otro aspecto importante a tener en cuenta es que la mayoría de temas usan los recursos javascript ya por defecto en su formato minimizado.

Nuestra opinión:

No descartemos un plugin como WP Super Cache, por no tener opciones como la de minimizar.

Es mucho mejor tener un buen sistema de compresión a nivel servidor web.

¿Durante cuánto tiempo guardar las páginas en cache?

La respuesta rápida es: el máximo tiempo posible.

Por defecto en Wetopi solemos dejar un Tiempo de caducidad de 48h (172800 segundos). Para la recogida de basura, o limpieza de cache ponemos por defecto el Temporizador a 9 minutos (540 segundos). Para evitar los picos de trabajo en tu servidor, es importante que la limpieza se haga poco a poco, así evitarás acumular tareas masivas de manipulación de archivos.

Tiempo de caducidad y Recogida de basura de Wp Super Cache
Ajustes de permanencia y limpieza de archivos de Wp Super Cache

Si tenemos una web donde el contenido lo controlamos nosotros y solo cambia cuando editamos post o páginas, entonces podemos dejar las páginas generadas en cache por tiempo indefinido (Pon un 0 para desactivar la recogida de basura).

Por defecto Wp Super Cache, ya se encarga de regenerar las páginas cuando guardamos cambios en un post o página.

Si tenemos un sitio web con muchas referencias o dependencias entre páginas o posts, puedes configurar WP Super Cache con la opción: «Borrar todos los archivos de caché cuando se publica o actualiza una entrada o una página»:

Borrar todos los archivos de caché cuando se publica o actualiza una entrada o una página

Ajustes de WP Super Cache para WooCommerce

Al combinar WooCommerce con WP Super Cache no suele haber problema con las páginas que muestran información personalizada para el usuario. WooCommerce es compatible con WP Super Cache, por lo que a priori no tendremos que establecer ajustes adicionales.

Cuando trabajamos con WooCommerce, es importante que páginas como la del carrito /cart/ , /mi-cuenta/, o finalizar compra /checkout/ nunca se guarden en caché. Sin embargo, desde la version 1.4.2, WooCommerce establece la constante DONOTCACHEPAGE, lo que significa que, técnicamente, no necesitas hacer nada para excluir las páginas del sistema de caché.

No obstante, siempre es recomendable testar las distintas rutas de una compra:

  • Prueba que la página de producto cargue y muestre los productos correctos.
  • Prueba que las páginas de tu categoría carguen y muestren los productos correctos.
  • Realiza una compra sin registrarte, como invitado. Asegúrate de que el proceso de pago funciona, y que los detalles de la compra sean correctos.
  • Realiza una compra iniciando sesión como cliente. Asegúrate de que el proceso de pago funciona, y que los detalles de la compra sean correctos.
  • Crea un cupón e intenta usarlo al finalizar la compra. Asegúrate de que se aplique el cupón y que la cantidad en el carrito y el precio pagado sean correctos.
  • Intenta restablecer tu contraseña y asegúrate de que todo funcione correctamente.

Ajustes para WP Super Cache y campañas en Google Ads

Al lanzar una campaña de publicidad, generamos picos de tráfico importantes. Es en situaciones como ésta en las que necesitamos más que nunca un buen sistema de cache.

El problema de la cache y los parámetros en la url

Para poder hacer el seguimiento de conversiones de campañas, sea en Google, Facebook, etc., el consenso es pasar las referencias de la campaña en forma de parámetros en la url. Por ejemplo:

https://wetopi.com/?utm_source=google&utm_medium=ppc&account=usa&utm_campaign=Search&utm_term=managed%20hosting

La página siempre es la misma y nos interesa servirla desde la cache, pero los parámetros como p.ej utm_term van cambiando según usemos distintas palabras de búsqueda.

No dejes que WP Super Cache vea como distintas todas y cada un de las URL que apuntan a una misma página de tu Campaña SEM.

Es justo lo contrario a lo deseado: no reciclarías las llamadas a cache y le darías mucho trabajo a WordPress generando una versión estática para cada una de las URL.

La solución es sencilla, WP Super Cache, en el apartado de opciones avanzadas, dispone de una sección en el que podemos indicarle que ignore la presencia de determinados parámetros en la URL:

Activar la opción Ignorar parámetros en URL
Activa esta opción avanzada para que WP Super Cache ignore estos parámetros y sirva siempre la misma página.

¿No tienes una cuenta en wetopi?

Incluye servidores desarrollo Gratis.
Sin tarjeta de crédito.

Compara wetopi con tu hosting actual

Date de alta, pide una migración y compara.

Hacemos una copia de tu web gratis y sin esfuerzo por tu parte.

Sin letra pequeña.
Sin compromisos.
Sin tarjeta de crédito.