Por motivos de seguridad, hace ya bastante tiempo que el equipo desarrollador de WordPress ha decidido habilitar por defecto las actualizaciones automáticas mayores tanto para el núcleo del CMS como para los archivos de idioma.
Por ejemplo, una actualización del núcleo de la versión 4.1 a la 4.2 está considerada como una actualización mayor, denominada originalmente ‘major update’, mientras que una actualización del núcleo de la versión 4.1.2 a la versión 4.1.3 estaría considerada como una actualización menor o ‘minor update’.
Resulta que las actualizaciones menores suelen ser las más importantes porque se centran en corregir errores de programación y de seguridad, mientras que las actualizaciones mayores se centran en agregar nuevas funcionalidades o agregar cambios algo más profundos.
Podemos cambiar la configuración de estas actualizaciones automáticas editando el archivo wp-config.php. Lo recomendado, es activar las actualizaciones automáticas menores y realizar las mayores manualmente por si ocurre algún error, pudiendo así realizar una copia de respaldo de la base de datos y de los datos antes de hacer los cambios.
Contenidos
- 1 Modificando el archivo wp-config.php para configurar las actualizaciones automáticas
- 2 Configurar actualizaciones automáticas mediante filtros
- 2.1 Activar o desactivar las actualizaciones automáticas del núcleo aplicando filtros
- 2.2 Activar o desactivar las actualizaciones automáticas para los archivos de idioma mediante filtros
- 2.3 Activar o desactivar las actualizaciones automáticas para nuestro tema mediante filtros
- 2.4 Activar o desactivar las actualizaciones automáticas para nuestros plugins mediante filtros
Modificando el archivo wp-config.php para configurar las actualizaciones automáticas
Nos conectamos mediante FTP o SSH a nuestro servidor o cuenta de hosting y editarmos el archivo wp-config.php localizado en la carpeta raíz de WordPress.
Activar o desactivar todas las actualizaciones automáticas
Mediante el la constante AUTOMATIC_UPDATER_DISABLED podemos habilitar o deshabilitar todas las actualizaciones automáticas; así por ejemplo con:
define( 'AUTOMATIC_UPDATER_DISABLED', true );
Estaríamos deshabilitando todo tipo de actualizaciones automáticas; algo poco recomendable pero que puede requerirse en algunas ocasiones.
Si ponemos la opción con el valor false o sencillamente eliminamos esta línea de configuración, estaríamos dejándolas con su configuración por defecto, pudiendo configurar cada tipo de actualización como veremos ahora.
Activar o desactivar las actualizaciones mayores y menores:
Mediante la constante WP_AUTO_UPDATE_CORE podemos configurar cada tipo de actualización en concreto. Sus posibles valores son los siguientes:
define( 'WP_AUTO_UPDATE_CORE', true );
Si el valor es true, estaremos activando todo tipo de actualizaciones; incluso las de desarrollo que aún no están 100% testeadas en caso de que estemos utilizando ya una versión de desarrollo. Esta opción no es recomendable para entornos de producción.
define( 'WP_AUTO_UPDATE_CORE', false );
Con el valor en false, estaríamos desactivando tanto las actualizaciones mayores como las de desarrollo, así como las menores; algo que tampoco se recomienda.
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
Por último, con el valor ‘minor’, estaríamos activando solamente las actualizaciones automáticas menores y deshabilitando el resto. Es la configuración por defecto y la que nos permitirá irnos a la cama más tranquilos.
Configurar actualizaciones automáticas mediante filtros
Alternativamente también podemos configurar las actualizaciones mediante los filtros que ofrece WordPress en los archivos de nuestro tema; habitualmente en el archivo functions.php.
Activar o desactivar las actualizaciones automáticas del núcleo aplicando filtros
Si por ejemplo queremos deshabilitar tanto las actualizaciones mayores como las menores del nucleo, deberemos escribir:
add_filter( 'auto_update_core', '__return_false' );
Lo habitual será dejarlas habilitadas y en caso de querer cambiar la configuración por defecto, usar las siguientes filtros cuyos valores recomendados son ‘__return_false‘ para desactivar el filtro y ‘__return_true‘ para activar el filtro.
Para activar las actualizaciones automáticas del núcleo a versiones en desarrollo:
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
Para desactivar en concreto todas las actualizaciones automáticas mayores del núcleo:
add_filter( 'allow_major_auto_core_updates', '__return_false' );
Y para habilitarlas:
add_filter( 'allow_major_auto_core_updates', '__return_true' );
Para deshabilitar las actualizaciones automáticas menores del núcleo:
add_filter( 'allow_minor_auto_core_updates', '__return_false' );
Para habilitar las actualizaciones automáticas menores del núcleo:
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
Activar o desactivar las actualizaciones automáticas para los archivos de idioma mediante filtros
Mediante estos archivos también podemos configurar las actualizaciones automáticas de los archivos de idioma; por lo que con:
add_filter( 'auto_update_translation', '__return_false' );
Estaremos deshabilitando la actualización automática de los archivos de idioma.
Activar o desactivar las actualizaciones automáticas para nuestro tema mediante filtros
Estas actualizaciones no suelen ocurrir automáticamente salvo que representen una fuerte vulnerabilidad en la seguridad de WordPress y es por ello que existe un tipo de actualizaciones especial denominado «security team updates», llevadas a cabo por parte del equipo de desarrollo de WordPress. Estas actualizaciones son las únicas que son automáticas, siendo las otras manuales. Podemos activar las actualizaciones automáticas para nuestro tema mediante:
add_filter( 'auto_update_theme', '__return_true' );
Y podemos desactivar estas actualizaciones de seguridad mediante:
add_filter( 'auto_update_theme', '__return_false' );
Activar o desactivar las actualizaciones automáticas para nuestros plugins mediante filtros
Al igual que para los temas, podemos aplicar filtros a nuestros plugins.
Mediante el siguiente filtro activaremos las actualizaciones automáticas para todos los plugins:
add_filter( 'auto_update_plugin', '__return_true' );
En caso de querer desactivarlas, incluyendo las actualizaciones de seguridad, agregaremos:
add_filter( 'auto_update_plugin', '__return_false' );
Y esto es todo; en la documentación original de WordPress podéis encontrar más información al respecto.
Hola!
Quería hacerte una consulta. Bueno primero que me ha costado encontrar la carpeta wp-config en mi administrador de archivos, por si a alguien le sirve estaba dentro de «public_html». En segundo lugar, he añadido lo que indicas para activar las actualizaciones menores, guardo cambios y ¿ya está? ¿o hay que hacer alguna copia de seguridad? me sigue saltando error en mi administrador de wordpress.
¡Gracias!
No debería saltar un error debido a esta configuración. Cuál es el mensaje del error?
esta sería la configuracion correcta para actualizar el core (incuida cambio de ramas) pero no las versiones de desarrollo, y los plugins?
define( ‘WP_AUTO_UPDATE_CORE’, ‘minor’ );
add_filter( ‘auto_update_plugin’, ‘__return_true’ );
y cada cuanto tiempo mas menos comprueba el sistema las actualizaciones, una vez al dia? cada semana?
Gracias.