WP-CLI, Una Interfaz de Línea de Comandos para WordPress | SEOenred, Agencia SEO

 

WordPress es increíblemente fácil de usar gracias a su intuitiva interfaz gráfica, pero no es ideal para administradores de servidores ni proveedores de hosting que gestionan cientos de sitios. WP-CLI (Interfaz de Línea de Comandos de WordPress) es una potente herramienta que permite controlar todos los aspectos de WordPress desde la línea de comandos.

Cuando se necesita actualizar o instalar un plugin, gestionar varios sitios de WordPress con la línea de comandos y scripts resulta más eficiente. En este artículo, te mostraremos cómo instalar WP-CLI y destacaremos algunas de sus funciones más útiles, como la instalación, actualización y gestión del núcleo, los plugins y los temas de WordPress desde la línea de comandos.

 

Cómo Instalar WP-CLI en WHM/cPanel

WP-CLI es una Aplicación PHP autónoma, que pueden instalar tanto los Administradores de Servidores (WHM), como los Usuarios normales de cPanel.

  • Los Administradores de Servidores pueden Habilitar WP-CLI, para todos los usuarios del servidor.
  • Los Usuarios de cPanel, pueden instalarlo en su Directorio de Raíz/Inicio, o en el Directorio de un Sitio de WordPress, para controlar sus sitios.

 

Para Instalar y Usar, WP-CLI, necesitaremos Acceder a la Consola/Terminal de Línea de Comandos del Servidor WHM/cPanel.

  • Los Administradores con Acceso ROOT, pueden Iniciar Sesión con SSH, o con la Terminal Integrada en WHM.

Consola/Terminal Línea de Comandos de WHM/cPanel | SEOenred, Agencia SEO

 

  • Los Usuarios de cPanel, pueden Iniciar Sesión con SSH, si está disponible, o con la Terminal Integrada de cPanel.

Aplicación de Terminal en la Sección Avanzada del Panel de Administración cPanel | SEOenred, Agencia SEO

 

Advertencia de uso de la Terminal en el Panel de Administración de cPanel | SEOenred, Agencia SEO

 

Consola/Terminal de Línea de Comandos de cPanel | SEOenred, Agencia SEO

 

Lo primero que necesitaremos será, descargar WP-CLI al Servidor:

Descarga de WP-CLI en el Servidor WHM/cPanel | SEOenred, Agencia SEO

 

Antes de poder ejecutarlo, necesitaremos Proporcionar Permisos de Ejecución, mediante el Comando:

Permisos de Ejecuación (CHMOD) para WP-CLI en el Servidor WHM/cPanel | SEOenred, Agencia SEO

 

 

Configuración de WP-CLI como Usuario ROOT

Para permitir que cada Usuario ejecute WP-CLI, tenemos que moverlo a un directorio en la Ruta/Path del Sistema:

 

mv wp-cli.phar /usr/local/bin/wp

 

Este Comando, lo que hace es que:

  • Mueve el Archivo a la Ruta/Path “/usr/local/bin”
  • Lo renombra a “wp” para mayor comodidad (Aunque también se puede elegir otro Nombre de Archivo Significativo)

Mover el Archivo WP-CLI a un Directorio en la Ruta/Path del Sistema | SEOenred, Agencia SEO

Nos pedirá confirmación para el Cambio de Nombre de Archivo:

Confirmación del cambio de Nombre del Archivo WP-CLI a WP | SEOenred, Agencia SEO

 

Ahora, todos los Usuarios, deberían poder Ejecutar WP-CLI desde “wp”.

 

Configuración de WP-CLI como Usuario de cPanel

Los Usuarios de cPanel, sin Acceso ROOT, no pueden Mover Archivos a un Directorio en una Ruta/Path, pero pueden ejecutarlo desde su Carpeta/Directorio de Inicio, o en el Directorio/Carpeta de un Sitio de WordPress.

Para ejecutarlo desde Nuestro Directorio/Carpeta Personal, podemos indicarle a WP-CLI, qué Sitio de WordPress controlar, con la Opción «–path». Por ejemplo:

 

./wp-cli.phar config list --path=/home/user/public_html/

 

Si movemos WP-CLI, al Directorio/Carpeta del Sitio de WordPress, no tendremos que proporcionar una ubicación (Ruta/Path) con la Opción “–path”, pero deberemos especificar el Directorio/Carpeta, que contiene el ejecutable, utilizando “./” para el Directorio/Carpeta Actual.

 

/home/user/public_html/wp-cli.phar config list

 

Para facilitar su uso, podemos crear un Alias, que no es más que un Acceso Directo de la Línea de Comandos:

 

alias wp='~/wp-cli.phar’

 

