HPOS (High-Performance Order Storage) es el nuevo sistema de almacenamiento de pedidos de WooCommerce, y aunque ya lleva tiempo entre nosotros son muchas aún las dudas y desconocimiento que hay sobre este sistema de optimización de las tablas de una tienda online, así que aquí tienes una guía para cualquier nivel de conocimientos, con dudas habituales y procedimientos de migración y limpieza.
¿Qué tablas usa HPOS y dónde se almacena todo tras activarlo?
- HPOS usa tablas personalizadas para pedidos:
wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data, wp_wc_order_meta.
- Los pedidos nuevos tras activar HPOS se almacenan en esas tablas.
- Los pedidos antiguos permanecen en
wp_posts y wp_postmeta hasta que los migras.
¿Qué pasa si desactivo el modo de compatibilidad?
- El modo de compatibilidad guarda pedidos en ambas ubicaciones (clásicas y nuevas).
- Si lo desactivas, los pedidos solo se guardarán en HPOS.
- Los plugins no compatibles con HPOS pueden dejar de funcionar correctamente.
- Solo desactívalo si tus plugins y personalizaciones son compatibles con HPOS.
¿Se puede limpiar las tablas estándar tras actualizar HPOS?
- Sí, pero solo si trabajas 100% con HPOS y tienes copia de seguridad a la que volver en caso de detectar algún problema (pérdida de pedidos o datos en pedidos)
- Se pueden eliminar los pedidos y metadatos antiguos de
wp_posts y wp_postmeta.
- Hay que hacerlo manualmente o con scripts seguros.
Otras dudas habituales sobre HPOS
- ¿Qué pasa si un plugin no es compatible? Puede fallar con los pedidos. WooCommerce suele avisar en el admin.
- ¿Cómo saber si HPOS está activo? Revisa WooCommerce → Ajustes → Avanzado → Características, o busca tablas como
wp_wc_orders en la base de datos.
- ¿Puedo volver atrás tras activar HPOS? Sí, pero los pedidos solo en HPOS tendrás que migrarlos si vuelves al sistema clásico.
- ¿Cómo migrar pedidos antiguos? Desde WooCommerce → Ajustes → Avanzado → Características, y activa HPOS, la migración empezará automáticamente, aunque sea en el modo de compatibilidad.
- ¿Afecta HPOS al rendimiento? Sí, mejora mucho el rendimiento en tiendas con muchos pedidos.
- ¿HPOS afecta solo a pedidos? Sí, clientes y productos siguen en las tablas estándar.
- ¿Se puede usar HPOS en multisitio? Sí, pero debes activarlo sitio por sitio.
Procedimiento para migrar pedidos a HPOS
- Haz copia de seguridad (archivos + base de datos).
- Activa HPOS en modo compatibilidad: WooCommerce → Ajustes → Avanzado → Características.
- Verifica que todo funcione bien (pedidos de prueba, plugins compatibles).
- Comprueba los registros y errores tras la migración.
- Desactiva la compatibilidad solo si todo funciona y tus plugins son compatibles con HPOS.
Procedimiento para vaciar tablas antiguas y usar solo HPOS
¡OJO! Realiza copia de seguridad completa de tu web y la base de datos antes de usar este código. Úsalo solo si tienes HPOS funcionando sin problemas, y no necesitas las tablas de pedidos antiguas.
/* Vaciar metadatos pedidos clásicos y usar solo HPOS */
add_action( 'admin_init', function() {
// Solo ejecutar si el usuario es admin y pasa un parámetro de seguridad
if (
current_user_can( 'manage_woocommerce' ) &&
isset( $_GET['ayudawp_borrar_pedidos_clasicos'] ) &&
$_GET['ayudawp_borrar_pedidos_clasicos'] === 'yes'
) {
global $wpdb;
// 1. Borrado de metadatos de los pedidos clásicos
$order_ids = $wpdb->get_col( "
SELECT ID FROM {$wpdb->posts}
WHERE post_type IN ('shop_order', 'shop_order_refund')
" );
if ( $order_ids ) {
$ids = implode( ',', array_map( 'intval', $order_ids ) );
$wpdb->query( "DELETE FROM {$wpdb->postmeta} WHERE post_id IN ($ids)" );
}
// 2. Borrado de los pedidos del sistema clásico
$wpdb->query( "
DELETE FROM {$wpdb->posts}
WHERE post_type IN ('shop_order', 'shop_order_refund')
" );
// 3. Mensaje de confirmación
wp_die( 'Pedidos clásicos eliminados COMPLETAMENTE. Recuerda borrar el código que has usado para esta acción cuando hayas terminado.' );
}
} );
¡IMPORTANTE! – ¿Cómo usar el código?
- Añade el código en un plugin personalizado, MU plugin o como snippet.
- Accede como admin a:
tusitio.com/wp-admin/?ayudawp_borrar_pedidos_clasicos=yes
- El proceso borra pedidos clásicos y sus metadatos.
- Borra el código después de que se ejecute para evitar usos accidentales.
Lista de comprobación para migración y limpieza HPOS
| ☑️ |
Haz copia de seguridad completa (archivos + base de datos). |
| ☑️ |
Activa HPOS en modo compatibilidad desde ajustes avanzados de WooCommerce. |
| ☑️ |
Verifica funcionamiento (pedidos de prueba, compatibilidad de plugins). |
| ☑️ |
Ejecuta la migración de pedidos antiguos a HPOS desde WooCommerce → Ajustes → Avanzado → Herramientas, activando HPOS. |
| ☑️ |
Revisa registros de errores y confirma que todos los pedidos se han migrado correctamente. |
| ☑️ |
Desactiva el modo de compatibilidad solo si todo está correcto y todos los plugins son compatibles con HPOS. |
| ☑️ |
Realiza limpieza de pedidos antiguos (opcional, avanzado, solo tras confirmar que todo va bien y tienes copia de seguridad). |
| ☑️ |
Optimiza y revisa el rendimiento general de la tienda. |
Tablas resumen sobre el almacenamiento de alto rendimiento (HPOS) de WooCommerce
Comparativa de almacenamiento de pedidos
| Característica |
Sistema clásico |
Sistema HPOS |
| Tablas usadas |
wp_posts, wp_postmeta |
wp_wc_orders, wp_wc_order_meta, etc. |
| Rendimiento en tiendas grandes |
Malo |
Excelente |
| Compatibilidad plugins antiguos |
Máxima |
Depende del plugin |
| Limpieza de datos tras migración |
No es necesario |
Recomendable |
| Migración fácil |
No procede |
Sí, herramienta oficial |
| Reversible |
SÍ |
SÍ |
Estados tras activar HPOS
| Estado HPOS |
Dónde se almacenan los pedidos |
Recomendado para… |
| Sólo sistema clásico |
wp_posts, wp_postmeta |
Tiendas antiguas, plugins viejos |
| Modo compatibilidad (dual) |
Ambas (clásico + HPOS) |
Migración, plugins no actualizados |
| Sólo HPOS |
Sólo tablas HPOS |
Máximo rendimiento y compatibilidad |
Resumen de pasos de migración y limpieza
| Paso |
¿Es obligatorio? |
¿Se puede deshacer? |
¿Es seguro para principiantes? |
| Hacer copia de seguridad |
SÍ |
NO |
SÍ |
| Activar HPOS modo dual |
SÍ |
Sí |
SÍ |
| Migrar pedidos |
SÍ |
Sí (con backup) |
SÍ |
| Desactivar compatibilidad |
Opcional |
SÍ |
SÍ (si los plugins son compatibles) |
| Limpiar tablas antiguas |
Opcional |
NO |
NO (avanzado) |
Enlaces útiles para ampliar conocimientos
Recursos oficiales recomendados
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!