Por qué se rompen las webs al actualizar WordPress
Actualizar WordPress no es pulsar un botón. Es gestionar la compatibilidad entre tres capas independientes que no se coordinan entre sí:
- WordPress core: lanza versiones sin garantizar compatibilidad con todos los plugins del ecosistema
- Plugins: cada plugin actualiza en su propio ciclo, sin comunicación con otros plugins
- Temas: constructores como Elementor o Divi tienen dependencias con plugins específicos que pueden romperse
Los conflictos más comunes que causan roturas:
- Elementor + Elementor Pro desincronizados (actualizar uno sin el otro)
- WooCommerce + pasarela de pago (Redsys, Stripe) con API incompatible
- Plugin de caché + constructores de página (W3TC con Elementor suele dar problemas)
- PHP 8.x rompiendo plugins que solo soportan PHP 7.x
- WordPress 6.x y funciones deprecadas que plugins viejos siguen usando
La solución no es no actualizar. Es actualizar con un proceso que permita detectar y revertir el conflicto antes de que afecte a usuarios reales.
El proceso profesional en 6 pasos
Este es el proceso que aplica cualquier agencia seria. Sin staging, el proceso se simplifica pero el riesgo aumenta.
Paso 1 — Backup completo antes de empezar
# Backup BBDD
wp db export backup-pre-update-$(date +%Y%m%d-%H%M).sql --allow-root
# Backup archivos
tar -czf backup-files-$(date +%Y%m%d-%H%M).tar.gz \
--exclude='wp-content/cache' \
/var/www/tudominio/
# Verificar que los backups se crearon correctamente
ls -lh backup-*.sql backup-*.tar.gzPaso 2 — Activar modo mantenimiento
wp maintenance-mode activate --allow-root
# Verifica en el navegador que muestra la página de mantenimiento
curl -s -o /dev/null -w "%{http_code}" https://tudominio.comPaso 3 — Ver qué tiene actualizaciones pendientes
# Resumen de actualizaciones disponibles
wp core check-update --allow-root
wp plugin list --update=available --format=table --allow-root
wp theme list --update=available --format=table --allow-root
# Ver changelogs antes de actualizar
wp plugin get elementor --field=changelog --allow-root | head -30Paso 4 — Actualizar en orden correcto
# 1. Primero core
wp core update --allow-root
wp core update-db --allow-root
# 2. Luego plugins (importante: Elementor y Elementor Pro juntos)
wp plugin update elementor elementor-pro --allow-root
wp plugin update woocommerce --allow-root
wp plugin update --all --allow-root
# 3. Luego temas
wp theme update --all --allow-root
# 4. Traducciones
wp language core update --allow-root
wp language plugin update --all --allow-rootPaso 5 — Verificar la web
Antes de desactivar mantenimiento, revisa manualmente desde otro navegador o dispositivo en modo incógnito:
- Homepage: carga correctamente sin errores visibles
- Menú de navegación: funciona en desktop y móvil
- Formulario de contacto: envía correctamente
- Si hay tienda: página de producto, carrito y checkout
- Panel wp-admin: carga sin errores PHP
Paso 6 — Desactivar mantenimiento y limpiar caché
wp maintenance-mode deactivate --allow-root
wp rocket clean --confirm --allow-root 2>/dev/null || wp cache flush --allow-root
wp rewrite flush --hard --allow-root
Staging: testear antes de tocar producción
Un entorno de staging es una copia exacta de tu web donde testeas las actualizaciones antes de aplicarlas en producción. Si algo se rompe en staging, lo arreglas ahí sin que nadie lo vea.
Opciones para crear staging
| Método | Dificultad | Coste |
|---|---|---|
| Hosting con staging integrado (Kinsta, WP Engine, SiteGround) | Fácil (1 clic) | Incluido en el plan |
| Plugin WP Stagecoach | Media | 9$/mes |
| Plugin WP Staging | Media | Gratis / 99$/año Pro |
| Subdominio manual + WP-CLI | Avanzado | 0€ |
| Local (LocalWP) | Fácil | Gratis |
Crear staging manual con WP-CLI
# 1. Crear directorio del staging
mkdir -p /var/www/staging.tudominio.com
# 2. Copiar archivos
rsync -av --exclude='wp-content/cache/' \
/var/www/tudominio/ /var/www/staging.tudominio.com/
# 3. Crear base de datos del staging
mysql -u root -p -e "CREATE DATABASE wordpress_staging;"
# 4. Exportar e importar BBDD
wp db export - --allow-root --path=/var/www/tudominio/ | \
mysql -u root -p wordpress_staging
# 5. Actualizar wp-config.php del staging
wp config set DB_NAME 'wordpress_staging' \
--allow-root --path=/var/www/staging.tudominio.com/
# 6. Actualizar URLs
wp search-replace 'https://tudominio.com' 'https://staging.tudominio.com' \
--allow-root --path=/var/www/staging.tudominio.com/
Rollback: cómo revertir una actualización rota
Si algo se rompe después de actualizar, estos son los métodos de rollback, de más rápido a más completo:
Opción 1 — Desactivar el plugin que rompió algo
# Si sabes qué plugin causó el problema
wp plugin deactivate nombre-plugin --allow-root
# O desactivar el último plugin actualizado
wp plugin list --format=table --allow-rootOpción 2 — Revertir un plugin a versión anterior
# Instalar una versión específica (busca el slug en wordpress.org)
wp plugin install elementor --version=3.18.0 --force --allow-root
# Para plugins premium, necesitas descargar el ZIP de la versión anterior
# y subirlo via FTP o WP-CLI
wp plugin install /ruta/al/elementor-pro-3.18.0.zip --force --allow-rootOpción 3 — Restaurar backup completo
# Restaurar BBDD desde backup (método WP-CLI)
wp db reset --yes --allow-root
wp db import backup-pre-update-20260523-0300.sql --allow-root
# Restaurar archivos (si los archivos también cambiaron)
cd /var/www/
tar -xzf /ruta/backup-files-20260523-0300.tar.gz
# Limpiar caché después del restore
wp cache flush --allow-root
wp rewrite flush --hard --allow-rootOpción 4 — Restaurar desde UpdraftPlus
wp-admin > Ajustes > UpdraftPlus > Copias de Seguridad Existentes > selecciona el backup anterior > Restaurar. Marca: plugins, temas, uploads, BBDD. Duración: 5–15 minutos dependiendo del tamaño.
Actualizaciones automáticas en WordPress: cuándo activarlas
WordPress permite configurar actualizaciones automáticas. No las actives todas sin criterio.
Qué activar automáticamente
# En wp-config.php:
// SÍ: actualizaciones de seguridad menores (ej: 6.4.1 -> 6.4.2)
define('WP_AUTO_UPDATE_CORE', 'minor');
// NO: actualizaciones mayores automáticas (demasiado riesgo)
// define('WP_AUTO_UPDATE_CORE', true); // No recomendado en producciónO via WP-CLI:
# Activar auto-updates solo para seguridad del core
wp config set WP_AUTO_UPDATE_CORE minor --allow-root
# Activar auto-updates para plugins individuales de bajo riesgo
wp plugin auto-updates enable wordfence --allow-root
wp plugin auto-updates enable updraftplus --allow-rootTabla de decisión: auto-update sí/no
| Elemento | Auto-update | Motivo |
|---|---|---|
| WordPress core (security release) | Sí | Crítico, bajo riesgo de rotura |
| WordPress core (major release) | No | Puede romper plugins |
| Plugins de seguridad (Wordfence) | Sí | Ventana de exposición crítica |
| Plugins de funcionalidad | No | Pueden romper funcionalidades |
| Elementor / constructores | No | Alta probabilidad de conflictos |
| WooCommerce | No | Puede romper checkout y pagos |
| Temas | No | Puede perder personalizaciones |
PHP: la actualización que más rompe webs y más se ignora
Actualizar la versión de PHP del servidor es el cambio más impactante y el menos documentado. PHP 8.1, 8.2 y 8.3 tienen cambios que rompen código escrito para PHP 7.x.
Cómo verificar la versión de PHP actual
php -v
# O desde WP-CLI
wp cli info --allow-root | grep PHPComprobar compatibilidad PHP antes de actualizar
Plugin recomendado: PHP Compatibility Checker (gratuito en WordPress.org). Escanea todos tus plugins y temas y muestra cuáles son incompatibles con la versión de PHP que quieres usar.
# Instalar y ejecutar el check
wp plugin install php-compatibility-checker --activate --allow-root
wp eval 'WPEngine_PHPCompatibility_Main::scan();' --allow-root 2>/dev/null
# Ver resultados en wp-admin > Tools > PHP CompatibilityVersiones PHP recomendadas para WordPress en 2026
| Versión PHP | Estado | Recomendación |
|---|---|---|
| PHP 8.3 | Activa (última) | Recomendada si todos los plugins son compatibles |
| PHP 8.2 | Activa | Óptima: compatible con el 95% de plugins |
| PHP 8.1 | Soporte seguridad | Aceptable, actualizar pronto |
| PHP 8.0 | EOL | Actualizar urgente, sin parches de seguridad |
| PHP 7.4 | EOL | Actualizar urgente, vulnerable |
Actualizaciones en WooCommerce: precauciones específicas
WooCommerce merece su propio protocolo por el impacto económico de una rotura en checkout.
Antes de actualizar WooCommerce
- Verifica la compatibilidad del tema con la nueva versión de WooCommerce
- Revisa el changelog de WooCommerce en busca de 'breaking changes'
- Si usas pasarela de pago (Redsys, Stripe, PayPal), verifica que su plugin es compatible
- Haz backup de la BBDD con especial atención a las tablas
wp_woocommerce_*
# Backup específico de tablas WooCommerce
wp db export woocommerce-backup-$(date +%Y%m%d).sql \
--tables=wp_woocommerce_order_items,wp_woocommerce_order_itemmeta,wp_woocommerce_tax_rates,wp_woocommerce_sessions \
--allow-root
# Actualizar WooCommerce y sus extensiones juntos
wp plugin update woocommerce woocommerce-payments wc-stripe --allow-root
# Ejecutar actualizaciones de BBDD de WooCommerce
wp wc update --allow-root 2>/dev/null || wp wc tool run update_db_version --user=1 --allow-rootVerificación post-actualización WooCommerce
Prueba manualmente: buscar producto > añadir al carrito > proceso de checkout completo > confirmación de pedido. No confíes en que 'parece que funciona visualmente'. Un checkout roto a veces muestra la página correcta pero falla al procesar el pago.
Herramientas para gestionar actualizaciones de múltiples webs
Si gestionas más de 3 webs, las actualizaciones manuales una a una son inviables. Estas herramientas centralizan el proceso:
| Herramienta | Precio | Función principal |
|---|---|---|
| ManageWP | Gratis / 2$/web/mes Pro | Dashboard central, safe updates, backup |
| MainWP | Gratis (self-hosted) / 199$/año Pro | Control total, privacy, extensiones |
| InfiniteWP | Gratis / 147$/año | Alternativa MainWP |
| WP Umbrella | 1,99$/web/mes | Monitorización + actualizaciones |
| Jetpack Manage | Gratis / incluido en Jetpack | Actualizaciones remotas básicas |
ManageWP 'Safe Updates' es especialmente útil: hace un screenshot de cada página antes y después de actualizar y muestra un diff visual. Si algo cambia en el diseño, lo detecta antes de que lo vea un cliente.
Qué pasa si la web muestra pantalla blanca o error 500
La pantalla blanca (White Screen of Death) y el error 500 son los síntomas más comunes de una rotura post-actualización.
Diagnóstico rápido
# Activar debug temporalmente para ver el error
wp config set WP_DEBUG true --allow-root
wp config set WP_DEBUG_LOG true --allow-root
wp config set WP_DEBUG_DISPLAY false --allow-root
# Ver el log de errores
tail -f /var/www/tudominio/wp-content/debug.log
# O buscar en el log de Apache/Nginx
tail -f /var/log/apache2/error.log | grep tudominioSoluciones rápidas sin acceso al panel
# Si el panel está caído, desactiva todos los plugins via WP-CLI
wp plugin deactivate --all --allow-root
# Si el problema persiste, cambia al tema por defecto
wp theme activate twentytwentyfour --allow-root
# Reactivar plugins uno a uno para identificar el conflictivo
wp plugin activate akismet --allow-root
wp plugin activate contact-form-7 --allow-root
# etc.Si el panel no carga y no tienes SSH
Accede al hosting por FTP y renombra la carpeta wp-content/plugins/ a wp-content/plugins-disabled/. WordPress cargará sin plugins. Luego renómbrala de vuelta y activa los plugins uno a uno desde el panel para identificar el conflicto.
Cuánto cuesta actualizar WordPress correctamente
El tiempo dedicado a las actualizaciones depende de la complejidad de la web.
| Tipo de web | Tiempo/mes | Coste DIY | Coste agencia |
|---|---|---|---|
| Web corporativa simple (<10 plugins) | 15–30 min | 0€ (tiempo propio) | Incluido en plan básico |
| Web con Elementor (<20 plugins) | 30–60 min | 0€ (tiempo propio) | Incluido en plan estándar |
| WooCommerce activo | 60–90 min | 0€ (si tienes skills) | Incluido en plan WooCommerce |
| Web compleja (integraciones externas) | 90–120 min | Requiere developer | Tarifa proyecto |
Si tienes múltiples webs (5+), herramientas como ManageWP reducen el tiempo total a la mitad. Con Safe Updates automatizado, las actualizaciones de bajo riesgo se aplican solas y solo las de alto riesgo requieren revisión manual.
En WebsBarcelona gestionamos las actualizaciones de todas las webs bajo mantenimiento con este proceso. Ninguna actualización va a producción sin backup previo y verificación post-update.
Preguntas frecuentes
Parcialmente. Las actualizaciones menores de seguridad (ej: 6.4.1 a 6.4.2) son seguras de automatizar porque raramente rompen compatibilidad. Las actualizaciones mayores (6.4 a 6.5) y las de plugins con mucha funcionalidad (Elementor, WooCommerce) deben hacerse manualmente con backup previo.
Primero, no entres en pánico: si tienes backup, tienes solución. Desactiva todos los plugins via WP-CLI o FTP, identifica el plugin conflictivo activándolos uno a uno, y revierte ese plugin a la versión anterior. Si el problema es más grave, restaura el backup completo de antes de la actualización.
Las versiones de seguridad (x.x.1, x.x.2) sí, en 24–48 horas máximo. Las versiones mayores (6.5, 6.6), espera 1–2 semanas a que la comunidad reporte conflictos de compatibilidad. Suscríbete a WPTavern o el blog oficial de WordPress para seguir las novedades de cada versión.
El proceso es igual, pero los plugins premium requieren licencia activa para recibir actualizaciones. Sin licencia, el plugin queda desactualizado y vulnerable. Revisa anualmente que las licencias de Elementor Pro, WP Rocket, ACF Pro y otros plugins de pago están vigentes.
Para webs con menos de 10 plugins y sin WooCommerce, no es estrictamente necesario. Con un backup previo y el proceso correcto, el riesgo de una rotura es muy bajo. Para webs con Elementor, WooCommerce, o más de 20 plugins, el staging pasa de recomendable a necesario.
Con acceso SSH y WP-CLI: 5–15 minutos para webs simples, 30–45 minutos para WooCommerce con verificación completa de checkout. Sin SSH, desde el panel wp-admin: 30–60 minutos. Con herramientas como ManageWP para múltiples webs: 15–30 minutos en total independientemente del número de webs.
Sí, especialmente si hay plugins con 3+ años sin actualizar que usan funciones deprecadas en PHP 8.x. Antes de actualizar PHP en el servidor, usa el plugin PHP Compatibility Checker para identificar incompatibilidades. La mayoría de plugins populares son compatibles con PHP 8.2. Los problemas suelen venir de plugins nicho o desarrollados a medida hace años.
ManageWP es un dashboard central que permite gestionar múltiples instalaciones de WordPress desde un solo panel. Permite actualizar plugins en todas las webs con un clic, programar backups automáticos, monitorizar uptime y hacer Safe Updates (screenshot antes/después para detectar cambios visuales). Las agencias lo usan para gestionar decenas de webs de forma eficiente.
En resumen
Actualizar WordPress sin romper nada no es cuestión de suerte: es cuestión de proceso. Backup previo, orden correcto, verificación post-update y rollback preparado. Con ese proceso, las actualizaciones pasan de ser un riesgo a ser una tarea rutinaria de 15 minutos.
Si no quieres gestionar este proceso mensualmente, en WebsBarcelona lo hacemos por ti con backup antes de cada update y verificación manual garantizada. Nunca una actualización va a producción sin red de seguridad.
¿Necesitas una web profesional en Barcelona?
Presupuesto cerrado en 24h sin compromiso. Desde 99€.
Pedir presupuesto →Somos tu diseño web en Barcelona para pymes y autónomos · Ver portfolio