Cómo actualizar Magento y matener protegido tu ecommerce

por David Abad
Actualizar-Magento

Adobe publica actualizaciones de Magento periódicamente para mejorar la seguridad y añadir o modificar determinadas funcionalidades. Por lo que, para asegurar la mejor experiencia y la mayor seguridad, es importante tanto estar al día de las actualizaciones disponibles, como saber aplicarlas correctamente.

Tipos de actualización

Magento utiliza lo que se conoce como versionado semántico. Este tipo de versionado recoge actualizaciones de diferentes tipos:

  • Major Release: Versión completa de Magento. (Por ejemplo: v2)
  • Minor Release: Versión que puede incluir nuevas versiones de módulos y funcionalidades, así como cambios de requerimientos como la versión de PHP necesaria. Este tipo de actualización puede llegar a producir problemas en módulos personalizados implementados para extender Magento. (Por ejemplo: v2.4)
  • Patch Release: Versión centrada en aspectos de seguridad, rendimiento y cumplimiento de normativas. Este tipo de actualizaciones no debería ocasionar problemas y los módulos personalizados deberían funcionar sin problema. (Por ejemplo: v2.4.3)
  • Security Patch Release: Versión centrada en mejorar aspectos de seguridad. Este tipo de actualización tampoco debería ocasionar ningún problema imprevisto. (Por ejemplo: v2.4.3-p1)

Riesgos al actualizar

Actualizar Magento a una versión posterior puede aportar beneficios en cuanto a seguridad, rendimiento y funcionalidad, pero también puede ocasionar una serie de problemas. Por ello es necesario conocer los riesgos que puede implicar una actualización de versión:

  • Cambios de requisitos de sistema: Las actualizaciones pueden introducir cambios en las versiones del software necesario del sistema (PHP, MySQL, ElasticSearch, etc.), por lo que además de realizar acciones a nivel de código, implicarán acciones a nivel de sistema.
  • Cambios de layout imprevistos: Las actualizaciones pueden introducir cambios a nivel de layout, incluyendo nuevos bloques o modificando los existentes en algunas de las páginas nativas de Magento. 
  • Cambios de estilo imprevistos: Las actualizaciones pueden introducir cambios de estilo en los temas nativos de Magento (Luma, Blank). Por tanto, si el tema utilizado en nuestro Magento hereda de uno de estos temas nativos, es posible que pueda sufrir algún cambio.
  • Conflictos funcionales: Las actualizaciones pueden introducir cambios funcionales que entren en conflicto con implementaciones personalizadas para el proyecto.
  • Código deprecado: Las actualizaciones pueden marcar determinados elementos de código como deprecados (uso de Magento Registry, funciones de los bloques de escapado contenidos,  funciones CRUD de los modelos, etc.). 
  • Código personalizado incompatible: Las actualizaciones pueden producir incompatibilidades con funcionalidades personalizadas implementadas en módulos propios o en librerías de terceros. Uno de los puntos críticos que más problemas puede causar es el uso de class rewrites (class preference) en las implementaciones de código personalizado.

Consejos al actualizar

Para minimizar los riesgos que implica una actualización, es conveniente seguir los siguientes consejos:

  • Verificar si los requisitos del sistema de la nueva versión coinciden con los de la versión actual.
  • Verificar los cambios funcionales que introduce la actualización y analizar si puede entrar en conflicto con componentes personalizados o librerías de terceros.
  • Durante la implementación de componentes personalizados, no utilizar funciones deprecadas.
  • Durante la implementación de componentes personalizados, no utilizar class rewrites. 
  • Tras la actualización, realizar una validación visual de posibles elementos de layout o estilos inesperados.
  • Tras la actualización, realizar una validación funcional de implementaciones personalizadas y librerías de terceros.

Requisitos de cada versión

Cada versión de Magento puede tener unos requisitos diferentes en cuanto al software necesario para alojar y ejecutar la plataforma. 

La siguiente tabla muestra los requisitos de cada versión, que siempre puede consultarse desde la documentación técnica oficial de Magento.

Requisitos Magento

Requisitos Magento

Cómo actualizar Magento

La forma más estable y recomendada tanto para instalar Magento como para actualizarlo es utilizar Composer. Los siguientes comandos actualizarán los ficheros composer.json y composer.lock de Magento, y descargaran todo lo necesario en el vendor del proyecto.

Para actualizar Magento Community:

rm -rf vendor/*
composer require magento/product-community-edition:2.X.X --no-update
composer update

Para actualizar Adobe Commerce:

rm -rf vendor/*
composer require magento/product-enterprise-edition:2.X.X --no-update
composer update

Para actualizar Adobe Commerce (CLOUD):

rm -rf vendor/*
composer require magento-cloud-metapackage:2.X.X --no-update
composer require magento/product-enterprise-edition:2.X.X --no-update
composer update

En caso de utilizar alguna librería de terceros incluida mediante Composer que requiera actualización, también deberá solicitarse su nueva versión.

Tras esto se deberá limpiar la caché, los ficheros generados y lanzar un proceso de despliegue

Información disponible

Uno de los puntos más importantes es mantenerse informado sobre el roadmap de Magento en cuanto a actualizaciones, nuevas funcionalidades, requerimientos, etc. Los siguientes enlaces ofrecen toda la información necesaria para mantenerse al día de cualquier cambio:

Déjanos tu email para recibir contenido interesante en tu bandeja de entrada, cada mes.

¡No hacemos spam!

Otros artículos