WP-CLI es la interfaz de línea de comandos de WordPress. Hace que las tareas que normalmente exigen muchos clics en la administración sean rápidas y eficientes. En Theory7, WP-CLI está disponible de serie en los servidores con acceso SSH. En esta guía descubrirás la potencia de WP-CLI para gestionar WordPress.

¿Por qué WP-CLI?

WP-CLI ofrece grandes ventajas:

  • Velocidad: actualizaciones en segundos en lugar de minutos de clics. Resulta especialmente práctico para desarrolladores y administradores que gestionan varios sitios.
  • Automatización: tareas que se pueden programar con scripts para varios sitios. Esto puede ahorrar tiempo al ejecutar tareas de mantenimiento rutinarias.
  • Operaciones en bloque: actualizar todos los plugins a la vez. Es imprescindible en sitios con muchos plugins, porque reduce el riesgo de incompatibilidades.
  • Acceso en caso de problemas: funciona también si wp-admin no carga. Esto puede ser crucial en una emergencia en la que no se pueda acceder al frontend o al backend del sitio.
  • Operaciones de base de datos: ejecutar consultas SQL directamente. Te da más control y flexibilidad a la hora de gestionar tu base de datos.

Comprobar si WP-CLI está disponible

Comprueba si WP-CLI está instalado:

wp --version

En los servidores de Theory7, WP-CLI está disponible de serie. Si no encuentras WP-CLI, ponte en contacto con tu proveedor de hosting para que te ayude.

Uso básico de WP-CLI

Ir a la carpeta de WordPress

Todos los comandos de WP-CLI deben ejecutarse desde la raíz de WordPress:

cd /var/www/html/wordpress

O especifica la ruta:

wp --path=/var/www/html/wordpress core version

Comprobar la versión de WordPress

wp core version

Este comando muestra la versión actual de WordPress, un dato útil antes de ejecutar actualizaciones.

Información de la base de datos

wp db cli

Esto abre la interfaz de línea de comandos de MySQL, donde puedes ejecutar comandos SQL directamente. Puede resultar útil para operaciones avanzadas en la base de datos.

Actualizar WordPress

Actualizar el núcleo

Comprueba si hay una actualización disponible:

wp core check-update

Ejecuta la actualización:

wp core update

Después de actualizar, actualiza la base de datos:

wp core update-db

Actualizar los plugins

Actualizar todos los plugins:

wp plugin update --all

Un plugin concreto:

wp plugin update woocommerce

Es útil si sabes que un plugin concreto ha recibido una actualización importante.

Actualizar los temas

wp theme update --all

Actualizar los temas es tan importante como actualizar los plugins, porque los temas obsoletos también pueden suponer riesgos de seguridad.

Gestión de plugins

Ver los plugins

wp plugin list

Solo los plugins activos:

wp plugin list --status=active

Instalar un plugin

wp plugin install wordpress-seo

Instalar y activar:

wp plugin install wordpress-seo --activate

Es una forma práctica de añadir rápidamente nuevas funciones a tu sitio.

Activar o desactivar un plugin

wp plugin activate plugin-naam
wp plugin deactivate plugin-naam

Eliminar un plugin

wp plugin delete plugin-naam

Es una forma rápida de eliminar los plugins que no usas y mantener tu sitio ordenado.

Gestión de temas

Ver los temas

wp theme list

Activar un tema

wp theme activate theme-naam

Instalar un tema

wp theme install flavflavor --activate

Es importante mantener tus temas actualizados para garantizar la compatibilidad con los plugins y la seguridad.

Gestión de usuarios

Ver los usuarios

wp user list

Crear un usuario nuevo

wp user create john john@example.com --role=administrator

Con contraseña:

wp user create john john@example.com --role=editor --user_pass=wachtwoord123

Restablecer una contraseña

wp user update admin --user_pass=nieuwwachtwoord

Eliminar un usuario

