title: "Instalación de WordPress vía CLI (WP-CLI): Guía Completa de Automatización" description: "Guía exhaustiva para instalar y gestionar WordPress usando WP-CLI (WordPress Command Line Interface). Incluye instalación de WP-CLI, automatización de despliegues, gestión de plugins/temas, copias de seguridad y mejores prácticas para administradores." date: 2024-03-15 tags: ["WordPress", "WP-CLI", "CLI", "Automation", "Content Management", "Web Development", "DevOps"] categories: ["Application Deployment", "Web Servers"]
Instalación de WordPress vía CLI (WP-CLI): Guía Completa de Automatización
WP-CLI es la interfaz de línea de comandos para WordPress que te permite gestionar instalaciones de WordPress sin usar un navegador web. Esta guía cubre todo lo relacionado con WP-CLI, desde la instalación hasta técnicas avanzadas de automatización.
Tabla de Contenidos
- ¿Qué es WP-CLI?
- Requisitos Previos
- Instalación de WP-CLI
- Instalación de WordPress con WP-CLI
- Gestión de Plugins
- Gestión de Temas
- Gestión de Base de Datos
- Gestión de Usuarios
- Gestión de Contenido
- Copias de Seguridad y Migración
- Automatización con Scripts
- Mejores Prácticas
- Solución de Problemas
¿Qué es WP-CLI?
WP-CLI es una herramienta de línea de comandos para gestionar WordPress. Te permite:
- Instalar y configurar WordPress
- Actualizar core, plugins y temas de WordPress
- Gestionar usuarios, posts y configuraciones
- Realizar operaciones de base de datos
- Importar/exportar contenido
- Buscar y reemplazar en la base de datos
- Automatizar tareas de mantenimiento
- Gestionar instalaciones multisitio
Ventajas de WP-CLI
- Velocidad: Las operaciones son mucho más rápidas que a través del admin de WordPress
- Automatización: Scriptable para despliegues automatizados y tareas de mantenimiento
- Acceso SSH: Gestiona WordPress de forma remota vía SSH
- Operaciones Masivas: Actualiza múltiples plugins/temas a la vez
- Sin GUI: Perfecto para servidores sin interfaz gráfica
- Integración DevOps: Integración fácil en pipelines CI/CD
Requisitos Previos
Antes de comenzar, asegúrate de tener:
- Un servidor con Ubuntu 20.04/22.04 o Debian 10/11
- Stack LEMP o LAMP instalado
- PHP 7.4 o superior con extensiones requeridas
- MySQL/MariaDB instalado
- Acceso SSH al servidor
- Conocimientos básicos de línea de comandos de Linux
Instalación de WP-CLI
Método 1: Descarga Directa (Recomendado)
# Download WP-CLI
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# Check if it works
php wp-cli.phar --info
# Make it executable
chmod +x wp-cli.phar
# Move to system path
sudo mv wp-cli.phar /usr/local/bin/wp
# Verify installation
wp --info
Método 2: Usando Composer
# Install Composer if not already installed
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Install WP-CLI via Composer
composer global require wp-cli/wp-cli-bundle
# Add Composer bin to PATH
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
source ~/.bashrc
# Verify installation
wp --info
Habilitar Autocompletado de Bash
# Download bash completion script
sudo curl -o /etc/bash_completion.d/wp-completion.bash https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash
# Reload bash
source ~/.bashrc
# Now you can use tab completion with wp commands
wp plugin <TAB>
Verificar Instalación
# Check WP-CLI version
wp --version
# Display WP-CLI information
wp --info
# Get help
wp help
Instalación de WordPress con WP-CLI
Preparar el Entorno
# Create database
mysql -u root -p
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
# Create website directory
sudo mkdir -p /var/www/example.com/public_html
# Set ownership
sudo chown -R $USER:$USER /var/www/example.com/public_html
# Navigate to directory
cd /var/www/example.com/public_html
Descargar WordPress Core
# Download latest WordPress
wp core download
# Download specific version
wp core download --version=6.4
# Download in specific language
wp core download --locale=es_ES
# Verify download
ls -la
Crear Archivo de Configuración
# Create wp-config.php
wp config create \
--dbname=wordpress_db \
--dbuser=wordpress_user \
--dbpass=secure_password \
--dbhost=localhost \
--dbprefix=wp_
# With extra configuration
wp config create \
--dbname=wordpress_db \
--dbuser=wordpress_user \
--dbpass=secure_password \
--dbhost=localhost \
--dbprefix=wp_ \
--extra-php <<PHP
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_MEMORY_LIMIT', '256M');
define('FS_METHOD', 'direct');
PHP
Instalar WordPress
# Install WordPress
wp core install \
--url=https://example.com \
--title="My WordPress Site" \
--admin_user=admin \
--admin_password=strong_password \
[email protected]
# Verify installation
wp core version
wp core is-installed
Instalación Completa de Una Sola Línea
# Complete WordPress installation script
cd /var/www/example.com/public_html && \
wp core download && \
wp config create \
--dbname=wordpress_db \
--dbuser=wordpress_user \
--dbpass=secure_password && \
wp core install \
--url=https://example.com \
--title="My Site" \
--admin_user=admin \
--admin_password=strong_password \
[email protected]
Configurar Permisos
# Set correct ownership
sudo chown -R www-data:www-data /var/www/example.com/public_html
# Set correct permissions
sudo find /var/www/example.com/public_html -type d -exec chmod 755 {} \;
sudo find /var/www/example.com/public_html -type f -exec chmod 644 {} \;
Gestión de Plugins
Buscar e Instalar Plugins
# Search for plugins
wp plugin search cache --per-page=10
# Install plugin
wp plugin install wordpress-seo
# Install and activate
wp plugin install contact-form-7 --activate
# Install specific version
wp plugin install akismet --version=4.2.1
# Install from URL
wp plugin install https://downloads.wordpress.org/plugin/jetpack.zip
# Install multiple plugins
wp plugin install wordpress-seo contact-form-7 akismet --activate
Listar Plugins
# List all plugins
wp plugin list
# List active plugins
wp plugin list --status=active
# List inactive plugins
wp plugin list --status=inactive
# List plugins that need updates
wp plugin list --update=available
# Output as JSON
wp plugin list --format=json
Actualizar Plugins
# Update specific plugin
wp plugin update wordpress-seo
# Update all plugins
wp plugin update --all
# Dry run (see what would be updated)
wp plugin update --all --dry-run
# Exclude specific plugins from update
wp plugin update --all --exclude=akismet,jetpack
Activar/Desactivar Plugins
# Activate plugin
wp plugin activate wordpress-seo
# Deactivate plugin
wp plugin deactivate wordpress-seo
# Activate all plugins
wp plugin activate --all
# Deactivate all plugins
wp plugin deactivate --all
# Toggle plugin status
wp plugin toggle wordpress-seo
Desinstalar Plugins
# Deactivate and delete plugin
wp plugin uninstall wordpress-seo
# Uninstall multiple plugins
wp plugin uninstall contact-form-7 akismet
# Deactivate and uninstall
wp plugin deactivate wordpress-seo && wp plugin uninstall wordpress-seo
# Uninstall all inactive plugins
wp plugin uninstall $(wp plugin list --status=inactive --field=name)
Verificar Plugin Status
# Check if plugin is installed
wp plugin is-installed wordpress-seo && echo "Installed" || echo "Not installed"
# Check if plugin is active
wp plugin is-active wordpress-seo && echo "Active" || echo "Inactive"
# Get plugin info
wp plugin get wordpress-seo
Gestión de Temas
Buscar e Instalar Temas
# Search for themes
wp theme search responsive --per-page=10
# Install theme
wp theme install twentytwentyfour
# Install and activate
wp theme install astra --activate
# Install from URL
wp theme install https://downloads.wordpress.org/theme/generatepress.zip
# Install child theme
wp theme install generatepress-child --activate
Listar Temas
# List all themes
wp theme list
# List active theme
wp theme list --status=active
# List inactive themes
wp theme list --status=inactive
# Check for theme updates
wp theme list --update=available
Actualizar Temas
# Update specific theme
wp theme update twentytwentyfour
# Update all themes
wp theme update --all
# Dry run
wp theme update --all --dry-run
Activar/Desactivar Temas
# Activate theme
wp theme activate twentytwentyfour
# Get active theme
wp theme list --status=active --field=name
Desinstalar Temas
# Delete theme (must not be active)
wp theme delete twentytwentythree
# Delete all inactive themes
wp theme delete $(wp theme list --status=inactive --field=name)
Gestión de Base de Datos
Operaciones Básicas de Base de Datos
# Database info
wp db size --tables
wp db size --human-readable
# Export database
wp db export
wp db export backup.sql
# Export with compression
wp db export backup.sql.gz
# Import database
wp db import backup.sql
# Optimize database
wp db optimize
# Repair database
wp db repair
# Run SQL query
wp db query "SELECT * FROM wp_users;"
# Drop database (dangerous!)
wp db reset --yes
Buscar y Reemplazar
# Basic search and replace
wp search-replace 'oldurl.com' 'newurl.com'
# Dry run (show what would be changed)
wp search-replace 'oldurl.com' 'newurl.com' --dry-run
# Search and replace in specific table
wp search-replace 'oldurl.com' 'newurl.com' wp_posts
# Search and replace all tables
wp search-replace 'oldurl.com' 'newurl.com' --all-tables
# Case insensitive search
wp search-replace 'oldurl.com' 'newurl.com' --all-tables-with-prefix --precise --recurse-objects
# Export and report
wp search-replace 'oldurl.com' 'newurl.com' --export=changes.sql --report
Gestión de Tablas
# List database tables
wp db tables
# List with prefix
wp db tables --format=csv
# Check table status
wp db query "SHOW TABLE STATUS;"
Gestión de Usuarios
Crear Usuarios
# Create user
wp user create john [email protected] --role=author
# Create user with password
wp user create jane [email protected] --role=editor --user_pass=strong_password
# Create administrator
wp user create admin [email protected] --role=administrator --user_pass=secure_pass
# Create user with additional fields
wp user create bob [email protected] \
--role=subscriber \
--first_name=Bob \
--last_name=Smith \
--display_name="Bob Smith"
Listar Usuarios
# List all users
wp user list
# List with specific role
wp user list --role=administrator
# List with custom fields
wp user list --fields=ID,user_login,user_email,role
# Output as CSV
wp user list --format=csv
# Count users
wp user list --role=subscriber --format=count
Actualizar Usuarios
# Update user password
wp user update admin --user_pass=new_password
# Update user email
wp user update john [email protected]
# Update user role
wp user update jane --role=administrator
# Update display name
wp user update bob --display_name="Robert Smith"
Eliminar Usuarios
# Delete user
wp user delete john
# Delete user and reassign posts
wp user delete john --reassign=2
# Delete multiple users
wp user delete 5 6 7 --reassign=1
Generar Usuarios
# Generate random users for testing
wp user generate --count=10
# Generate users with specific role
wp user generate --count=5 --role=author
Gestión de Capacidades
# List user capabilities
wp user list-caps admin
# Add capability
wp user add-cap john edit_posts
# Remove capability
wp user remove-cap john edit_posts
# Add role
wp user add-role jane editor
# Remove role
wp user remove-role jane editor
# Set role
wp user set-role bob subscriber
Gestión de Contenido
Posts
# List posts
wp post list
# List published posts
wp post list --post_status=publish
# Create post
wp post create --post_title="My New Post" --post_content="Content here" --post_status=publish
# Create post from file
wp post create ./post-content.txt --post_title="Imported Post" --post_status=draft
# Update post
wp post update 123 --post_title="Updated Title"
# Delete post
wp post delete 123
# Delete all posts in trash
wp post delete $(wp post list --post_status=trash --format=ids)
# Generate random posts
wp post generate --count=10
# Get post content
wp post get 123 --field=post_content
Pages
# List pages
wp post list --post_type=page
# Create page
wp post create --post_type=page --post_title="About Us" --post_status=publish
# Set page as front page
wp option update show_on_front page
wp option update page_on_front 5
# Set page as posts page
wp option update page_for_posts 6
Comments
# List comments
wp comment list
# List pending comments
wp comment list --status=hold
# Approve comment
wp comment approve 123
# Spam comment
wp comment spam 123
# Delete comment
wp comment delete 123
# Delete all spam comments
wp comment delete $(wp comment list --status=spam --format=ids)
# Generate test comments
wp comment generate --count=10 --post_id=1
Media
# List media
wp post list --post_type=attachment
# Import image
wp media import image.jpg --post_id=123 --title="My Image" --featured_image
# Regenerate thumbnails
wp media regenerate --yes
# Regenerate specific image
wp media regenerate 456
Taxonomies
# List categories
wp term list category
# Create category
wp term create category "Technology" --description="Tech posts"
# Update category
wp term update category 5 --name="New Name"
# Delete category
wp term delete category 5
# List tags
wp term list post_tag
# Create tag
wp tag create "WordPress"
Copias de Seguridad y Migración
Copia de Seguridad Completa
# Create backup directory
mkdir -p ~/wordpress-backups/$(date +%Y%m%d)
# Export database
wp db export ~/wordpress-backups/$(date +%Y%m%d)/database.sql
# Backup files
tar -czf ~/wordpress-backups/$(date +%Y%m%d)/files.tar.gz /var/www/example.com/public_html
# Backup uploads only
tar -czf ~/wordpress-backups/$(date +%Y%m%d)/uploads.tar.gz /var/www/example.com/public_html/wp-content/uploads
Script de Copia de Seguridad Automatizada
# Create backup script
sudo nano /usr/local/bin/wp-backup.sh
Contenido del script:
#!/bin/bash
# Configuration
SITE_PATH="/var/www/example.com/public_html"
BACKUP_DIR="/backup/wordpress"
DATE=$(date +%Y%m%d_%H%M%S)
SITE_NAME="example.com"
# Create backup directory
mkdir -p $BACKUP_DIR/$DATE
# Navigate to WordPress directory
cd $SITE_PATH
# Export database
wp db export $BACKUP_DIR/$DATE/$SITE_NAME-db.sql --allow-root
# Compress database
gzip $BACKUP_DIR/$DATE/$SITE_NAME-db.sql
# Backup files (excluding cache and temp files)
tar -czf $BACKUP_DIR/$DATE/$SITE_NAME-files.tar.gz \
--exclude='wp-content/cache' \
--exclude='wp-content/upgrade' \
--exclude='*.log' \
$SITE_PATH
# Keep only last 7 days of backups
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;
echo "Backup completed: $BACKUP_DIR/$DATE"
Haz el script ejecutable y programa:
# Make executable
sudo chmod +x /usr/local/bin/wp-backup.sh
# Add to crontab (daily at 2 AM)
sudo crontab -e
# Add line:
0 2 * * * /usr/local/bin/wp-backup.sh >> /var/log/wp-backup.log 2>&1
Migración de WordPress
# On source server:
# 1. Export database
wp db export ~/migration/database.sql
# 2. Create files archive
cd /var/www/source.com/public_html
tar -czf ~/migration/wordpress-files.tar.gz .
# Transfer to new server (from source server):
scp ~/migration/* [email protected]:~/migration/
# On destination server:
# 1. Extract files
cd /var/www/example.com/public_html
tar -xzf ~/migration/wordpress-files.tar.gz
# 2. Create database
mysql -u root -p -e "CREATE DATABASE wordpress_db;"
# 3. Import database
wp db import ~/migration/database.sql
# 4. Update URLs
wp search-replace 'source.com' 'newserver.com' --all-tables
# 5. Update file permissions
sudo chown -R www-data:www-data /var/www/example.com/public_html
Exportar/Importar Contenido
# Export content to XML
wp export
# Export with filters
wp export --post_type=post --start_date="2024-01-01" --end_date="2024-12-31"
# Export specific authors
wp export --author=1
# Import content
wp import content.xml --authors=create
Automatización con Scripts
Script de Instalación Completa de WordPress
#!/bin/bash
# WordPress Quick Install Script
# Configuration
DOMAIN=$1
DB_NAME=$2
DB_USER=$3
DB_PASS=$4
ADMIN_USER=$5
ADMIN_PASS=$6
ADMIN_EMAIL=$7
if [ -z "$7" ]; then
echo "Usage: $0 <domain> <db_name> <db_user> <db_pass> <admin_user> <admin_pass> <admin_email>"
exit 1
fi
SITE_PATH="/var/www/$DOMAIN/public_html"
# Create directory
sudo mkdir -p $SITE_PATH
sudo chown -R $USER:$USER $SITE_PATH
# Navigate to directory
cd $SITE_PATH
# Download WordPress
wp core download
# Create database
mysql -u root -p -e "CREATE DATABASE $DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost';"
mysql -u root -p -e "FLUSH PRIVILEGES;"
# Create config
wp config create --dbname=$DB_NAME --dbuser=$DB_USER --dbpass=$DB_PASS
# Install WordPress
wp core install --url=https://$DOMAIN --title="$DOMAIN" --admin_user=$ADMIN_USER --admin_password=$ADMIN_PASS --admin_email=$ADMIN_EMAIL
# Install essential plugins
wp plugin install wordpress-seo --activate
wp plugin install wordfence --activate
wp plugin install wp-super-cache --activate
wp plugin install contact-form-7 --activate
# Install and activate theme
wp theme install astra --activate
# Remove default plugins
wp plugin delete hello
wp plugin delete akismet
# Remove default themes
wp theme delete twentytwenty
wp theme delete twentytwentyone
# Set permalinks
wp rewrite structure '/%postname%/'
wp rewrite flush
# Disable comments on pages
wp post list --post_type=page --format=ids | xargs -d ' ' -I % wp post update % --comment_status=closed
# Set timezone
wp option update timezone_string 'America/New_York'
# Discourage search engines (for development)
wp option update blog_public 0
# Set correct permissions
sudo chown -R www-data:www-data $SITE_PATH
sudo find $SITE_PATH -type d -exec chmod 755 {} \;
sudo find $SITE_PATH -type f -exec chmod 644 {} \;
echo "WordPress installed successfully at $SITE_PATH"
echo "Admin URL: https://$DOMAIN/wp-admin"
echo "Username: $ADMIN_USER"
Script de Mantenimiento de WordPress
#!/bin/bash
# WordPress Maintenance Script
SITE_PATH="/var/www/example.com/public_html"
cd $SITE_PATH
echo "=== WordPress Maintenance Script ==="
echo "Date: $(date)"
echo ""
# Update WordPress core
echo "Updating WordPress core..."
wp core update --allow-root
# Update plugins
echo "Updating plugins..."
wp plugin update --all --allow-root
# Update themes
echo "Updating themes..."
wp theme update --all --allow-root
# Optimize database
echo "Optimizing database..."
wp db optimize --allow-root
# Delete spam comments
echo "Deleting spam comments..."
SPAM_COUNT=$(wp comment list --status=spam --format=count --allow-root)
if [ $SPAM_COUNT -gt 0 ]; then
wp comment delete $(wp comment list --status=spam --format=ids --allow-root) --allow-root
echo "Deleted $SPAM_COUNT spam comments"
fi
# Delete transients
echo "Deleting transients..."
wp transient delete --all --allow-root
# Flush cache
echo "Flushing cache..."
wp cache flush --allow-root
# Check for issues
echo "Checking for plugin issues..."
wp plugin verify-checksums --all --allow-root
echo ""
echo "Maintenance completed!"
Script de Actualización Masiva para Múltiples Sitios
#!/bin/bash
# Update Multiple WordPress Sites
SITES=(
"/var/www/site1.com/public_html"
"/var/www/site2.com/public_html"
"/var/www/site3.com/public_html"
)
for SITE in "${SITES[@]}"; do
echo "Updating $SITE..."
cd $SITE
# Update core
wp core update --allow-root
# Update plugins
wp plugin update --all --allow-root
# Update themes
wp theme update --all --allow-root
echo "$SITE updated successfully!"
echo ""
done
echo "All sites updated!"
Mejores Prácticas
1. Usar --allow-root con Precaución
# Only use --allow-root when necessary (e.g., in cron jobs)
# Better: run commands as web server user
sudo -u www-data wp plugin update --all
2. Siempre Hacer Copia de Seguridad Antes de Actualizaciones Importantes
# Create backup before major update
wp db export backup-before-update.sql
wp core update
3. Probar en Staging Primero
# Test updates in staging environment
wp @staging core update
wp @staging plugin update --all
# If successful, update production
wp @production core update
wp @production plugin update --all
4. Usar Alias de WP-CLI
Crea alias para sitios comunes:
# Create WP-CLI config
nano ~/.wp-cli/config.yml
Contenido:
@production:
ssh: [email protected]/var/www/example.com/public_html
@staging:
ssh: [email protected]/var/www/staging.example.com/public_html
@local:
path: /var/www/localhost/public_html
Uso:
# Run commands on remote servers
wp @production plugin list
wp @staging core update
5. Habilitar WP_DEBUG para Desarrollo
# Enable debug mode
wp config set WP_DEBUG true --raw
# Enable debug logging
wp config set WP_DEBUG_LOG true --raw
# Disable debug display
wp config set WP_DEBUG_DISPLAY false --raw
6. Usar Verificación de Checksums
# Verify WordPress core files
wp core verify-checksums
# Verify plugin files
wp plugin verify-checksums --all
# Verify specific plugin
wp plugin verify-checksums wordpress-seo
Solución de Problemas
WP-CLI No Encuentra WordPress
# Ensure you're in WordPress root directory
cd /var/www/example.com/public_html
# Verify wp-config.php exists
ls -la wp-config.php
# Use --path parameter
wp --path=/var/www/example.com/public_html plugin list
Errores de Permisos
# Check current user
whoami
# Run as web server user
sudo -u www-data wp plugin list
# Fix file permissions
sudo chown -R www-data:www-data /var/www/example.com/public_html
Errores de Memoria
# Increase PHP memory limit temporarily
php -d memory_limit=512M /usr/local/bin/wp plugin update --all
# Or update php.ini
sudo nano /etc/php/8.2/cli/php.ini
# Set: memory_limit = 512M
Errores de Base de Datos
# Check database connection
wp db check
# Repair database
wp db repair
# Re-create wp-config.php
wp config create --dbname=db_name --dbuser=db_user --dbpass=db_pass --force
Depuración de Comandos
# Enable debug mode
wp --debug plugin list
# Verbose output
wp plugin install wordpress-seo --verbose
# Get help for specific command
wp help plugin install
Ver Información del Sistema
# Check WP-CLI info
wp cli info
# Check WordPress info
wp core version --extra
# Check PHP info
wp cli info
Conclusión
WP-CLI es una herramienta poderosa que puede mejorar significativamente tu flujo de trabajo de WordPress. Desde instalaciones automatizadas hasta mantenimiento masivo de múltiples sitios, WP-CLI ahorra tiempo y reduce errores.
Puntos Clave:
- WP-CLI permite gestionar WordPress completamente desde la línea de comandos
- Perfecto para automatización, scripts y tareas masivas
- Soporta todas las operaciones principales de WordPress
- Integración fácil en flujos de trabajo DevOps y CI/CD
- Reduce significativamente el tiempo de despliegue y mantenimiento
Comandos Más Útiles:
wp core download- Descargar WordPresswp core install- Instalar WordPresswp plugin install <plugin> --activate- Instalar pluginswp theme install <theme> --activate- Instalar temaswp db export- Exportar base de datoswp search-replace- Buscar y reemplazar en BDwp user create- Crear usuarioswp plugin update --all- Actualizar todos los plugins
Próximos Pasos:
- Crear scripts de despliegue personalizados
- Configurar backups automatizados con WP-CLI
- Integrar WP-CLI en pipelines CI/CD
- Explorar paquetes de WP-CLI de terceros
- Configurar gestión remota de sitios con WP-CLI
- Implementar pruebas automatizadas con WP-CLI
Dominar WP-CLI te convierte en un administrador de WordPress mucho más eficiente y te permite escalar la gestión de múltiples sitios WordPress de manera efectiva.


