WP-CLI

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/.