¿Cómo acelerar mi sitio WordPress usando W3 Total Cache?

Una de las formas más simples de mejorar la velocidad de un sitio WordPress es utilizar una caché de páginas. En AMPM Hosting recomendamos W3 Total Cache, un plugin muy completo que permite generar versiones HTML de las páginas y evitar que WordPress tenga que procesarlas nuevamente en cada visita.

Los servidores de AMPM utilizan Apache con PHP-FPM y cuentan con Zend OPcache habilitado. Esta tecnología mantiene en memoria el código PHP ya compilado, evitando que los mismos archivos tengan que interpretarse y compilarse nuevamente en cada ejecución. W3 Total Cache detecta automáticamente la presencia de OPcache y hace uso de este sistema, complementándolo con la caché de páginas y la caché del navegador para mejorar los tiempos de respuesta del sitio.

Configuración rápida recomendada por AMPM

Para simplificar la configuración preparamos un archivo con los ajustes recomendados para nuestros servidores:

Descargar configuración recomendada de W3 Total Cache

Para utilizarlo:

  1. Ingresá al administrador de WordPress.
  2. Andá a Plugins > Añadir nuevo.
  3. Buscá W3 Total Cache, instalalo y activalo.
  4. La primera vez que lo abras, W3 Total Cache puede mostrar una Guía de configuración paso a paso. Como vamos a importar la configuración recomendada por AMPM, no hace falta completarla: podés utilizar el botón SALTAR que aparece al pie de esa pantalla.
  5. Una vez en la pantalla principal del plugin, ingresá a Rendimiento > Ajustes generales.
  6. Andá hasta el final de la página y buscá la sección Importar / Exportar ajustes.
  7. Importá el archivo JSON que descargaste anteriormente.
  8. Al terminar, utilizá Rendimiento > Purge All Caches / Vaciar todas las cachés.

La configuración de AMPM activa principalmente:

  • Caché de página (Page Cache): genera versiones HTML de las páginas para que muchas visitas puedan ser respondidas sin ejecutar nuevamente WordPress, PHP y todas las consultas necesarias para construirlas.
  • Caché del navegador (Browser Cache): permite que archivos estáticos como imágenes, CSS y JavaScript puedan conservarse durante más tiempo en el navegador del visitante, evitando descargarlos nuevamente en cada visita.

En cambio, dejamos desactivadas de forma predeterminada opciones como Minify, Database Cache y Object Cache, porque no conviene activar todas las funciones de W3 Total Cache indiscriminadamente.

¿Cómo comprobar si realmente está funcionando?

La caché de página está pensada principalmente para los visitantes normales del sitio. Los administradores y otros usuarios que estén logueados no deberían recibir la misma versión cacheada, ya que necesitan ver información actualizada y contenido relacionado con su sesión.

Por eso, mientras editás el sitio podés tener la sensación de que no está funcionando tan rápido como esperabas.

La forma más sencilla de probarlo es abrir el sitio en una ventana de incógnito o privada del navegador, sin iniciar sesión en WordPress. Esa experiencia se parece mucho más a la de un visitante común.

¿Cuándo tengo que vaciar la caché?

W3 Total Cache puede eliminar automáticamente las páginas afectadas cuando publicás o actualizás entradas, páginas y otros contenidos.

Sin embargo, hay cambios que WordPress no siempre relaciona directamente con una página determinada. Por ejemplo:

  • modificaciones en menús;
  • widgets;
  • opciones del tema;
  • configuraciones de plugins;
  • cambios realizados desde el personalizador o un constructor visual;
  • otros ajustes que modifiquen la parte pública del sitio.

Después de este tipo de modificaciones, si el sitio sigue mostrando una versión anterior, utilizá:

Rendimiento > Purge All Caches / Vaciar todas las cachés

También podés comprobar el resultado abriendo nuevamente el sitio en modo incógnito.

W3 Total Cache y WooCommerce

