WooCommerce en México: Configuración Completa con Pagos Locales
WooCommerce es la plataforma de ecommerce más usada en México, pero su configuración por defecto no está lista para el mercado local: falta integración con facturación electrónica SAT, pasarelas de pago mexicanas y configuración de envíos nacionales. Esta guía técnica cubre la instalación completa orientada al mercado mexicano.
Instalación y configuración base con WP-CLI
# Instalar WooCommerce
wp plugin install woocommerce --activate --path=/home/usuario/public_html --allow-root
# Configurar opciones básicas para México
wp option update woocommerce_store_address "Av. Insurgentes Sur 1234" --path=/home/usuario/public_html --allow-root
wp option update woocommerce_store_city "Ciudad de México" --path=/home/usuario/public_html --allow-root
wp option update woocommerce_default_country "MX:CDMX" --path=/home/usuario/public_html --allow-root
wp option update woocommerce_currency "MXN" --path=/home/usuario/public_html --allow-root
wp option update woocommerce_currency_pos "left_space" --path=/home/usuario/public_html --allow-root
wp option update woocommerce_price_decimal_sep "." --path=/home/usuario/public_html --allow-root
wp option update woocommerce_price_thousand_sep "," --path=/home/usuario/public_html --allow-root
Integración con Conekta (pasarela de pago mexicana)
# Instalar plugin oficial de Conekta
wp plugin install conekta-woocommerce --activate --path=/home/usuario/public_html --allow-root
# Configurar llaves API de Conekta (modo sandbox primero)
wp option update woocommerce_conekta_settings '{"enabled":"yes","testmode":"yes","private_key":"key_test_XXXXXXX","public_key":"key_test_XXXXXXX"}' --format=json --path=/home/usuario/public_html --allow-root
Configurar impuestos IVA 16% para México
# Habilitar cálculo de impuestos
wp option update woocommerce_calc_taxes "yes" --path=/home/usuario/public_html --allow-root
# Crear tasa de IVA 16% para México vía PHP
wp eval '
global $wpdb;
$wpdb->insert(
$wpdb->prefix . "woocommerce_tax_rates",
array(
"tax_rate_country" => "MX",
"tax_rate" => "16.0000",
"tax_rate_name" => "IVA",
"tax_rate_priority" => 1,
"tax_rate_compound" => 0,
"tax_rate_shipping" => 1,
"tax_rate_order" => 0,
"tax_rate_class" => ""
)
);
echo "Tasa IVA creada con ID: " . $wpdb->insert_id;
' --path=/home/usuario/public_html --allow-root
Configurar envíos nacionales con zonas de México
# Crear zonas de envío para México vía WP-CLI eval
wp eval '
$zone = new WC_Shipping_Zone();
$zone->set_zone_name("Mexico Nacional");
$zone->set_zone_order(1);
$zone->save();
// Agregar México como país a la zona
$zone->add_location("MX", "country");
// Agregar método de envío: tarifa fija
$instance_id = $zone->add_shipping_method("flat_rate");
$option_key = "woocommerce_flat_rate_" . $instance_id . "_settings";
update_option($option_key, [
"enabled" => "yes",
"title" => "Envío Estándar",
"tax_status" => "taxable",
"cost" => "149",
"class_costs" => "",
]);
echo "Zona y método de envío creados correctamente.";
' --path=/home/usuario/public_html --allow-root
Optimización de rendimiento de WooCommerce
WooCommerce añade decenas de queries MySQL en cada carga. La configuración correcta puede reducirlo en un 60%:
// En wp-config.php: configuración específica para WooCommerce
define('WC_LOG_DIR', '/tmp/wc-logs/'); // Mover logs fuera del webroot
// En functions.php del tema hijo:
// 1. Desactivar fragmentos de carrito AJAX en páginas sin tienda
add_action('wp_enqueue_scripts', function() {
if (!is_woocommerce() && !is_cart() && !is_checkout()) {
wp_dequeue_script('wc-cart-fragments');
wp_dequeue_script('woocommerce');
wp_dequeue_script('wc-add-to-cart');
}
}, 99);
// 2. Limitar revisiones de productos
add_filter('wp_revisions_to_keep', function($num, $post) {
return $post->post_type === 'product' ? 3 : $num;
}, 10, 2);
# Limpiar datos de WooCommerce acumulados
wp wc tool run clear_sessions --allow-root --path=/home/usuario/public_html --user=admin
wp wc tool run delete_orphaned_variations --allow-root --path=/home/usuario/public_html --user=admin
# Ver logs de transacciones (últimas 50)
tail -50 ~/public_html/wp-content/uploads/wc-logs/woocommerce-$(date +%Y-%m-%d).log
wp_posts, lo que mejora drásticamente las consultas de reportes.
Configurar correos transaccionales de WooCommerce
# Instalar WP Mail SMTP para correos confiables
wp plugin install wp-mail-smtp --activate --path=/home/usuario/public_html --allow-root
# Verificar que los correos se envían correctamente
wp eval 'wp_mail("test@tudominio.com", "Test WooCommerce", "Correo de prueba");' --path=/home/usuario/public_html --allow-root
# Ver cola de correos pendientes
wp eval 'print_r(wp_mail_log_get());' --path=/home/usuario/public_html --allow-root 2>/dev/null || true
| Pasarela de pago | Comisión por transacción | Métodos | Integración WooCommerce |
|---|---|---|---|
| Conekta | 2.9% + $3 MXN | Tarjetas, OXXO, SPEI | Plugin oficial gratuito |
| Stripe México | 3.6% + $3 MXN | Tarjetas, Google/Apple Pay | Plugin oficial gratuito |
| Mercado Pago | 2.99% estándar | Tarjetas, efectivo, SPEI | Plugin oficial gratuito |
| PayPal | 3.4% + tarifa fija | PayPal, tarjetas | Plugin WooCommerce oficial |
| OpenPay (BBVA) | 2.4% tarjeta / OXXO: $10 | Tarjetas, OXXO, cargo a banco | Plugin disponible en repo |
Escenarios Prácticos: WooCommerce para el Mercado Mexicano
Escenario 1 — Tienda de ropa infantil configurando su primera tienda: Configuración esencial para México: moneda MXN, impuestos con IVA 16%, métodos de envío con Estafeta y Fedex México, y pasarelas de pago locales:
// Agregar configuración de IVA Mexico via código (wp-config.php o functions.php)
// WooCommerce > Ajustes > Impuestos > Agregar tasa
// País: MX, Estado: *, Código postal: *, Ciudad: *
// Tasa: 16, Nombre: IVA, Prioridad: 1, Compuesto: No, Envío: Si
// Configurar moneda MXN y separadores
add_filter('woocommerce_currency', function() { return 'MXN'; });
add_filter('woocommerce_price_thousand_separator', function() { return ','; });
add_filter('woocommerce_price_decimal_separator', function() { return '.'; });
add_filter('woocommerce_price_num_decimals', function() { return 2; });
// Mostrar precios con símbolo de peso: $1,500.00 MXN
add_filter('woocommerce_currency_symbol', function($symbol, $currency) {
if ($currency === 'MXN') return '$';
return $symbol;
}, 10, 2);
Escenario 2 — Distribuidor B2B configurando precios por volumen: WooCommerce con plugin "Wholesale Prices" para mostrar precios diferenciados según el rol del usuario (distribuidor vs consumidor final). Los distribuidores ven precios netos sin IVA; el consumidor ve precio con IVA incluido.
Errores Comunes en WooCommerce México
| Error | Consecuencia | Causa | Solución |
|---|---|---|---|
| Sin CFDI en checkout | Clientes solicitan factura manual | Sin integración SAT | Instalar plugin CFDI para WooCommerce |
| IVA no configurado | Precios sin impuesto = problemas legales | Tienda nueva sin configurar taxes | Configurar tasa de IVA 16% en WooCommerce > Impuestos |
| Sin OXXO Pay | Perder 40% de clientes sin tarjeta | Solo tarjeta configurada | Agregar Conekta con OXXO habilitado |
| Envío gratis sin condición | Margen negativo por envíos | Sin límite de monto para envío gratis | Envío gratis condicional: mínimo $500-1000 MXN |
| Sin página de seguimiento | Cliente llama para preguntar por pedido | Sin integración con paquetería | Plugin Aftership para tracking automático por email |
Preguntas Frecuentes sobre WooCommerce en México
¿Qué pasarela de pago funciona mejor en WooCommerce México?
Conekta es la más completa: tarjetas (VISA, MC, AMEX), OXXO Pay, transferencia SPEI, MSI (meses sin intereses). Mercado Pago tiene mejor reconocimiento de marca. Para ambas existe plugin oficial para WooCommerce. PayPal: solo para clientes con cuenta PayPal o tarjeta internacional. Para tienda nueva: empieza con Mercado Pago (aprobación inmediata) y agrega Conekta cuando crezcas.
¿Cómo configuro meses sin intereses (MSI) en WooCommerce?
Conekta y Mercado Pago ofrecen MSI. En Conekta, activas las mensualidades en el panel de administración y defines los meses disponibles (3, 6, 9, 12). El banco emisor de la tarjeta absorbe el costo del financiamiento; la tienda recibe el pago completo de inmediato. Las comisiones con MSI son ligeramente más altas (~3.5% vs 2.9% sin MSI). MSI aumenta el ticket promedio 25-40%.
¿Cómo integrar envíos con Estafeta y DHL en WooCommerce?
Estafeta tiene API oficial con plugin para WooCommerce (versión gratuita y premium). DHL Express también tiene integración oficial. Para integrar, necesitas cuenta empresarial con cada paquetería, credenciales de API, y el plugin correspondiente. Las tarifas se calculan automáticamente por peso, dimensiones y código postal de destino.
¿Cuántos productos puede manejar WooCommerce eficientemente?
WooCommerce maneja hasta 10,000-50,000 productos con buen rendimiento en VPS adecuado (4 GB RAM, NVMe, PHP 8.2). Con más de 50,000 productos, considera optimizaciones: paginación eficiente, índices en base de datos, caché de consultas de productos. Magento o Shopify Plus son alternativas si superas 100,000 SKUs con actualizaciones frecuentes de precios y stock.
¿Cómo proteger WooCommerce de fraudes en México?
Activa el motor antifraude de Conekta o Mercado Pago (incluido sin costo). Agrega CAPTCHA en el checkout (hCaptcha o Cloudflare Turnstile). Implementa 3D Secure para todas las transacciones. Configura reglas de velocidad: bloquear más de 3 intentos de pago fallidos por IP en 10 minutos. Revisa manualmente pedidos con monto alto o dirección de envío diferente a la del titular de la tarjeta.
📚 Profundiza en estos temas
- Crear una tienda en línea en México: plataformas y costos reales
- SSL obligatorio para WooCommerce: cómo instalar HTTPS gratis
- Optimizar la velocidad de WooCommerce para mejorar la conversión
- Seguridad en WooCommerce: proteger datos de clientes y tarjetas
- Backup de WooCommerce: productos, pedidos y datos de clientes
Fundador de VacaWeb con más de 15 años administrando infraestructura Linux en producción. Especialista en LiteSpeed, CloudLinux, cPanel/WHM y arquitectura de hosting de alto rendimiento para el mercado mexicano. Ha diseñado y migrado la infraestructura de más de 1,200 sitios web empresariales.