El almacenamiento de pedidos de alto rendimiento, o HPOS, de WooCommerce es una funcionalidad que viene a solucionar el viejo problema de que todos los plugins almacenen su información en las tablas de entradas de WordPress, las famosas tablas wp_posts y wp_postmeta.
Hace ya varias versiones que es posible utilizar el almacenamiento de pedidos de alto rendimiento de WooCommerce, sobre todo desde que la mayoría de los plugins se han puesto las pilas para ser compatibles con esta funcionalidad, pero la pregunta es ¿debería activar el HPOS?, es más, ¿se nota en algo en el rendimiento de mi tienda online?
Pero antes…
¿Dónde se activa el almacenamiento de pedidos de alto rendimiento (HPOS) de WooCommerce?
Para activar esta funcionalidad solo tienes que ir a los ajustes de características avanzadas de WooCommerce, ahí lo tienes.
Si la tienda online no es nueva tendrás primero que realizar una sincronización de los pedidos existentes antes de poder activar el HPOS.
Cuando se hayan sincronizado los pedidos ya puedes activar el almacenamiento de pedidos de alto rendimiento.
¿Mejora el rendimiento de WooCommerce activar el almacenamiento de pedidos de alto rendimiento?
Veamos lo que dicen las pruebas de rendimiento…
Las pruebas se realizaron en una web de test, con alrededor de 400.000 pedidos y 30.000 productos, con la caché del servidor activa, en concreto Memcached, pero ningún plugin de optimizaciones instalado, la tabla wp_postmeta de aproximadamente 2 GB (con 1,4 millones de filas) y el tamaño de la tabla wp_posts de aproximadamente 240 MB (600.000 filas).
Los resultados fueron estos:
- Creación de pedidos : el tiempo para crear 1.000 pedidos fue de 15,18 segundos cuando se usó HPOS, 5 veces más rápido que con la tabla de entradas.
- Pago de pedidos : el tiempo para procesar 10 pagos con HPOS fue de 0,99 segundos, un aumento de 1,5 veces en el rendimiento.
- Buscar pedidos mediante metadatos : llevó 0,05 segundos buscar 1.000 pedidos por metadatos a través de HPOS, una mejora 10 veces mayor que las tablas de entradas.
- Nota : Con el acceso para añadir índices a la tabla meta de pedidos, la búsqueda de datos en comparación con la tabla de entradas es más rápida; sin embargo, los índices ralentizan la velocidad de Internet. Sin embargo, debido a los resultados de las otras pruebas, este pequeño aumento en el rendimiento sigue siendo un resultado positivo.
- Filtrado por una columna indexada : con su estructura de metadatos mejorada, HPOS puede usar el índice de
customer_idpara filtrar 1.000 pedidos de clientes en solo 0,15 segundos, 40 veces más rápido que con la tabla de publicaciones. - Buscar pedidos mediante columnas no indexadas : aunque los desarrolladores aún esperan algunas mejoras en esta sección, HPOS filtró los pedidos en 0,29 segundos, 3 veces más rápido que la tabla de publicaciones.
Por resumir, queda claro que el almacenamiento de pedidos de alto rendimiento mejora en mucho varios procesos de gestión y manejo de pedidos, liberando recursos de la base de datos, su motor, y consultas del sitio.
Si tenías alguna duda de si activar ya o no HPOS espero haberlas resuelto 😉
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!









Gran aporte y sobre todo los datos de las pruebas realizadas
Muchas gracias!!
Saludos cordiales!
Creo que antes de activar HPOS no solo es necesario que los plugins instalados sean compatibles sino incluso nuestras propias funciones personalizadas que hemos agregado y que no aparecerán en el reporte de incompatibilidades. En mi caso he usado mucho funciones que apuntan a las tablas wp_post y wp_postmeta (como get_post_meta) que aun no he comprobado si continuarán funcionando correctamente. Fernando ¿tienes información al respecto?
Luis
Las funciones son plugins y los plugins son funciones, hay que aplicar el mismo criterio que explico aquí: WooCommerce ha detectado que algunos de tus plugins activos son incompatibles con las características de WooCommerce que están activas en este momento
Hola Fernando!
Actualmente, el único plugin que me aparece incompatible con HPOS es «WC Cancel Order». Ya somos dos personas las que le hemos preguntado por soporte a ver cuándo van a confirmar la compatibilidad, pero no tengo claro que vayan a contestar en breve porque tienen tickets abiertos de hace un par de meses…
Mi pregunta es si conoces alguno que haga lo mismo (a ser posible gratuito) y que ya sea compatible.
Gracias de antemano por todo.
¿probaste con esto? https://ayudawp.com/clientes-cancelar-pedidos-woocommerce/
Anda! Pues la verdad es que no. Me lo guardo y mañana lo pruebo a ver si va todo ok y te comento. Y encima un plugin menos. Qué bien.
Muchas gracias, Fernando.
Todo perfecto y con el HPOS funcionando.
Gracias Fernando!
Me alegro 🙂
Fer en una instalación que tiene un plugin de estos que le permite al comprador aplazar la compra, sale incompatible con esta opción. ( Aplazame) Es una instalación nueva, no tiene pedidos todavía.
¿Alguna sugerencia?
Gracias!
Contacta con Aplazame, son muy activos en su plugin, lo tienen en GitHub.
hola fernando espero que este muy bien tengo un problema no me deja activar esta opcion y no tengo alguna alerta de plugin incompatible, sabes si hay alguna solucion sobre esto
https://prnt.sc/0x13TFlWcYeH
Muy buenas!
La checkbox de compatibilidad hay que dejarla marcada? ¿qué hace exactamente?
Hola Fernando, activado recientemente, ya que uno de mis plugin me lo impedia hasta que el desarrollador del mismo actualizó.
Pero mi base de datos ha pasado de 400 a 700 MB, supongo y tiene que ser más que evidente, por las nuevas tablas creadas por WC.
¿Deberíamos eliminar las antiguas donde se guardaban los pedidos en WP?
Si es que se puede claro está, porque igual la pregunta que he formulado es un disparate.
Gracias de antemano.
Uy no, que las antiguas las usa WordPress
No me deja instalar yoast premium por que me dice que es incompatible con esta característica de woocomerce, me podeis ayudar?
Deberías hablar con el soporte de Yoast, con la versión premium te deberían ayudar 😉