wp user delete 123 --reassign=1

Reassign asigna el contenido al usuario con ID 1. Es útil para asegurarte de que no se pierda contenido al eliminar un usuario.

Operaciones de base de datos

Exportar la base de datos

wp db export backup.sql

Es crucial para hacer copias de seguridad antes de aplicar cambios importantes.

Importar la base de datos

wp db import backup.sql

Puede ser útil después de una migración o si quieres restaurar una versión anterior de tu base de datos.

Buscar y reemplazar

Perfecto para migraciones:

wp search-replace 'http://oud.domein.nl' 'https://nieuw.domein.nl'

Primero, una prueba sin cambios (dry run):

wp search-replace 'oud' 'nieuw' --dry-run

Esto evita cambios no deseados y te ayuda a ver qué va a cambiar.

Optimizar la base de datos

wp db optimize

Ayuda a mejorar el rendimiento de tu base de datos al liberar el espacio no utilizado.

Gestión de la caché

Vaciar la caché

wp cache flush

Puede ayudar a resolver problemas con contenido obsoleto que se sigue mostrando.

Eliminar los transients

wp transient delete --all

Los transients son datos temporales que se pueden eliminar para mantener limpia la base de datos.

Caché de objetos

wp cache flush
wp rewrite flush

Puede ser útil después de hacer cambios en la estructura de tus enlaces permanentes.

Opciones de WordPress

Ver una opción

wp option get siteurl
wp option get blogname

Cambiar una opción

wp option update blogname "Mijn Nieuwe Sitetitel"

Cambiar la URL del sitio

wp option update siteurl 'https://nieuwdomein.nl'
wp option update home 'https://nieuwdomein.nl'

Es importante al trasladar un sitio a un nuevo dominio.

Mantenimiento y reparación

Verificar las sumas de comprobación

Comprueba que los archivos del núcleo estén intactos:

wp core verify-checksums

Reinstalar el núcleo

wp core download --force

Puede ser útil si crees que hay archivos dañados o que se han perdido.

Reparar la base de datos

wp db repair

Puede ayudar a resolver problemas con la base de datos.

WP-CLI para varios sitios

WordPress Multisite

wp site list
wp plugin activate plugin-naam --network

Esto hace que gestionar varios sitios dentro de una red sea mucho más sencillo.

Recorrer todos los sitios

for site in $(wp site list --field=url); do
    wp --url=$site plugin update --all
done

Es una forma potente de ejecutar las actualizaciones de todos los sitios de una instalación multisitio.

Comandos útiles de una línea

Actualización completa

wp core update && wp core update-db && wp plugin update --all && wp theme update --all && wp cache flush

Es una forma práctica de actualizarlo todo de una vez.

Eliminar todos los plugins inactivos

wp plugin delete $(wp plugin list --status=inactive --field=name)

Ayuda a mantener tu instalación de WordPress limpia y ordenada.

Eliminar los comentarios de spam

wp comment delete $(wp comment list --status=spam --format=ids)

Puede ayudar a mejorar el rendimiento de tu sitio al eliminar datos no deseados.

Resolución de problemas

Error: MySQL server has gone away

Tiempo de espera agotado en la conexión con la base de datos. Vuelve a intentarlo o comprueba el servidor de la base de datos.

Error: This does not seem to be a WordPress installation

Asegúrate de estar en el directorio raíz de WordPress.

Out of memory

wp --memory_limit=512M plugin update --all

Puede ayudar si te encuentras con límites de memoria al ejecutar comandos.

Más información sobre el hosting WordPress en Theory7

¿Necesitas ayuda?

Estamos a tu disposición. ¿Te has encontrado con algún problema o tienes alguna pregunta? Nuestro equipo de soporte te ayudará encantado de forma personal. Envíanos un mensaje a través del sistema de tickets: normalmente respondemos en unas horas y buscamos contigo la mejor solución.