Ir al contenido principal
Versión: 1.x

Checkout lento y almacenamiento de pedidos (HPOS)

El síntoma: el checkout en WCPOS tarda varios segundos y se ha ido ralentizando con el tiempo.

Una causa habitual es la forma en que WooCommerce almacena sus pedidos. En esta página se explica cómo comprobarlo y cómo cambiar a la opción más rápida con la herramienta propia de WooCommerce.

Por qué el almacenamiento de pedidos heredado ralentiza el checkout​

Con el almacenamiento heredado, WooCommerce guarda los pedidos junto con las entradas de WordPress, donde no hay una forma rápida de encontrar un pedido por el ID que le asigna WCPOS. Por eso, cada vez que WCPOS guarda un pedido, tiene que buscarlo registro por registro en su tienda, y esa búsqueda tarda más a medida que crece la tienda.

WooCommerce guarda los pedidos en sus propias tablas mediante Almacenamiento de pedidos de alto rendimiento (HPOS), donde la misma búsqueda es casi instantánea.

En una tienda que medimos (30.000 productos y almacenamiento heredado), cada búsqueda tardaba unos 0,46 segundos y cada checkout realizaba unas dos búsquedas. Con HPOS, la misma búsqueda tardó 1 milisegundo. Los resultados variarán según la tienda, pero cuanto más grande sea, más probable es que la mejora sea notable.

Qué admite WCPOS​

  • HPOS es totalmente compatible y es la opción que recomendamos.
  • El almacenamiento heredado sigue funcionando. No se estropea nada; el checkout solo es más lento en tiendas grandes.

Compruebe qué almacenamiento utiliza su tienda​

  1. En el panel de administración de WordPress, vaya a WooCommerce → Ajustes → Avanzado → Funcionalidades.
  2. Busque Almacenamiento de datos de pedidos:
    • Si está seleccionada la opción Almacenamiento de pedidos de alto rendimiento (recomendado), ya utiliza HPOS, así que esta no es la causa. Consulte Otras causas del checkout lento.
    • Si está seleccionada la opción Almacenamiento en las entradas de WordPress (heredado), cambiar a HPOS debería acelerar el checkout. Siga leyendo.

Cambiar a HPOS​

WooCommerce se encarga de mover los pedidos. Primero los copia en las tablas nuevas (la sincronización) y después se cambia la opción. WooCommerce no permitirá cambiarla hasta que termine la copia.

Haga una copia de seguridad primero

Haga una copia de seguridad completa del sitio y de la base de datos antes de empezar, y compruebe que puede restaurarla. Si tiene un sitio de pruebas, pruebe allí el cambio primero.

  1. Vaya a WooCommerce → Ajustes → Avanzado → Funcionalidades.
  2. Marque Activar el modo de compatibilidad y haga clic en Guardar los cambios. WooCommerce empezará a copiar los pedidos en segundo plano. En una tienda grande, el proceso puede tardar; el progreso aparece debajo de la casilla. Si indica que los pedidos no están sincronizados y no ocurre nada, haga clic en Sincronizar pedidos ahora.
  3. Cuando termine la copia, seleccione Almacenamiento de pedidos de alto rendimiento (recomendado) y haga clic en Guardar los cambios.
  4. Mantenga activado el modo de compatibilidad durante un tiempo. Este mantiene sincronizadas las dos copias de los pedidos, para que pueda volver atrás de inmediato si algo sale mal. Aproveche este tiempo para comprobar los demás plugins y realizar algunas ventas de prueba en WCPOS.
  5. Cuando todo esté correcto, desmarque Activar el modo de compatibilidad y haga clic en Guardar los cambios.
Si la opción HPOS aparece atenuada

WooCommerce bloquea el cambio mientras haya algún plugin activo marcado como incompatible con HPOS. En la página Funcionalidades aparece una advertencia que indica cuáles son esos plugins, con un enlace Ver y gestionar. Actualícelos o consulte a sus desarrolladores sobre la compatibilidad con HPOS antes de cambiar la opción.

Para obtener todos los detalles, consulte la guía de WooCommerce: Almacenamiento de pedidos de alto rendimiento.

Otras causas del checkout lento​

El almacenamiento de pedidos no es lo único que ralentiza el checkout. Si ya utiliza HPOS o el checkout sigue lento después del cambio, compruebe lo siguiente: