WP-CLI: la herramienta que todo administrador de WordPress debería dominar

Gestionar WordPress desde el panel gráfico (WP Admin) es cómodo… hasta que tienes que repetir la misma tarea en varios sitios, desactivar un plugin que ha roto la web o automatizar tareas rutinarias. Ahí es donde entra WP-CLI, la interfaz de línea de comandos oficial para WordPress, pensada para hacer lo mismo que el panel… y bastante más.

Este artículo repasa qué es WP-CLI, qué ventajas tiene frente a WP Admin y algunos comandos prácticos para administradores de sistemas, agencias y desarrolladores que gestionan uno o decenas de sitios WordPress.


¿Qué es WP-CLI y por qué te interesa?

WP-CLI (WordPress Command Line Interface) es una herramienta open source que permite gestionar WordPress desde la terminal, con comandos del tipo:

wp plugin update --all
wp post list
wp theme install twentytwentyfive --activate
Lenguaje del código: PHP (php)

En vez de hacer clic por varias pantallas en WP Admin, lanzas un comando y listo. Está pensado para:

  • Desarrolladores y sysadmins que gestionan muchos sitios.
  • Agencias que repiten siempre la misma lista de tareas al montar proyectos.
  • Administradores que quieren automatizar mantenimiento y despliegues.

Algunos hostings (incluyendo muchos proveedores gestionados y planes avanzados de plataformas como WordPress.com o similares) ya lo traen instalado por defecto. En otros, puedes instalarlo en el servidor y usarlo vía SSH.


Ventajas reales frente a WP Admin

Trabajar con WP-CLI no es “ir de friki”: es pura productividad y control. Entre sus ventajas:

  • ⏱️ Velocidad:
    • Actualizar todos los plugins: wp plugin update --all
    • Crear 10 páginas de prueba: wp post generate --count=10 --post_type=page
    Todo en segundos, sin navegar por menús.
  • 🧯 Rescate cuando WP Admin está roto
    Si un plugin provoca un error fatal y no puedes entrar al panel, puedes hacer: wp plugin deactivate --all y recuperar la web.
  • ⚙️ Tareas que WP Admin no permite (sin plugins extra)
    • Buscar y reemplazar cadenas directamente en la base de datos.
    • Cambiar de versión de WordPress Core.
    • Generar contenido masivo para pruebas de rendimiento.
    • Gestionar varios sitios en el mismo servidor desde una sola sesión.
  • 🤖 Automatización de flujos completos
    Puedes encadenar comandos o meterlos en un script Bash para:
    • Montar un sitio nuevo.
    • Instalar y activar tu “pack estándar” de plugins y temas.
    • Crear usuarios, rellenar contenido de prueba, etc.
      Todo con un solo script.

Cómo se estructura un comando de WP-CLI

La estructura básica es:

wp <comando> <subcomando> [argumentos] [--flags] [--flag=valor]
Lenguaje del código: CSS (css)

Ejemplos sencillos:

  • Listar plugins: wp plugin list
  • Actualizar un plugin concreto: wp plugin update akismet
  • Listar solo plugins con actualización disponible: wp plugin list --update=available

Puedes añadir --help a casi cualquier cosa para ver opciones:

wp plugin --help
wp post create --help

Gestión de plugins desde la terminal

Ver qué plugins tienes y su estado

wp plugin list
Lenguaje del código: PHP (php)

Te devuelve una tabla con:

  • Nombre del plugin
  • Versión
  • Estado (activo/inactivo)
  • Si hay actualización disponible

Solo activos:

wp plugin list --status=active
Lenguaje del código: PHP (php)

Solo los que tienen update disponible:

wp plugin list --update=available
Lenguaje del código: PHP (php)

Actualizar plugins

Actualizar todos los plugins procedentes del repositorio oficial:

wp plugin update --all

Excluir uno que quieres revisar antes:

wp plugin update --all --exclude=akismet

Instalar y activar plugins

Desde el directorio oficial de WordPress (usando el slug del plugin):

wp plugin install contact-form-7 --activate

Varios a la vez:

wp plugin install bbpress contact-form-7 akismet --activate

Desactivar plugins (muy útil en emergencias)

Desactivar uno:

wp plugin deactivate akismet

Desactivar todos:

wp plugin deactivate --all

Desactivar todos excepto algunos:

wp plugin deactivate --all --exclude=akismet,wordfence

Gestionar contenido: posts y páginas con WP-CLI

Listar contenido

Listar todas las entradas:

wp post list
Lenguaje del código: PHP (php)

Solo páginas:

wp post list --post_type=page
Lenguaje del código: PHP (php)

Entradas y páginas a la vez:

wp post list --post_type=post,page
Lenguaje del código: PHP (php)