El shell reemplazará “wp” por “~/wp-cli.phar”, lo que le permitirá ingresar a “wp”, en lugar de la Ruta/Path completa al ejecutable.

Podemos hacer que el Alias sea permanente con:

 

echo "alias wp='~/wp-cli.phar'" >> .bashrc

 

Estamos agregando el Comando Alias, al Archivo de Configuración, «.bashrc» de Nuestra Cuenta, para que se ejecute cada vez que lleve a cabo un Inicio de Sesión.

 

Cómo funcionan los Comandos de WP-CLI

Los Comandos de WP-CLI, se componen de un Comando Principal, seguido de un SubComando, para controlar aspectos particulares de un Sitio de WordPress.

Por ejemplo:

 

wp help

 

Aquí “help” es un Comando, que tiene algunos SubComandos como:

 

wp help core

 

Esto, imprime en Pantalla, Información de Ayuda para las Funciones Principales de Administración. La Herramienta, cuenta con un excelente Sistema Integrado de Ayuda y Documentación. Si no estamos seguros de qué Comandos podemos Ejecutar (O qué hacen), la Ayuda, debería ser nuestra Primera Opción.

 

Información de Ayuda para las Funciones Principales de Administración de WP-CLI | SEOenred, Agencia SEO

 

Comandos WP-CLI increíblemente útiles

Hay más de 40 Comandos y Cientos de SubComandos de WP-CLI. Podemos Consultar la Lista Completa de Comandos en la Documentación de WP-CLI, pero nos gustaría destacar algunos de los Comandos de WP-CLI más Útiles:

  1. Lectura y Escritura de Archivos de Configuración de WordPress
  2. Cambio de Contraseñas de Usuarios de WordPress
  3. Instalación del Núcleo, Temas/Themes/Plantillas y Plugins/Complementos de WordPress
  4. Copia de Seguridad y Optimización de la Base de Datos (BBBDD) de WordPress

 

Lectura y Escritura de la Configuración de WordPress | WP Config

El Comando de WP-CLI, Config, puede Leer y Escribir la Configuración de WordPress, que se almacena en el Archivo «wp-config.php».

Para ver las Variables de Configuración, en el Archivo «wp-config.php», de un Sitio Web en WordPress, primero nos dirigimos a la Carpate/Directorio donde tengamos instalado WordPress en el Servidor cPanel:

Lista de los Archivos y Carpetas que haya en el Directorio de la Cuenta de cPanel | SEOenred, Agencia SEO

 

Después navegamos al Directorio/Carpeta «public_html»:

Navegar al Directorio Público del Alojamiento Web de la Cuenta de cPanel | SEOenred, Agencia SEO

 

Y por último, ejecutamos el Comando de WP-CLI:

 

wp config list

 

Que imprime, en Pantalla:

Impresión en Pantalla de la Lista de Configuración de Archivos WordPress del Comando WP-CLI | SEOenred, Agencia SEO

 

Para Editar Variables de Configuración Individuales, como el Nombre de la Base de Datos, usaríamos el Comando de WP-CLI:

 

wp config set DB_NAME new_name

 

Para Generar un Nuevo Archivo de Configuración de WordPress «wp-config.php», con Valores Preconfigurados, usaríamos, el Comando de WP-CLI:

 

wp config create --dbname=user2_wp --dbuser=user2_wp --dbpass=new_password

 

 

Cambiar las Contraseñas de Usuarios de WordPress | WP User Update

En uno de los Artículos, anteriores, exploramos Cómo Cambiar las Contraseñas de Usuarios desde la Base de Datos (BBDD) de WordPress. Aquí tenemos, una forma más rápida, de Reemplazar/Actualizar/Modificar las Contraseñas de Usuarios de WordPress (Perdidas u Olvidadas):

 

wp user update USERNAME --user_pass="new_password"

 

Aunque, este Método, es más rápido, no es tan seguro, ya que la Contraseña de Texto Plano del Usuario, se almacena en el Historial del Shell. Se puede Eliminar las Entradas del Historial del Shell, usando la Flecha hacia Arriba (Del Cursor), para seleccionar el Comando y presionar Ctrl+U, para eliminar ese Comando Ejecutado.

 

Instalación del Núcleo, Temas/Plantillas y Complementos/Plugins de WordPress

Uno de los aspectos más útiles de Controlar WordPress desde la Línea de Comandos (WP-CLI) es la Capacidad de Instalar Todo (Desde un Complemento/Plugin, hasta un Sitio Web Completo en WordPress).

Empecemos instalando un Complemento/Plugin con el Comando de WP-CLI:

 

wp plugin install hello-dolly --activate

 

Para Instalar Sin Activar, omitiremos la Opción «––activate».

