Mantenimiento de WordPress

Última revisión: 3 de mayo de 2020

Tabla de contenidos

WordPress es un sistema que se basa mucho en la retro compatibilidad con versiones anteriores, y que además trabaja mucho para el buen mantenimiento del núcleo. Por defecto se realizan actualizaciones de las versiones menores, de forma que se puede mantener actualizado automáticamente durante mucho tiempo con mejoras de seguridad que van apareciendo.

Aún así, es más que recomendable mantener todo el sistema para que se vayan aplicando actualizaciones de seguridad y de funcionalidad.

Actualizaciones del núcleo

Por norma general WordPress tiene unos sistemas mínimos de actualización que se pueden actualizar desde el fichero de configuración wp-config.php. Tenemos tres opciones por defecto:

Actualizaciones menores de WordPress: esta opción realizaría la actualización automática de la versión 5.4.1 a la 5.4.2.

define('WP_AUTO_UPDATE_CORE', 'minor');

Actualizaciones mayores de WordPress: esta opción realizaría la actualización automática de la versión 5.4.1 a la 5.5.0.

define('WP_AUTO_UPDATE_CORE', true);

Sin actualizaciones automáticas: esta opción impediría cualquier actualización automática del núcleo de WordPress.

define('AUTOMATIC_UPDATER_DISABLED', true);

Actualización de todo el WordPress

Una opción poco recomendada pero que existe es el forzar que todo el sistema se actualice. Para ello existen varios hooks de WordPress que permiten activar desde un plugin esto. De la misma forma que se puede activar también se puede activar (cambiando true por false).

defined('ABSPATH') or die('Bye bye!');
add_filter('auto_update_core', '__return_true');
add_filter('auto_update_plugin', '__return_true');
add_filter('auto_update_theme', '__return_true');
add_filter('auto_update_translation', '__return_true');
add_filter('auto_core_update_send_email', '__return_true');

Este sistema no es recomendado.

Plugins & Themes Auto-Updates

A partir de WordPress 5.5 se incorpora un sistema nativo dentro de WordPress que permite elegir qué plugins y themes queremos que se actualicen automáticamente para facilitarnos el trabajo y no tener que hacerlo manual desde el panel de administración. Previo a la integración en el núcleo existe el plugin WordPress Auto-updates.

Mantenimiento con WP-CLI

Otra opción interesante para el mantenimiento y revisión del estado de WordPress es el uso de WP-CLI. Este sistema nos permie controlar prácticamente todo WordPress desde la línea de comando y, entre otras cosas, el mantenimiento y actualización de sus componentes.

Instalación de WP-CLI

La instalación es bastante simple.

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
wp --info

Con esto descargamos el software, verificamos que está y lo configuramos en una carpeta para que esté disponible desde todo el sistema.

A partir de aquí podemos hacer algunas cosas.

NOTA: los comandos a continuación son un ejemplo de lo que se puede hacer, pero tienes documentación de todos los comandos si quieres hacer cosas más específicas.

Verificación y mantenimiento de WP-CLI

Podemos revisar que está instalado y actualizarlo a su última versión.

wp cli version
wp cli check-update
wp cli update

Una vez hayamos verificado que está instalado, podemos visitar la carpeta donde tenemos el fichero wp-config de nuestro WordPress.

cd /carpeta/de/instalacion/wordpress/

Verificación de WordPress

Verificamos que no haya nada «raro» instalado en el núcleo.

wp core verify-checksums

También podemos revisar la configuración del wp-config.

wp config get

Y por ejemplo listar los usuarios que hay en el sistema.

wp user list

Revisión del núcleo

Revisamos la versión del WordPress.

wp core version

Comprobamos si hay una nueva versión de WordPress.

wp core check-update

Si es necesario, podemos actualizar a la última versión de WordPress.

wp core update

Revisión de plugins

Lo primero que podemos hacer es una revisión de los plugins instalados.

wp plugin list

A continuación, listamos todos los plugins que tienen actualizaciones.

wp plugin update --dry-run --all

Y podemos hacer una actualización de todos los plugins.

wp plugin update --all

Revisión de themes

Lo primero que podemos hacer es una revisión de los themes instalados.

wp theme list

A continuación, listamos todos los themes que tienen actualizaciones.

wp theme update --dry-run --all

Y podemos hacer una actualización de todos los themes.

wp theme update --all

Revisión de traducciones

Hacemos una lista de todos los idiomas instalados.

wp language core list

Listamos todos los idiomas que tengan traducciones pendientes.

wp language core update --dry-run

Y si nos cuadra todo, procedemos a la actualización.

wp language core update

Otros comandos interesantes

Existen otras herramientas que nos pueden ayudar al mantenimiento de nuestro WordPress. Algunas de estas se presentan a continuación.

Eliminar todos los transients caducados

wp transient delete --expired

Comprobar el prefijo de las tablas de WordPress

wp db prefix

Verificar el tamaño de la base de datos de WordPress

wp db size

Optimizar la base de datos de WordPress

wp db optimize

Verificar el tamaño de la base de datos de WordPress

wp db size

Herramientas externas

En el caso de tener que gestionar muchos WordPress, puedes hacer uso de algunos sistemas externos. Algunos de estos sistemas son:

  • MainWP WordPress Manager (gratis y de pago): Es un plugin para WordPress. Dispone de la opción de Servidor y de Cliente, todo funcionando sobre los WordPress y bajo tu control. Si te preocupa la privacidad y el control de los datos, es muy buena opción ya que tú tienes el control de los mismos.
  • InfiniteWP (gratis y de pago): Es un software complementario a WordPress. Al igual que MainWP, dispone de una herramienta Servidor y Cliente, todo funcionando bajo tu control.
  • ManageWP (gratis y de pago): Es un servicio externo a tu WordPress. En este caso, los datos de tus sitios y el control se haránd esde una plataforma externa donde se manda la información.