Lo bonito de meterte en problemas es que para salir de ellos tienes que rebanarte los sesos para encontrar soluciones. Dentro de estas soluciones suelen aparecer metodologías, programas y funcionalidades nuevas. En el post de hoy, tras el marronaco del otro día, la herramienta que reapareció en mi terminal fue wp-cli (como los libros aquellos que has oído a hablar de ellos, pero un día aparece de nuevo y te lo comes como un sabroso manjar).
Este fin de semana pasado el proyecto de kaosenalred.net se ha reconvertido a lanueve.info. En su momento hice este otro post explicando como crawlear una página web con wordpress con httrack. El cliente, en lugar de esperar unas horas mas y arreglar el problema de su wordpress, decidió montar otro wordpress. En el lapso de tiempo de la web vieja y la nueva, en el nuevo wordpress han creado la friolera de 2600 entradas nuevas. A la hora de fusionar las dos webs había varias formas, la escogida esta vez ha sido usar Herramientas > Exportar, lo cual te genera un fichero .xml (WXR) con las categorías, los autores, los medios y las entradas. Mi experiencia en importaciones de este tipo en el pasado ha sido que en blogs con mucho contenido es timeout y problemas asegurados, así que otra solución es wp-cli. wp-cli es un programa para gestionar instancias de wordpress.
Para instalarlo, descargaremos el fichero wp-cli.phar, le daremos permisos de ejecución y lo guardaremos al directorio /usr/local/bin/ como wp:
root@planet3D:~# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar root@planet3D:~# chmod +x wp-cli.phar root@planet3D:~# mv wp-cli.phar /usr/local/bin/wp
Para usarlo entraremos como usuario www-data o el usuario con el que esté corriendo el servidor http (apache o nginx) sobre el root del wordpress (donde está el fichero wp-config.php)
root@planet3D:~# su - www-data -s /bin/bash www-data@planet3D:~$ cd /var/www/wp/ www-data@planet3D:~$ wp --info OS: Linux 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 Shell: /bin/bash PHP binary: /usr/bin/php7.4 PHP version: 7.4.25 php.ini used: /etc/php/7.4/cli/php.ini MySQL binary: /usr/bin/mysql MySQL version: mysql Ver 15.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper SQL modes: WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli WP-CLI vendor dir: phar://wp-cli.phar/vendor WP_CLI phar path: /home/virtualmin/kaosenlared.net/public_html WP-CLI packages dir: WP-CLI global config: WP-CLI project config: WP-CLI version: 2.6.0
Si queremos ver los comandos posibles para wp-cli, recomiendo ir a la documentación de wp-cli.
En mi caso el comando que me ha interesado para importar el wordpress nuevo al viejo para después volver a empezar el crawling con httrack es wp import
www-data@planet3D:~$ wp import WordPress.xml --authors=create
Y listos, ya no me extiendo mas, todo lo que necesitas saber en la documentación 🙂 igualmente aquí os dejo una captura de pantalla de las opciones que te da wp-cli
Nueva entrada del Blog:
Like this:
Fuente obtenida de: https://blackhold.nusepas.com/2022/02/07/gestionar-wordpress-por-terminal-con-wp-cli/