Para Encontrar el Nombre Correcto de un Plugin/Complemento, deberemos abrir su Página en el Catálogo/Repositorio de Plugins/Complementos de WordPress y copiar el Slug de la URL. En el Ejemplo Anterior, usamos el Plugin/Complemento de WordPress, Hello Dolly. La Dirección URL de su Página Web es «https://wordpress.org/plugins/hello-dolly/» y el Slug de la Página sería «hello-dolly».

 

Para Instalar un Tema/Plantilla, desde WP-CLI, usaríamos el Comando de WP-CLI:

 

wp theme install twentytwenty --activate

 

También podemos Desinstalar, Eliminar y Actualizar Complementos/Plugins y Temas/Themes. La Función de Actualización es especialmente útil en Sitios Web con muchos Complementos/Plugins.

Para Actualizar Todos los Complementos/Plugins de un Sitio Web en WordPress, al mismo tiempo, desde WP-CLI, usaríamos el Comando de WP-CLI:

 

wp plugin update --all

 

Finalmente, para Instalar un Nuevo Sitio Web de WordPress, en segundos, desde WP-CLI, usaríamos el Comando de WP-CLI:

 

wp core install --url=example.com --title="A New Site" --admin_user=frank --admin_password=astrongpassword --admin_email=frank@example.com

 

Al Ejecutar este Comando de WP-CLI, en la Línea de Comandos, se almacena la Contraseña de Administrador en Texto Simple en el Historial del Shell, pero podemos eliminarla como se vimos en la Sección Anterior.

 

Realizar una Copia de Seguridad (BackUp) y Optimizar la Base de Datos (BBDD) de WordPress

Como explicamos en anteriores Artículos sobre la Gestión de Alojamientos Web mediante el Panel de Administración Web, cPanel, es sencillo Volcar la Base de Datos (BBDD) MySQL de su Sitio Web, mediante la Interfaz Web de Usuarios de cPanel. Sin embargo, si preferimos hacer una Copia de Seguridad/BackUp desde la Terminal/Consola de Línea de Comando de cPanel, debemos usar el Comando de WP-CLI:

 

wp db export --add-drop-table

 

La Opción “–add-drop-table”, nos garantiza que los Datos se reemplacen correctamente, al Restaurar la Copia de Seguridad/BackUp.

El Comando de WP-CLI, Export, crea un Archivo SQL, con un Nombre Basado en la Fecha y Nombre de la Base de Datos (BBDD). Para poder Especificar un Nombre de Archivo Diferente, debemos añadir, al final del Comando WP-CLI:

 

wp db export --add-drop-table database-backup.sql

 

Para Restaurar la Base de Datos (BBDD), deberemos importar el Archivo SQL con el Comando de WP-CLI:

 

wp db import database-backup.sql

 

La Acción de Importar, es una Acción Destructiva, por lo que eliminará, irremediablemente, cualquier Dato añadido a la Base de Datos (BBDD), después de realizar la Copia de Seguridad /BackUp.

Finalmente, podemos Optimizar/Reparar la Base de Datos (BBDD) de WordPress, mediante los Comandos de WP-CLI:

 

wp db optimize

 

Y

 

wp db repair

 

La Optimización de la Base de Datos (BBDD) de WordPres, reorganiza el Almacenamiento de Datos, para Agilizar la Lectura y la Escritura de los Datos en los Registros.

El Comando de WP-CLI, Repair, intenta la reparación de las Tablas Dañadas, de la Base de Datos (BBDD) de WordPress. Suele ser recomendable intentarlo cuando se sospecha que la Base de Datos (BBDD), de WordPress, está dañada, o en una Situación de Pantalla Blanca, donde la Interfaz de WordPress no Funciona.

 

Gestión Multisitios de WordPress rápida y eficiente con WP-CLI

WP-CLI es una Herramienta esencial para quienes alojan y administran un gran número de sitios de WordPress. Puede reducir considerablemente el tiempo y el esfuerzo necesarios para realizar tareas de mantenimiento regulares.

En este artículo, nos centramos en la Ejecución Manual de Comandos, pero todos los Comandos mencionados (Y muchos más) pueden usarse en Códigos de Scripts, para Automatizar Flujos de Trabajo/WorkFlow Complejos.

WP-CLI también puede combinarse con Cron, para Programar Tareas de Administración de WordPress.

 

Si usar WP-CLI, todavía, parece un poco desalentador, cPanel ha agregado los Comandos WP-CLI, más utilizados a WP Toolkit para cPanel en la Versión 92. Lanzar un Sitio Web, Administrar Complementos/Plugins y Temas/Plantillas/Themes (Y mucho más), están a solo un Click de Ratón, de distancia.