Guía WP-CLI: Comandos básicos y ejemplos prácticos
WP-CLI (WordPress Command Line Interface) es una herramienta de línea de comandos que te permite gestionar cualquier instalación de WordPress desde una terminal SSH, sin necesidad de abrir el navegador ni entrar en wp-admin. Con un solo comando puedes instalar WordPress, actualizar todos los plugins, exportar la base de datos o crear usuarios — tareas que desde el panel web te llevarían minutos.
En esta guía encontrarás los comandos más usados de WP-CLI con su sintaxis exacta, una tabla de referencia rápida y ejemplos prácticos para cada operación. Para poder ejecutar estos comandos necesitas acceso SSH a tu cuenta de hosting en Nicalia.
¿Qué es WP-CLI?
Si ya trabajas con servidores y terminal, sabrás las ventajas de usar la línea de comandos para automatizar tareas. WP-CLI es precisamente eso aplicado a WordPress: una forma de ejecutar operaciones rutinarias con comandos en lugar de hacerlo desde wp-admin.
Es especialmente útil cuando:
- Gestionas múltiples instalaciones de WordPress y quieres actualizar todas a la vez.
- Necesitas realizar operaciones de forma automatizada o en scripts.
- El panel de administración no carga (por un plugin roto, un error fatal) y necesitas intervenir desde fuera.
- Quieres hacer operaciones masivas como importar usuarios, regenerar miniaturas o limpiar la base de datos.
Tabla de referencia rápida
| Comando | Descripción |
|---|---|
wp core download |
Descargar WordPress |
wp core install |
Instalar WordPress con base de datos y admin |
wp core update |
Actualizar WordPress al núcleo más reciente |
wp core update-db |
Actualizar la base de datos de WordPress |
wp plugin list |
Listar todos los plugins instalados |
wp plugin install |
Instalar un plugin |
wp plugin activate |
Activar un plugin |
wp plugin deactivate |
Desactivar un plugin |
wp plugin update --all |
Actualizar todos los plugins |
wp plugin delete |
Eliminar un plugin |
wp theme list |
Listar todos los temas instalados |
wp theme activate |
Activar un tema |
wp user create |
Crear un usuario |
wp user list |
Listar usuarios |
wp user update |
Actualizar datos de un usuario |
wp post create |
Crear una entrada |
wp post generate |
Generar entradas de prueba |
wp db export |
Exportar la base de datos |
wp db import |
Importar un archivo SQL |
wp db search |
Buscar texto en la base de datos |
wp search-replace |
Reemplazar texto en toda la base de datos |
wp media import |
Importar archivos multimedia |
wp media regenerate |
Regenerar miniaturas |
wp cache flush |
Vaciar la caché de objetos |
wp scaffold child-theme |
Crear un tema hijo |
Instalar WordPress con WP-CLI
Normalmente WordPress se instala descargando archivos y subiéndolos por FTP. Si haces esto a menudo, WP-CLI te ahorra tiempo y lo resuelve en cuatro pasos.
Paso 1 — Acceder al directorio de instalación
Conéctate por SSH y navega a la carpeta donde quieres instalar WordPress:
cd public_html/
Paso 2 — Descargar WordPress
wp core download --locale=es_ES
El parámetro --locale=es_ES descarga WordPress en español. Omítelo para la versión en inglés.
Paso 3 — Crear el archivo wp-config.php
wp core config --dbname=usuario_basededatos --dbuser=usuario_usuariobasededatos --dbpass=tuclave --dbhost=localhost --dbprefix=prefijo_
| Parámetro | Descripción | Ejemplo |
|---|---|---|
--dbname |
Base de datos a utilizar | --dbname=usuario_bd |
--dbuser |
Usuario MySQL | --dbuser=usuario_mysql |
--dbpass |
Contraseña del usuario MySQL | --dbpass=tuclave |
--dbhost |
Host de la base de datos | --dbhost=localhost |
--dbprefix |
Prefijo para las tablas | --dbprefix=wp_ |
Asegúrate de haber creado la base de datos y el usuario en cPanel antes de ejecutar este paso.
Paso 4 — Instalar WordPress
wp core install --url=demo.nicalia.com --title="Nicalia" --admin_user=usuario_admin --admin_password=tu_clave --admin_email=correo@tudominio.com
| Parámetro | Descripción | Ejemplo |
|---|---|---|
--url |
Dominio de tu web | --url=demo.nicalia.com |
--title |
Título del sitio | --title="Mi sitio" |
--admin_user |
Usuario administrador | --admin_user=admin |
--admin_password |
Contraseña del administrador | --admin_password=clave |
--admin_email |
Email del administrador | --admin_email=tu@email.com |
Instalar una versión específica de WordPress
Si por compatibilidad necesitas una versión concreta, añade el parámetro --version al descargar:
wp core download --version=6.4.3 --locale=es_ES
Actualizar WordPress con WP-CLI
Si gestionas varias webs, actualizar desde wp-admin puede ser tedioso. Con WP-CLI lo haces en segundos desde el directorio de cada instalación.
wp core update
Si es necesario, actualiza también la estructura de la base de datos:
wp core update-db
Para actualizar WordPress y la base de datos en un solo paso:
wp core update && wp core update-db
Para ver la versión actual instalada:
wp core version
Gestionar plugins con WP-CLI
Listar plugins y su estado
wp plugin status
Resultado esperado:
17 installed plugins:
I autoptimize 2.5.1
I backwpup 3.7.0
N classic-editor 1.5
N contact-form-7 5.1.6
I = instalado y activo · N = instalado y desactivado
Para ver la lista en formato tabla con más detalles:
wp plugin list
Instalar un plugin
wp plugin install litespeed-cache
Instalar y activar en un solo paso:
wp plugin install litespeed-cache --activate
Instalar desde un archivo ZIP (por ejemplo, un plugin de pago subido por FTP):
wp plugin install /ruta/al/plugin.zip --activate
Activar y desactivar plugins
wp plugin activate litespeed-cache
wp plugin deactivate litespeed-cache
Desactivar todos los plugins (útil para diagnosticar conflictos):
wp plugin deactivate --all
Actualizar plugins
wp plugin update litespeed-cache
Actualizar todos los plugins:
wp plugin update --all
Eliminar un plugin
wp plugin delete litespeed-cache
Buscar un plugin en el repositorio de WordPress.org
wp plugin search litespeed
Resultado:
Success: Showing 10 of 48 plugins.
| LiteSpeed Cache | litespeed-cache | 98 |
| Fast Velocity Minify | fast-velocity-minify | 94 |
Gestionar temas con WP-CLI
Listar temas instalados
wp theme list
Instalar y activar un tema
wp theme install astra --activate
Activar un tema ya instalado
wp theme activate astra
Actualizar todos los temas
wp theme update --all
Eliminar un tema
wp theme delete twentytwenty
Gestionar usuarios con WP-CLI
Crear un usuario
wp user create USUARIO correo@tudominio.com --role=administrator
Asignar una contraseña específica:
wp user create USUARIO correo@tudominio.com --role=administrator --user_pass=TuContraseña
Listar usuarios
wp user list
Cambiar la contraseña de un usuario
wp user update USUARIO --user_pass=NuevaContraseña
Cambiar el rol de un usuario
wp user set-role USUARIO editor
Eliminar un usuario
wp user delete USUARIO --reassign=1
El parámetro --reassign=1 reasigna las entradas del usuario eliminado al usuario con ID 1 (normalmente el administrador principal).
Base de datos con WP-CLI
Exportar (backup) la base de datos
wp db export backupmysql.sql
Con fecha en el nombre del archivo:
wp db export backup-$(date +%Y%m%d).sql
Importar un archivo SQL
wp db import backupmysql.sql
Buscar texto en la base de datos
wp db search "texto a buscar"
Buscar y reemplazar texto en toda la base de datos
Especialmente útil al migrar un sitio de HTTP a HTTPS o al cambiar de dominio:
wp search-replace 'http://dominio-antiguo.com' 'https://dominio-nuevo.com'
Hacer una simulación sin aplicar cambios (dry run):
wp search-replace 'http://dominio-antiguo.com' 'https://dominio-nuevo.com' --dry-run
⚠️ Haz siempre una copia de seguridad antes de ejecutar search-replace. Este comando modifica directamente la base de datos.
Contenido y medios
Crear una entrada
wp post create --post_type=post --post_status=publish --post_title='Entrada de prueba' --post_content='Contenido de la entrada'
Generar contenido de prueba
wp post generate --count=5
Generar páginas de prueba:
wp post generate --post_type=page --count=3
Generar comentarios de prueba:
wp comment generate --count=3 --post_id=1
Importar archivos multimedia
wp media import ~/public_html/wordpress/wp-content/uploads/**/*.jpg
Adapta la ruta a la carpeta correcta de tu instalación.
Regenerar miniaturas
wp media regenerate --yes
Crear un tema hijo
wp scaffold child-theme tema-hijo --parent_theme=twentysixteen
Sustituye twentysixteen por el slug del tema padre que estés usando.
Opciones de WordPress y caché
Ver o cambiar opciones de WordPress
wp option get siteurl
wp option get blogname
wp option update blogdescription "Mi nueva descripción"
Cambiar la URL del sitio (útil en migraciones):
wp option update siteurl 'https://dominio-nuevo.com'
wp option update home 'https://dominio-nuevo.com'
Vaciar la caché de objetos de WordPress
wp cache flush
Activar el modo mantenimiento
wp maintenance-mode activate
wp maintenance-mode deactivate
Errores comunes con WP-CLI y cómo resolverlos
«Error: This does not seem to be a WordPress installation»
WP-CLI no encuentra el archivo wp-config.php en el directorio actual. Asegúrate de estar en el directorio raíz de tu instalación de WordPress antes de ejecutar cualquier comando. Comprueba con ls que wp-config.php está en el directorio actual.
«Error establishing a database connection» al instalar
Las credenciales de base de datos del comando wp core config son incorrectas. Verifica en cPanel que el nombre de la base de datos, el usuario MySQL y la contraseña coinciden exactamente con los que has introducido. Recuerda que en cPanel el nombre de la BD y el usuario suelen tener el prefijo del usuario de cPanel (por ejemplo cpanelusr_nombrebd).
«Permission denied» al ejecutar wp
El usuario SSH no tiene permisos sobre los archivos de WordPress. Asegúrate de estar conectado con el mismo usuario de cPanel que es propietario de los archivos. Si accedes con un usuario diferente, usa --allow-root solo si estás conectado como root y sabes lo que haces.
WP-CLI no está disponible en mi cuenta
En los planes de hosting compartido de Nicalia, WP-CLI está disponible para todos los usuarios con acceso SSH. Si al escribir wp --info aparece “command not found”, abre un ticket de soporte para que lo activen en tu cuenta.
«wp search-replace» no cambia las URLs en el sitio
Tras ejecutar wp search-replace, es necesario vaciar la caché (wp cache flush) y, si usas un plugin de caché como LiteSpeed Cache o WP Rocket, vaciarlo también desde su interfaz o con su propio comando WP-CLI. En algunos casos también es necesario actualizar los permalinks: wp rewrite flush.
Preguntas frecuentes sobre WP-CLI
¿Cómo sé en qué directorio de WordPress estoy?
Ejecuta pwd para ver el directorio actual y ls para listar los archivos. Si ves wp-config.php, wp-admin/ y wp-content/, estás en el directorio raíz correcto de WordPress.
¿Puedo usar WP-CLI sin acceso SSH?
No directamente. WP-CLI requiere acceso por SSH al servidor. Si no tienes SSH habilitado en tu plan de hosting, contacta con el soporte de Nicalia para activarlo, o usa el Terminal integrado de cPanel (cPanel → Avanzado → Terminal), que permite ejecutar comandos WP-CLI sin un cliente SSH externo.
¿Cómo gestiono múltiples instalaciones de WordPress con WP-CLI?
La forma más eficiente es crear un script de shell que itere sobre los directorios de tus instalaciones. Alternativamente, usa el parámetro --path para especificar el directorio sin necesidad de moverte:
wp plugin update --all --path=/home/usuario/public_html/sitio1/
wp plugin update --all --path=/home/usuario/public_html/sitio2/
¿WP-CLI puede romper mi instalación de WordPress?
Los comandos de lectura (wp plugin list, wp user list, wp db export) son completamente seguros. Los comandos que modifican datos (wp search-replace, wp db import, wp plugin delete) deben ejecutarse con precaución y siempre después de hacer una copia de seguridad. Usa siempre --dry-run cuando esté disponible para previsualizar el resultado antes de aplicar cambios.
¿Cómo ver todos los comandos disponibles de WP-CLI?
Ejecuta wp help para ver la lista de comandos principales, o wp help <comando> para ver la documentación completa de un comando específico. Por ejemplo: wp help plugin. La documentación oficial completa está en developer.wordpress.org/cli/commands/.