La caché de páginas puede utilizarse en sitios WooCommerce, pero hay determinadas páginas que deben mantenerse dinámicas porque muestran información diferente para cada visitante.

En particular, verificá que no se cacheen las páginas correspondientes a:

  • Carrito;
  • Finalizar compra / Checkout;
  • Mi cuenta.

Los nombres y URLs pueden variar según cómo esté configurado WooCommerce. Si tenés una tienda online y observás carritos que no se actualizan, sesiones incorrectas o información de otro momento, vaciá la caché y revisá estas exclusiones antes de continuar.

¿Conviene activar las demás funciones de W3 Total Cache?

No necesariamente. Un plugin de caché correctamente configurado puede mejorar mucho el rendimiento, pero activar opciones solamente porque están disponibles también puede provocar el efecto contrario.

Minify:
Permite reducir y modificar archivos CSS y JavaScript. Puede mejorar determinados sitios, pero también puede generar incompatibilidades con themes, constructores visuales o plugins que dependan del orden en que se cargan esos archivos. Nuestra configuración lo deja desactivado. Si querés experimentar con Minify, hacelo de a una opción por vez y revisá cuidadosamente el sitio después de cada cambio.

Database Cache:
Guarda resultados de consultas de la base de datos. No recomendamos activarlo por defecto, ya que según el tipo de sitio y el método de almacenamiento utilizado puede agregar más trabajo del que ahorra.

Object Cache:
La caché de objetos es diferente de la caché de página y puede ser muy útil en WordPress, particularmente en sitios con WooCommerce, muchas consultas o administradores pesados. En AMPM recomendamos utilizar SQLite Object Cache para esta tarea en lugar de activar el Object Cache de W3 Total Cache. Ambas soluciones pueden trabajar juntas siempre que W3 Total Cache se encargue de la caché de páginas y del navegador, mientras que SQLite Object Cache sea la única caché persistente de objetos. Podés ver cómo configurarlo en nuestro artículo:
¿Cómo implementar caché de objetos en WordPress sin Redis ni Memcached?.

CDN:
W3 Total Cache permite integrarse con distintos proveedores de CDN. No hace falta activar esta opción si no utilizás específicamente una de esas integraciones.

Proxy inverso:
Esta función está destinada a configuraciones como Varnish. No es necesaria en los servidores de AMPM y recomendamos dejarla desactivada.

¿Por qué no recomendamos LiteSpeed Cache en AMPM?

LiteSpeed Cache para WordPress está diseñado principalmente para trabajar junto con el sistema de caché incluido en LiteSpeed Web Server.

Los servidores de AMPM utilizan Apache con PHP-FPM, no LiteSpeed Web Server. Por esa razón, aunque algunas funciones generales del plugin LiteSpeed Cache pueden funcionar sobre Apache, su sistema principal de caché de páginas a nivel del servidor no está disponible.

Por eso recomendamos utilizar W3 Total Cache, que funciona correctamente con la plataforma utilizada por AMPM y no depende de componentes específicos de LiteSpeed.

¿Qué hacer si después de un cambio el sitio funciona mal?

Lo primero es utilizar Rendimiento > Purge All Caches y volver a probar el sitio en una ventana de incógnito.

Si el problema comenzó inmediatamente después de modificar opciones de W3 Total Cache, podés volver a importar el archivo de configuración recomendado por AMPM.

Si el sitio muestra un error 500 o un error crítico persistente, no es normal simplemente esperar que desaparezca. Puede existir un conflicto con un plugin, theme, una configuración de PHP o algún archivo generado por la caché.

En esos casos también podés desactivar temporalmente W3 Total Cache para comprobar si el problema desaparece.

¿Qué archivos utiliza W3 Total Cache?

Esta información puede resultar útil si una configuración incorrecta deja WordPress inaccesible.

W3 Total Cache puede agregar reglas al archivo .htaccess. Dependiendo de las funciones activadas, vas a encontrar bloques identificados por comentarios como:

# BEGIN W3TC Page Cache core
...
# END W3TC Page Cache core

