Cómo usar WP-CLI para actualizar WordPress desde SSH
Introducción: ¿Por qué actualizar WordPress desde SSH con WP-CLI?
Si alguna vez has actualizado WordPress desde el panel de administración, sabes que puede ser un proceso lento y, en ocasiones, frustrante. Las actualizaciones pueden fallar por límites de memoria, tiempos de espera del servidor o simplemente porque el navegador se queda bloqueado. Aquí es donde entra en juego WP-CLI, la herramienta de línea de comandos que te permite gestionar tu sitio WordPress directamente desde el terminal Linux o SSH.
Usar wp-cli para actualizar WordPress SSH no solo es más rápido y seguro, sino que también te da un control total sobre el proceso. En este artículo, te voy a enseñar paso a paso cómo hacerlo, incluso si nunca has usado una terminal en tu vida. No necesitas ser un gurú de la programación; solo necesitas seguir las instrucciones y entender algunos conceptos básicos.
Al final de esta guía, podrás realizar mantenimiento WordPress de forma profesional, automatizar tareas y resolver problemas comunes que antes te tomaban horas. Vamos a ello.
¿Qué es WP-CLI y por qué deberías usarlo?
WP-CLI es una herramienta de línea de comandos que te permite interactuar con tu instalación de WordPress sin necesidad de usar el navegador. Piensa en ello como un "control remoto" para tu sitio web. Con comandos WordPress, puedes:
- Actualizar el núcleo de WordPress, los temas y los plugins.
- Gestionar usuarios, opciones y bases de datos.
- Crear contenido, revisar cron jobs y limpiar cachés.
- Diagnosticar problemas y optimizar el rendimiento.
Beneficios de usar WP-CLI
- Velocidad: Las operaciones se ejecutan directamente en el servidor, sin el overhead del navegador.
- Seguridad: Puedes realizar actualizaciones críticas sin exponer tu panel de administración a posibles ataques.
- Automatización: Puedes programar tareas de mantenimiento WordPress con scripts y cron jobs.
- Control: Tienes acceso a opciones avanzadas que no están disponibles en la interfaz gráfica.
Requisitos previos: Lo que necesitas antes de empezar
Antes de lanzarte a usar wp-cli, asegúrate de tener lo siguiente:
- Acceso SSH a tu servidor: Necesitas las credenciales de acceso (usuario, contraseña o clave SSH) y la dirección IP o dominio de tu servidor. Si usas un panel de control como Syspanel, el puerto de acceso es el 2106, pero para SSH normalmente es el 22 (o el que te haya proporcionado tu proveedor).
- PHP y MySQL: Tu servidor debe tener instalado PHP (versión 7.4 o superior recomendada) y MySQL/MariaDB.
- Conocimientos básicos de terminal: Saber navegar entre directorios (
cd), listar archivos (ls) y ejecutar comandos consudoes suficiente.
Cómo conectar por SSH
En Windows, puedes usar PuTTY o el terminal de Windows (si tienes WSL). En macOS y Linux, abre la aplicación "Terminal" y escribe:
ssh usuario@tu-servidor.com
Te pedirá la contraseña y, ¡listo! Ya estás dentro del servidor.
Instalando WP-CLI en tu servidor
Lo primero es comprobar si wp-cli ya está instalado. Conéctate por SSH y ejecuta:
wp --info
Si te muestra la versión, ya lo tienes. Si no, sigue estos pasos para instalarlo:
Paso 1: Descargar el archivo
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Paso 2: Hacerlo ejecutable
chmod +x wp-cli.phar
Paso 3: Moverlo a un directorio del sistema
sudo mv wp-cli.phar /usr/local/bin/wp
Ahora puedes usar el comando wp desde cualquier directorio. Verifica con wp --info de nuevo.
[INFO] Si no tienes permisos de
sudo, puedes guardar el archivo en tu directorio de usuario y llamarlo comophp wp-cli.phar. Pero es mucho más cómodo tenerlo en el PATH del sistema.
Cómo actualizar WordPress desde SSH: El proceso paso a paso
Ahora viene la parte emocionante. Vamos a usar wp-cli para actualizar WordPress SSH de forma segura y controlada.
Paso 1: Navegar al directorio de tu sitio web
Necesitas estar en la carpeta raíz donde está instalado WordPress. Normalmente es algo como /var/www/html o ~/public_html. Usa el comando cd para llegar ahí:
cd /var/www/html
Paso 2: Comprobar el estado actual
Antes de tocar nada, es buena práctica verificar la versión actual y la salud del sitio:
wp core version
wp core check-update
El primer comando te dice la versión instalada. El segundo te muestra si hay actualizaciones disponibles.
Paso 3: Hacer una copia de seguridad (¡IMPORTANTE!)
Este es el paso que nunca debes saltarte. Antes de cualquier mantenimiento WordPress, realiza una copia de seguridad de tu base de datos y archivos.
Copia de seguridad de la base de datos:
wp db export backup-before-update.sql
Copia de seguridad de los archivos: Puedes comprimir todo el directorio con tar:
tar -czf backup-files-before-update.tar.gz .
[WARNING] Si algo sale mal durante la actualización, esta copia de seguridad será tu salvavidas. No la omitas.
Paso 4: Actualizar el núcleo de WordPress
Ahora sí, vamos a la acción. Para actualizar el núcleo de WordPress a la última versión estable:
wp core update
¿Y si quiero actualizar a una versión específica?
wp core update --version=6.4.2
Paso 5: Actualizar la base de datos
Después de actualizar los archivos, WordPress puede necesitar una actualización de la base de datos. Ejecuta:
wp core update-db
Paso 6: Actualizar los plugins y temas
Una buena práctica es actualizar también tus plugins y temas para mantener la compatibilidad.
Actualizar todos los plugins:
wp plugin update --all
Actualizar todos los temas:
wp theme update --all
[TIP] Si quieres actualizar solo un plugin específico, usa
wp plugin update nombre-del-plugin. Puedes ver la lista de plugins conwp plugin list.
Paso 7: Verificar que todo está correcto
Después de las actualizaciones, es hora de verificar que tu sitio sigue funcionando.
wp core version
wp plugin list --status=active
wp theme list --status=active
También puedes comprobar el estado de los enlaces permanentes:
wp rewrite flush
Paso 8: Limpiar la caché
Si usas un plugin de caché, es recomendable limpiarla después de las actualizaciones. Con wp-cli, puedes hacerlo así (ejemplo con WP Super Cache):
wp cache flush
Comandos WordPress avanzados para mantenimiento diario
Una vez que domines la actualización, puedes usar wp-cli para otras tareas de mantenimiento WordPress. Aquí tienes algunos ejemplos útiles:
Optimizar la base de datos
wp db optimize
Revisar la salud del sitio
wp site health check
Buscar y reemplazar texto en la base de datos
wp search-replace 'http://dominio-antiguo.com' 'https://dominio-nuevo.com' --dry-run
[WARNING] El parámetro
--dry-runes crucial para simular el cambio sin aplicarlo. Úsalo siempre antes de un reemplazo real.
Gestionar cron jobs
Ver los eventos programados:
wp cron event list
Ejecutar todos los eventos pendientes:
wp cron event run --all
Crear y gestionar usuarios
wp user create nuevo_usuario email@dominio.com --role=administrator
wp user list
Solución de problemas comunes al usar WP-CLI
Aunque wp-cli es muy estable, pueden surgir problemas. Aquí tienes los más comunes y cómo solucionarlos.
Error: "Error establishing a database connection"
Esto suele indicar que los datos de conexión en wp-config.php son incorrectos o que la base de datos no está accesible. Verifica con:
wp db check
Error: "The site is not responding"
Puede ser que tu servidor esté sobrecargado o que haya un problema con el archivo .htaccess. Prueba a regenerarlo:
wp rewrite flush
Error: "Out of memory"
Si el proceso se queda sin memoria, puedes aumentar el límite temporalmente:
WP_MEMORY_LIMIT=512M wp core update
Problemas con permisos de archivos
Es común que después de una actualización, los permisos cambien. Puedes restablecerlos con:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
[WARNING] Ten cuidado con este comando. Si tu servidor usa un grupo de usuarios específico para el web server, es posible que necesites ajustar el propietario (
chown) en lugar de solo los permisos.
Automatizando las actualizaciones con WP-CLI
Una de las mayores ventajas de wp-cli es que puedes automatizar las actualizaciones. Puedes crear un script en bash que haga todo el proceso por ti.
Ejemplo de script de actualización automática
Crea un archivo llamado actualizar-wp.sh:
#!/bin/bash
cd /var/www/html
wp core update
wp core update-db
wp plugin update --all
wp theme update --all
wp cache flush
wp rewrite flush
Hazlo ejecutable:
chmod +x actualizar-wp.sh
Y añádelo al cron con crontab -e:
0 3 * * 0 /ruta/al/script/actualizar-wp.sh
Esto ejecutará el script todos los domingos a las 3 de la mañana.
[TIP] Si usas Syspanel, recuerda que el puerto de acceso es el 2106 para el panel, pero el cron y SSH funcionan de forma independiente.
Preguntas frecuentes (FAQ)
¿Es seguro usar WP-CLI para actualizar WordPress?
Sí, es totalmente seguro si sigues los pasos correctos. La clave está en hacer una copia de seguridad antes y verificar el sitio después. Además, es más seguro que actualizar desde el navegador porque no estás expuesto a ataques durante el proceso.
¿Puedo usar WP-CLI en un hosting compartido?
En muchos casos, sí, pero depende de tu proveedor. Algunos hosting compartidos no permiten acceso SSH. Si tu proveedor lo permite, puedes usar wp-cli sin problemas.
¿Qué hago si la actualización falla a mitad del proceso?
No entres en pánico. Restaura la copia de seguridad que hiciste al principio. Luego, revisa los logs del servidor para ver qué salió mal. Normalmente, los fallos se deben a límites de memoria o a conflictos con plugins desactualizados.
¿Necesito conocimientos avanzados de programación?
No. Solo necesitas saber moverte por la terminal y entender los comandos básicos. Esta guía te da todos los pasos, así que puedes seguirla sin ser un experto.
¿Puedo actualizar solo un plugin sin actualizar todo?
¡Por supuesto! Usa wp plugin update nombre-del-plugin para actualizar solo ese. También puedes actualizar todos los plugins que estén desactualizados con wp plugin update --all.
Conclusión: Domina el mantenimiento de WordPress con WP-CLI
Hemos recorrido un largo camino. Ahora sabes cómo usar wp-cli para actualizar WordPress SSH de manera eficiente y segura. Has aprendido a:
- Instalar wp-cli en tu servidor.
- Realizar actualizaciones completas del núcleo, plugins y temas.
- Automatizar tareas de mantenimiento WordPress.
- Solucionar problemas comunes.
Recuerda que la práctica hace al maestro. Empieza con un sitio de prueba o un entorno de desarrollo para ganar confianza. Una vez que te sientas cómodo, podrás gestionar tus sitios de producción con total tranquilidad.
Los comandos WordPress son una herramienta poderosa en tu arsenal técnico. No solo te ahorrarán tiempo, sino que también te darán un control absoluto sobre tu sitio.
[INFO] Si tu proveedor de hosting usa Syspanel, el acceso SSH suele estar disponible desde el panel. Recuerda que el puerto del panel es el 2106, pero para SSH es el estándar (22) a menos que se indique lo contrario.
Espero que este artículo te haya sido de gran ayuda. Ahora ve y actualiza tu WordPress como un profesional, desde la comodidad de tu terminal Linux. ¡Buena suerte!
