Mantenimiento Web

Actualizar WordPress Sin Romper tu Web: Proceso Profesional

D
Daniel Perramon Calonge · 8 min de lectura

La mayoría de roturas en webs WordPress no ocurren por hackeos. Ocurren por actualizaciones mal ejecutadas. Un plugin que conflictuaba con el tema, un update de WooCommerce que cambió la API de pagos, un update de PHP que rompió un plugin con 8 años sin mantenerse. Este artículo documenta el proceso exacto que usamos para actualizar webs de producción sin incidentes.

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í:

  1. WordPress core: lanza versiones sin garantizar compatibilidad con todos los plugins del ecosistema
  2. Plugins: cada plugin actualiza en su propio ciclo, sin comunicación con otros plugins
  3. 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.gz

Paso 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.com

Paso 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 -30

Paso 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-root

Paso 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étodoDificultadCoste
Hosting con staging integrado (Kinsta, WP Engine, SiteGround)Fácil (1 clic)Incluido en el plan
Plugin WP StagecoachMedia9$/mes
Plugin WP StagingMediaGratis / 99$/año Pro
Subdominio manual + WP-CLIAvanzado0€
Local (LocalWP)FácilGratis

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-root

Opció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-root

Opció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-root

Opció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ón

O 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-root

Tabla de decisión: auto-update sí/no

ElementoAuto-updateMotivo
WordPress core (security release)Crítico, bajo riesgo de rotura
WordPress core (major release)NoPuede romper plugins
Plugins de seguridad (Wordfence)Ventana de exposición crítica
Plugins de funcionalidadNoPueden romper funcionalidades
Elementor / constructoresNoAlta probabilidad de conflictos
WooCommerceNoPuede romper checkout y pagos
TemasNoPuede 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 PHP

Comprobar 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 Compatibility

Versiones PHP recomendadas para WordPress en 2026

Versión PHPEstadoRecomendación
PHP 8.3Activa (última)Recomendada si todos los plugins son compatibles
PHP 8.2ActivaÓptima: compatible con el 95% de plugins
PHP 8.1Soporte seguridadAceptable, actualizar pronto
PHP 8.0EOLActualizar urgente, sin parches de seguridad
PHP 7.4EOLActualizar 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

  1. Verifica la compatibilidad del tema con la nueva versión de WooCommerce
  2. Revisa el changelog de WooCommerce en busca de 'breaking changes'
  3. Si usas pasarela de pago (Redsys, Stripe, PayPal), verifica que su plugin es compatible
  4. 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-root

Verificació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:

HerramientaPrecioFunción principal
ManageWPGratis / 2$/web/mes ProDashboard central, safe updates, backup
MainWPGratis (self-hosted) / 199$/año ProControl total, privacy, extensiones
InfiniteWPGratis / 147$/añoAlternativa MainWP
WP Umbrella1,99$/web/mesMonitorización + actualizaciones
Jetpack ManageGratis / incluido en JetpackActualizaciones 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 tudominio

Soluciones 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 webTiempo/mesCoste DIYCoste agencia
Web corporativa simple (<10 plugins)15–30 min0€ (tiempo propio)Incluido en plan básico
Web con Elementor (<20 plugins)30–60 min0€ (tiempo propio)Incluido en plan estándar
WooCommerce activo60–90 min0€ (si tienes skills)Incluido en plan WooCommerce
Web compleja (integraciones externas)90–120 minRequiere developerTarifa 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

¿Es seguro activar las actualizaciones automáticas de WordPress?

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.

¿Qué hago si una actualización rompe mi web?

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.

¿Debo actualizar WordPress core inmediatamente cuando sale una versión nueva?

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.

¿Actualizar plugins premium funciona igual que los gratuitos?

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.

¿Es necesario un entorno de staging para una web pequeña?

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.

¿Cuánto tiempo lleva actualizar WordPress manualmente?

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.

¿Puede una actualización de PHP romper mi WordPress?

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.

¿Qué es ManageWP y por qué lo usan las agencias?

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

Hablamos hoy mismo

¿Tienes una idea? Cuéntanosla y te respondemos en el día.

Sin compromiso ni llamadas frías. En 2 minutos por WhatsApp sabemos cómo ayudarte a tener tu web online.

Escríbenos por WhatsApp
Respondemos en menos de 24h · 631 736 802