¿Utilizas WordPress? Incrementa tu productividad con WP-CLI


Hoy te propongo conocer y aprender a explotar esta extraordinaria herramienta diseñada para llevar a un plano superior tu productividad en WordPress: WP-CLI.

¿Qué es WP-CLI?

Son una serie de herramientas con las que podemos gestionar mejor nuestro sitio en WordPress desde la línea de comandos. Es el equivalente a la consola de Symfony o el gestor de paquetes de NodeJS (NPM), pero especializada en WordPress.

Puede que te parezca extraño que con el avance que se ha logrado en las interfaces gráficas, te diga que desde una línea de comandos se puedan hacer estas labores que te comento, por ejemplo, administrar el sitio o desarrollarlo, de manera más fácil.

Resulta que para los desarrolladores, la línea de comandos casi siempre es la mejor opción pues permite mejorar la productividad y la velocidad con que se realizan las tareas de administración.

Instalando WP-CLI

Lo primero que tienes que tener en cuenta es que, para utilizar esta herramienta se ha de trabajar en un ambiente UNIX/LINUX. Si trabajas sobre Windows deberás descargar e instalar CYGWIN, que nos proporciona un ambiente similar para poder utilizar esta herramienta.

Conociendo esto, descarga WP-CLI desde su repositorio en GitHub. Para eso teclea en la consola lo siguiente:

$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

El próximo paso es darle permisos de ejecución a dicho fichero:

$ chmod +x wp-cli.phar

Para finalizar, mueve el archivo a una carpeta específica para poder ejecutarlo desde cualquier lugar. Es conveniente renombrar el fichero para que te sea más fácil recordarlo. Para realizar estas dos tareas ejecuta lo siguiente:

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

Para comprobar que todo se realizó de forma satisfactoria, trata de obtener la información de la herramienta:

$ wp --info

Deberías ver en pantalla algo similar a esto:

PHP binary: /usr/bin/php
PHP version: 5.5.24
php.ini used: /etc/php.ini
WP-CLI root dir:  phar://wp-cli.phar
WP-CLI global config: /Users/kouratoras/.wp-cli/config.yml
WP-CLI project config:  
WP-CLI version: 0.19.2

¿Qué puedo hacer con WP-CLI?

Resumido en dos palabras: ser productivo. A continuación vamos a:

Descargar WordPress

Si antes para descargar WordPress tenías que bajar el comprimido y extraer su contenido, ahora un comando realiza todo lo anterior:

$ wp core download

Ejecutando esta línea de comando tendrás la última versión de WordPress en inglés. Si por el contrario deseas la versión en español debes utilizar los parámetros --version y –-locale. Para esto teclea:

$ wp core download --version=4.2.2 --locale=es_ES

Configurarlo (wp-config.php)

En lugar de modificar directamente el fichero de configuración de WordPress, escribe el siguiente comando y listo:

wp core config --dbname=nombrebd --dbuser=usuariobd --dbpass=passwordbd --dbhost=localhost --dbprefix=prefijo_

donde:

  • dbname=nombredb será el nombre que identifica a nuestra base de datos creada en nuestro servidor mysql
  • dbuser=usuariobd será el nombre del usuario permitido a trabajar con nuestra base de datos
  • dbpass=passwordbd será la contraseña del usuario anteriormente especificado
  • dbhost=localhost será el nombre o dirección IP del ordenador que almacena nuestra base de datos
  • dbprefix=prefijo_ será el prefijo que especificamos cuando creamos nuestra base de datos

Instalarlo

wp core install --url=example.com  --title="Título del sitio WordPress" --admin_user=nombreusuarioadmin --admin_password=claveusuarioadmin --admin_email="admin@misitio.es"

donde:

  • url=example.com será la dirección que hemos de teclear en nuestro navegador para accedes a nuestro sitio web
  • title=”Título del sitio WordPress” será el título que se mostrará cuando accedamos a nuestra página
  • admin_user=nombreusuarioadmin será el nombre de usuario con privilegios administrativos que definiremos para administrar nuestro servidor de WordPress
  • admin_password=claveusuarioadmin será la clave que definiremos para este usuario
  • admin_email=”admin@misitio.es” será la cuenta de correo que creamos para que nuestro servidor de WordPress nos envíe las notificaciones y otra información de interés relacionada con nuestro sitio.

Actualizar un sitio existente

Un entorno de WordPress actualizado garantiza que los parches de seguridad, las mejoras en la ejecución del código y otros componentes que son constantemente revisados y mejorados estén presentes en nuestro servidor.

Pero antes, debes hacer un backup a la base de datos y así evitar cualquier problema que pudiera surgir. Para elloo puedes utilizar el siguiente comando:

wp db export backup.sql

Ahora sí podrás actualizar con confianza tu instalación de WordPress:

wp core update
wp core update-db

Luego, para verificar que todo se haya ejecutado correctamente y que estamos ejecutando la última versión, ejecuta lo siguiente:

wp core version

Automatizando el proceso

Después de ver todo lo que debemos ejecutar para actualizar WordPress en la consola de comandos, pensarás que realizar todas estas tareas es más fácil desde el ambiente gráfico que éste implementa.

Puede que tengas razón pero ¿Te imaginas hacer todo eso utilizando el ambiente gráfico para 10 servidores? Sería muy tedioso y es posible que algo nos quedase sin hacer. Por eso te sugiero uses WP-CLI.

Para actualizar X cantidad de servidores una sola vez, puedes crear un script en BASH con un ciclo que realice la misma tarea para cada uno:

$ nano ~/wp-update.sh

#!/bin/bash
declare -a sites=('/var/www/wp1' '/var/www/wp2' '/var/www/wp3')
for site in "${sites[@]}";
do
  wp --path=$site core update
done

Donde /var/www sería la ruta donde estarían instalados nuestros servidores de WordPress y wp1, wp2, wp3, wpN, serían los directorios particulares de cada servidor.

Conclusiones

Hasta aquí una pequeña introducción a esta herramienta que como pudiste ver resulta de gran utilidad a la hora de gestionar nuestro sitio.

WP-CLI puede realizar muchísimas cosas más. Por eso te propongo que en una próxima entrega abordemos otras facilidades y posibilidades que nos brinda este paquete de herramientas.