---
title: "WP-CLI: la herramienta que todo administrador de WordPress debería dominar"
description: "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...."
url: https://wpdirecto.com/wp-cli-herramienta-administrador-de-wordpress/
date: 2025-11-25
modified: 2025-11-18
author: "Editor WPDirecto"
image: https://wpdirecto.com/wp-content/uploads/2025/11/wp-cli-powershell-example.webp
categories: ["Actualidad"]
tags: ["wp-cli"]
type: post
lang: es
---

# 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**:Todo en segundos, sin navegar por menús.
  - Actualizar todos los plugins: `wp plugin update --all`
  - Crear 10 páginas de prueba: `wp post generate --count=10 --post_type=page`
- 🧯 **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](https://wordpress.com/blog/2025/11/03/how-to-use-wp-cli/) y [WP-CLI](https://wp-cli.org/)
