Caché LiteSpeed para WordPress y una tienda online
Nuestros servidores funcionan con LiteSpeed. Para WordPress, el plugin gratuito LiteSpeed Cache es, por tanto, el plugin de caché lógico: guarda páginas ya preparadas en el servidor, de modo que no se tengan que reconstruir en cada visita. Su sitio web se vuelve más rápido y su paquete tiene menos trabajo. En una tienda online, sin embargo, debe saber qué páginas nunca pueden estar en la caché. Este artículo explica la base y lo que se añade con WooCommerce.
La base
- Vaya en WordPress a Plugins > Añadir nuevo, busque "LiteSpeed Cache", compruebe que el editor es LiteSpeed Technologies, e instale y active el plugin.
- Abra en el menú LiteSpeed Cache > Cache y compruebe que Enable Cache esté activado.
- Si utiliza otro plugin de caché, desactívelo. Dos cachés al mismo tiempo provocan errores extraños.
- Pruebe después su sitio en una ventana privada.
Si desea saber más sobre por qué su sitio va lento y qué más puede ayudar, lea Mi sitio web va lento o usa demasiada CPU: así lo hace más rápido.
Tienda online: dos tipos de páginas
| Tipo de página | Ejemplos | ¿Caché de página? |
|---|---|---|
| Igual para todos | Página de inicio, página de la tienda, categorías, páginas de producto | Sí, ahí está la mayor ganancia |
| Diferente por visitante | Carrito de la compra, finalizar compra, Mi cuenta, el formulario de desistimiento | Nunca |
Si esto falla, un cliente puede ver el carrito de la compra o incluso la dirección de otra persona. Esto también es una filtración de datos; consulte ¿Es esto una filtración de datos y debo notificarla?
Lo que WooCommerce y LiteSpeed Cache ya gestionan
WooCommerce marca el carrito de la compra, finalizar compra y Mi cuenta como "no cachear" automáticamente, con una constante (DONOTCACHEPAGE) y con cabeceras no-cache. En cuanto alguien añade algo al carrito, WooCommerce establece cookies como woocommerce_items_in_cart, woocommerce_cart_hash y wp_woocommerce_session_. Según su propia documentación, LiteSpeed Cache respeta estas reglas de WooCommerce. En una tienda normal, por tanto, no es necesario añadir nada.
Cuándo añadir exclusiones usted mismo
Las exclusiones se encuentran en LiteSpeed Cache > Cache, pestaña Excludes:
- Do Not Cache URIs: direcciones que nunca deben estar en la caché, una por línea. Añádalas si dio otro nombre a las páginas de la tienda (por ejemplo,
/cesta/), si un plugin de traducción crea direcciones propias (como/de/warenkorb/), o para el formulario de desistimiento dentro de Mi cuenta. - Do Not Cache Cookies: cookies por las que una página no se sirve desde la caché. Sea cuidadoso aquí: una cookie presente en cada página desactiva la caché de todo su sitio.
No añada además una segunda capa que lo cachee todo. Una CDN con una regla como "cache everything" ignora las cabeceras de WooCommerce; excluya allí también las páginas de la tienda y las cookies.
Caché de objetos con Redis
El carrito de la compra y el proceso de pago siempre se reconstruyen desde la base de datos. Una caché de objetos guarda resultados de base de datos muy utilizados en memoria, y eso ayuda precisamente en una tienda. Redis está incluido en Power Webhost Three, Power Webhost Four y Power Reseller. Active Redis en DirectAdmin, active la extensión PHP redis, y elija en LiteSpeed Cache, en Cache, pestaña Object, el método Redis con la ruta al socket. Todos los pasos están en Redis. Si varios sitios de su paquete utilizan Redis, asigne a cada sitio su propio ID de base de datos Redis.
Comprobar que está bien configurado
Abra su sitio en una ventana privada, pulse F12, elija la pestaña Red, recargue la página y haga clic en la primera solicitud.
- Página de inicio o página de producto, cárguela dos veces: en la segunda vez aparece
x-litespeed-cache: hit. - Carrito de la compra, finalizar compra y Mi cuenta: sin hit, pero con
x-litespeed-cache-control: no-cachey uncache-controlconno-cache. - Añada un producto al carrito y abra una página de producto: verá su propio carrito, no una versión guardada.
Lo que la caché no soluciona
Si su tienda sigue siendo lenta con mucho tráfico, revise también si tiene una versión de PHP actualizada, menos plugins y las acciones programadas de WooCommerce. Una larga lista de acciones fallidas ralentiza la base de datos; consulte Estado de WooCommerce y Acciones programadas: detectar problemas.
Más información
- Curso gratuito de WordPress, lección 6.2 Caching
- LiteSpeed Cache: los ajustes de la pestaña Cache (en inglés)
- WooCommerce: configurar plugins de caché (en inglés)
