WordPress Hosting

todo sobre hpos de woocommerce guía definitiva

Dudas habituales, incluso razonables, sobre el HPOS de WooCommerce

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

  1. Haz copia de seguridad (archivos + base de datos).
  2. Activa HPOS en modo compatibilidad: WooCommerce → Ajustes → Avanzado → Características.
  3. Verifica que todo funcione bien (pedidos de prueba, plugins compatibles).
  4. Comprueba los registros y errores tras la migración.
  5. 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?

  1. Añade el código en un plugin personalizado, MU plugin o como snippet.
  2. Accede como admin a: tusitio.com/wp-admin/?ayudawp_borrar_pedidos_clasicos=yes
  3. El proceso borra pedidos clásicos y sus metadatos.
  4. 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

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 NO
Activar HPOS modo dual
Migrar pedidos Sí (con backup)
Desactivar compatibilidad Opcional SÍ (si los plugins son compatibles)
Limpiar tablas antiguas Opcional NO NO (avanzado)

Enlaces útiles para ampliar conocimientos

Recursos oficiales recomendados

Compartir en redes
Resumir con IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 5

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!



Sobre el autor

Scroll al inicio