Para este artículo haremos un análisis y descubriremos valiosas recomendaciones, trucos o hacks para la eficiente administración y gestión de actualizaciones en WordPress. Sin embargo, es crucial señalar que exploraremos consejos diseñados para aquellos con conocimientos previos en el manejo de SSH del servidor, así como una familiaridad con archivos fundamentales de WordPress, como el ‘wp-config’ o la estructura de carpetas del núcleo de WordPress. Al poseer este conjunto de habilidades, estarás preparado para aplicar de manera efectiva cada una de las recomendaciones que detallaremos a continuación.
ACTUALIZAR PLUGINS Y WORDPRESS ANTIGUOS
Si tienes una instalación muy antigua de WordPress, el proceso de ponerla al día es siempre actualizar primero los plugins, que se actualizarán solo a la última versión compatible con la versión de WordPress instalada. Luego actualiza WordPress y, a continuación, los plugins a su última versión.
PROBAR VERSIONES EN DESARROLLO
Si quieres probar versiones de WordPress aún en fase de desarrollo simplemente instala el plugin WordPress Beta Tester (es.wordpress.org/ plugins/wordpress-beta-tester/) que te permite tener la instalación con las versiones Alpha y Beta, incluso con las actualizaciones diarias.
CUÁNDO ACTUALIZAR WORDPRESS
Siempre hay que tener WordPress actualizado, y las actualizaciones menores se actualizan solas pero te recomiendo seguir esta norma para decidir cuándo actualizar WordPress:
1. Actualizaciones menores (p.ej. de la 4.6.1 a la 4.6.2): Son actualizaciones de seguridad y mantenimiento, actualizar siempre.
2. Actualizaciones mayores (p.ej. de la 4.6 a la 4.7): Actualizar tras comprobar que el tema y plugins son compatibles con los cambios.
ACTUALIZAR POR FTP RÁPIDAMENTE
Actualizar WordPress por este método manual sin que tus visitantes noten el cambio salvo unos pocos segundos:
1. Descargas este enlace: http://wordpress.org/latest.zip.
2. Descomprimes el fichero en tu ordenador y verás que la instalación estándar de WordPress son varios archivos sueltos y 3 carpetas (las carpetas son: wp-content, wp-includes y wp-admin).
3. Borras la carpeta wp-content local recién descomprimida, la cual no se sube nunca porque sino sobrescribes la carpeta de contenido de tu sitio, donde se guardan fotos, plugins, el tema, etc. Así no te equivocas, la borras tras descomprimir el zip y así no hay error posible.
4. Ahora el truco para una actualización rápida: renombra las carpetas locales wp-admin y wp-includes a wp-admin_nueva y wp-includes_nueva antes de subirlas.
5. Subes por FTP las carpetas wp-admin_nueva y wp-includes_ nueva, y de este modo tienes lo más pesado subido, por lo que ganas tiempo en que no está fuera de servicio tu sitio por la actualización.
6. Cuando estén subidas las carpetas renombradas subes los ficheros sueltos por FTP; en este caso sí te pedirá el cliente FTP sobrescribir los ficheros remotos, a lo cual aceptas (esto es muy rápido). A partir de este momento tu sitio mostrará errores a los lectores así que desde aquí tienes que hacer rápido este punto y los dos siguientes (el último punto no afecta a la visualización de tu sitio).
7. Renombras las carpetas remotas wp-admin y wp-includes a wp- admin_vieja y wp-includes_vieja.
8. Renombras las carpetas remotas wp-admin_nueva y wp-includes_ nueva a wp-admin y wp-includes.
9. Accedes a http://misitio.es/wp-admin/upgrade.php y en la siguiente pantalla te dirá si tienes que actualizar la base de datos; si es así, le das al botón y ya está hecho.
10. Para dejar todo limpito borras las carpetas remotas wp-admin_vieja y wp-includes_vieja.
MOSTRAR AVISOS DE ACTUALIZACIONES SOLO AL ADMINISTRADOR
Para que solo los administradores vean los avisos de actualizaciones añade el siguiente código a tu plugin de personalizaciones:
<?php function wp_hide_update() { global $current_user; get_currentuserinfo(); if ($current_user->ID != 1) { // solo el admin lo ve, cambia el ID de usuario si no es el 1 o añade todos los IDs de admin. remove_action( 'admin_notices', 'update_nag', 3 ); } } add_action('admin_menu','wp_hide_update'); ?>
WEB QUE NO SALE DEL MODO MANTENIMIENTO
Si tras realizar alguna actualización o instalación tu Web persiste en no salir del modo de mantenimiento y no mostrar su contenido es debido a un error en el proceso. Puedes devolver la Web a su funcionamiento normal accediendo por FTP o al administrador de archivos de tu alojamiento a la carpeta donde esté instalado WordPress y borrar un archivo llamado .maintenance.
SOLUCIÓN AL ERROR UNDEFINED FUNCTION IS_NETWORK_ADMIN()
Un error bastante habitual es el que muestra el mensaje «Error Fatal ‘Undefined Function is_network_admin'», normalmente debido a una actualización automática de WordPress con errores. La solución es actualizar manualmente mediante FTP a la versión que falló, sustituyendo los archivos y carpetas actuales de la instalación de WordPress por los nuevos, a excepción de la carpeta /wp- content/ y todo su contenido, que nunca debes sustituir en las actualizaciones o perderás todos los archivos subidos, plugins y temas.
DESACTIVAR AVISOS DE ACTUALIZACIÓN DE PLUGINS INACTIVOS
Si no quieres recibir avisos de actualizaciones disponibles de los plugins inactivos de tu instalación añade el siguiente código a tu plugin de personalizaciones:
function update_active_plugins($value = '') { if ((isset($value->response)) && (count($value->response))) { $active_plugins = get_option('active_plugins'); if ($active_plugins) { foreach($value->response as $plugin_idx => $plugin_item) { if (!in_array($plugin_idx, $active_plugins)) unset($value->response[$plugin_idx]); } } else { foreach($value->response as $plugin_idx => $plugin_item) { unset($value->response); } } } return $value; } add_filter('transient_update_plugins', 'update_active_plugins'); // Hook para 2.8.+
ACTUALIZAR TEMAS EN SEGUNDO PLANO
Si quieres que WordPress también actualice automáticamente y sin tu intervención los temas instalados puedes conseguirlo añadiendo este código a tu plugin de personalizaciones:
add_filter('auto_update_theme', '__return_true');
ACTUALIZAR PLUGINS EN SEGUNDO PLANO
Si quieres que WordPress también actualice automáticamente y sin tu intervención los plugins instalados puedes conseguirlo añadiendo este código a tu plugin de personalizaciones:
add_filter('auto_update_plugin','__return_true');
DESACTIVAR LA ACTUALIZACIÓN DE PLUGINS CONCRETOS
En ocasiones es interesante desactivar completamente las actualizaciones de plugins, ya sea por modificaciones o particularidades de una instalación. En estos casos es mejor desactivar la posibilidad de actualizaciones. Puedes hacerlo añadiendo un código como el siguiente, personalizado para tus necesidades, a tu plugin de personalizaciones:
/* Quitar actualizaciones de los plugins de la lista "unset"*/ function disable_plugin_updates( $value ) { unset( $value->response['jetpack/jetpack.php'] ); return $value; } add_filter( 'site_transient_update_plugins', 'disable_plugin_updates' );
Si quieres desactivar la actualización de otro plugin distinto del ejemplo simplemente cambia la línea de unset por la carpeta/archivo principal del plugin, o incluso añade tantas líneas unset como desees.
DESACTIVAR LOS EMAILS DE ACTUALIZACIONES
Cada vez que WordPress se actualiza por sí solo cuando hay nuevas versiones de mantenimiento y seguridad, se envía un correo electrónico al administrador para informarle de que el sitio se ha actualizado correctamente. Si quieres desactivar el envío automático de este mensaje solo tienes que añadir el siguiente código a tu plugin de personalizaciones:
add_filter( 'auto_core_update_send_email', '__return_false');
VOLVER A VERSIONES ANTERIORES DE PLUGINS Y TEMAS
Si, por algún motivo, necesitas instalar una versión anterior a la que tienes instalada de un plugin o tema puedes hacer fácilmente mediante el plugin WP Rollback (es.wordpress.org/plugins/wp-rollback/), que añade un enlace denominado «Rollback» a la pantalla de plugins y temas que te dejará elegir a qué versión quieres desactualizarlo.
ACTUALIZAR WORDPRESS POR SSH
Si tienes acceso a la interfaz de comandos de tu servidor puedes actualizar WordPress por SSH siguiendo los siguientes pasos:
1. Descarga la última versión y extráela:
wget http://wordpress.org/latest.tar.gz tar xfvz latest.tar.gz
2. Borra directorios antiguos:
rm -rf ./wp-admin rm -rf ./wp-includes
3. Mueve los archivos de la última versión a nuestra instalación para actualizarla:
cd wordpress mv * ../donde-esta-mi-web/
4. Ya hemos actualizado, ahora borramos lo que sobra:
cd ../ rm -rf ./wordpress/ rm -f latest.tar.gz
ACTUALIZAR TODOS LOS PLUGINS CON WP-CLI
WP-CLI dispone de un comando con el que actualizar todos los plugins instalados:
wp plugin update --all
ACTUALIZAR WORDPRESS CON WP-CLI
Con WP-CLI puedes actualizar automáticamente WordPress ejecutando los siguientes comandos (el segundo comprueba si es necesaria actualizar la base de datos tras la actualización):
wp core update wp core update-db
ACTUALIZAR WORDPRESS SIN MODIFICAR WP-CONTENT
Si quieres que las actualizaciones de WordPress no afecten en absoluto a nada que haya en la carpeta wp-content de tu instalación simplemente añade lo siguiente al archivo wp-config.php:
define('CORE_UPGRADE_SKIP_NEW_BUNDLED', TRUE );
De este modo impides que, por ejemplo, se actualicen los temas y plugins por defecto e inlcuso que se vuelvan a instalar si los borraste, además de asegurarte de no perder ninguna personalización.
ACTUALIZAR WORDPRESS SIN MODIFICAR WP-CONTENT
WordPress te muestra un aviso cuando hay actualizaciones de los plugins instalados, pero puedes impedir que aparezcan esos avisos añadiendo el siguiente código al archivo functions.php:
remove_action('load-update-core.php', 'wp_update_plugins'); add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;"));
ACTUALIZACIONES EN SEGUNDO PLANO TAMBIÉN A VERSIONES MAYORES
WordPress se actualiza solo cuando hay nuevas versiones de mantenimiento y seguridad pero ¿ y si quieres también que se actualice solo a versiones mayores?. Estoy hablando de pásar de la versión, por ejemplo, 4.5 a la 4.6.
Solo tienes que añadir este código al archivo wp-config.php:
define('WP_AUTO_UPDATE_CORE', true);
ACTUALIZAR LA RED
En una red multisitio, una vez actualices plugins o temas, debes acceder al menú Inicio > Actualizar la red para que los cambios se apliquen a todos los sitios de la red. Se actualizaran de 5 en 5 sin tu intervención.