y:

# BEGIN W3TC Browser Cache
...
# END W3TC Browser Cache

Antes de modificar manualmente el .htaccess hacé siempre una copia de seguridad.

También puede utilizar los siguientes archivos y directorios:

  • wp-content/advanced-cache.php: drop-in utilizado por la caché de páginas.
  • wp-content/cache/: contiene distintos archivos temporales de caché. Esta carpeta también puede ser utilizada por otros plugins, por lo que no conviene eliminarla completa sin verificar primero su contenido.
  • wp-content/w3tc-config/: contiene la configuración de W3 Total Cache.
  • wp-content/object-cache.php: puede existir cuando se utiliza una caché persistente de objetos.
  • wp-content/db.php: puede existir cuando se utilizan determinadas funciones de caché de base de datos.

Atención: si utilizás SQLite Object Cache u otro plugin de caché persistente de objetos, el archivo wp-content/object-cache.php puede pertenecer a ese plugin y no a W3 Total Cache. No lo elimines sin identificar primero qué plugin lo instaló.

Si necesitás borrar manualmente archivos de caché porque WordPress dejó de funcionar y no estás seguro de cuál corresponde eliminar, es preferible contactarnos antes de modificar archivos del sitio.

Preguntas frecuentes

¿Puedo usar W3 Total Cache junto con SQLite Object Cache?
Sí. Es justamente una combinación que recomendamos: W3 Total Cache para Page Cache y Browser Cache, y SQLite Object Cache para la caché persistente de objetos. No actives Object Cache también dentro de W3 Total Cache.

¿Tengo que activar todas las opciones de W3 Total Cache?
No. Más tipos de caché no significan necesariamente más velocidad. Algunas funciones pueden duplicar trabajo o generar incompatibilidades.

¿W3 Total Cache utiliza PHP OPcache?
Sí. Si Zend OPcache está disponible en el servidor, W3 Total Cache puede detectarlo automáticamente y utilizarlo como caché de opcode. En nuestros servidores OPcache ya se encuentra habilitado a nivel de PHP, por lo que no necesitás hacer nada desde WordPress con respecto a esta función.

¿Puedo usar LiteSpeed Cache?
El plugin puede ejecutar algunas funciones de optimización sobre Apache, pero su principal sistema de caché de páginas necesita LiteSpeed Web Server o un servicio compatible como QUIC.cloud. Como los servidores de AMPM utilizan Apache con PHP-FPM, recomendamos W3 Total Cache.

Hice un cambio pero sigo viendo la versión anterior. ¿Qué hago?
Usá Rendimiento > Purge All Caches y volvé a probar el sitio desde una ventana de incógnito.

¿Cuándo debería contactar a soporte?
Si después de vaciar la caché o desactivar W3 Total Cache el sitio continúa mostrando errores, un error 500, un error crítico o problemas de funcionamiento, contactanos indicando qué cambio realizaste y qué mensaje de error aparece.

  • WordPress, Rendimiento, Caché
  • 5 Los usuarios encontraron esto útil
¿Le ha resultado útil esta respuesta?

Artículos relacionados

¿Qué hacer si mi sitio muestra un error 500?

El error 500 es un error común que se da cuando hay defectos en la programación de un script en...

¿Dan servicio de mantenimiento a sitios WordPress?

Sí. Creemos que todos tienen derecho a tener un sitio web ágil, funcional y seguro. Y el servicio...

Presentación: Seguridad en WordPress, cómo evitar que hackeen tu web

Les comparto la presentación que di en la Meetup de WordPress Argentina de Agosto 2018, donde fui...

¿Cómo ocultar el cartel de activación que muestra Visual Composer?

La mayoría de las veces, compramos un theme comercial pero no incluye la licencia de Visual...

¿Cómo puedo optimizar las imágenes de mi sitio WordPress?

Ya sabemos que cuanto más liviano es el peso de un sitio web, más rápido carga y mejor impresión...