Crear posts/páginas

Crear un post borrador:

wp post create --post_title="Creado con WP-CLI"
Lenguaje del código: JavaScript (javascript)

Crear páginas publicadas típicas en un proyecto nuevo:

wp post create --post_type=page --post_status=publish --post_title='Inicio'   && \
wp post create --post_type=page --post_status=publish --post_title='Quiénes somos' && \
wp post create --post_type=page --post_status=publish --post_title='Contacto'
Lenguaje del código: JavaScript (javascript)

Generar contenido de prueba

Ideal para tests de rendimiento o maquetación:

wp post generate --count=50 --post_type=post --post_status=publish

Con más control:

wp post generate --count=10 \
  --post_type=page \
  --post_status=draft \
  --post_author=1 \
  --post_date="2025-01-15 12:15:00"
Lenguaje del código: JavaScript (javascript)

Actualizar posts en lote

Cambiar el autor de varias entradas (IDs 1, 25 y 60) al usuario 2:

wp post update 1 25 60 --post_author=2

Cambiar el autor de todas las entradas del autor 1 al 2:

wp post update $(wp post list --author=1 --format=ids) --post_author=2
Lenguaje del código: JavaScript (javascript)

Cambiar el estado de todas las publicadas a borrador:

wp post update $(wp post list --post_status=publish --format=ids) --post_status=draft
Lenguaje del código: JavaScript (javascript)

Borrar contenido

Borrar un post por ID:

wp post delete 649
Lenguaje del código: JavaScript (javascript)

Borrar varios:

wp post delete 649 300 150
Lenguaje del código: JavaScript (javascript)

Borrar todas las páginas:

wp post delete $(wp post list --post_type=page --format=ids)
Lenguaje del código: JavaScript (javascript)

Temas: instalar, listar y cambiar desde WP-CLI

Listar temas instalados:

wp theme list
Lenguaje del código: PHP (php)

Activar un tema:

wp theme activate twentytwentyfive

Instalar desde el repositorio y activar:

wp theme install hello-biz --activate

Actualizar todos los temas:

wp theme update --all

Excluir uno de la actualización:

wp theme update --all --exclude=twentytwenty

Control de comentarios: adiós spam en un solo comando

Ver comentarios marcados como spam:

wp comment list --status=spam
Lenguaje del código: PHP (php)

Borrarlos todos de golpe:

wp comment delete $(wp comment list --status=spam --format=ids)
Lenguaje del código: JavaScript (javascript)

Automatizar tareas con scripts

La verdadera magia llega cuando combinas comandos en un script Bash. Por ejemplo, un archivo update.sh:

#!/bin/bash
wp plugin update --all
wp theme update --all
wp core update
Lenguaje del código: JavaScript (javascript)

Le das permisos de ejecución:

chmod +x update.sh
Lenguaje del código: CSS (css)

Y cada vez que quieras actualizar todo:

./update.sh

En entornos con muchos sitios, puedes añadir bucles y recorrer carpetas, aplicando WP-CLI a cada instalación.


WP-CLI como skill clave para administradores de sistemas

Dominar WP-CLI convierte la gestión de WordPress en algo mucho más cercano a cómo trabajan los administradores de sistemas con otros stacks: reproducible, automatizable y fácil de integrar en scripts, CI/CD y tareas programadas.

Para un solo blog, puede parecer opcional. Para:

  • una agencia con 20–50 sitios,
  • un sysadmin que mantiene decenas de instalaciones,
  • o un desarrollador que quiere estandarizar despliegues,

WP-CLI pasa de “curiosidad” a herramienta imprescindible.

Si todavía no lo has probado, el primer paso es simple: acceder por SSH a tu servidor, escribir:

wp cli version

y, si está instalado, empezar con algo inofensivo como:

wp plugin list
Lenguaje del código: PHP (php)

A partir de ahí, cuesta muy poco tiempo cogerle el truco… y cuesta mucho volver a vivir sin él.

Referencias: WordPress y WP-CLI

Editor WPDirecto

Editor de WPDirecto potenciado con IA con el apoyo del equipo de edición.

Te puede interesar...

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    WordPress Directo
    WPDirecto.com es una revista especializada en WordPress y WooCommerce que ofrece una amplia gama de recursos, incluyendo tutoriales, análisis de plugins y plantillas, consejos de optimización y estrategias de SEO, para ayudar a los usuarios a mejorar y personalizar sus sitios web, manteniéndolos informados sobre las últimas novedades y tendencias en el mundo de WordPress.

    © 1995-2025 Color Vivo Internet, SLU (Medios y Redes Online).. Otros contenidos se cita fuente. Infraestructura cloud servidores dedicados de Stackscale.