Resolución de errores 404 en las URL de categorías de Magento 2.4.7

Índice

  1. Introducción
  2. Verificación de integridad de la base de datos
  3. Restablecimiento de atributos de categoría
  4. Recrear reescrituras de URL
  5. Solución de conflictos de extensiones de depuración
  6. Revisión de registros y reporte de errores de Magento
  7. Cambiar Magento al modo de desarrollador
  8. Asegurar la actualización y compilación adecuadas
  9. Verificar la integridad de los archivos principales
  10. Corregir los permisos de archivos y directorios
  11. Restaurar desde una copia de seguridad
  12. Conclusión
  13. Preguntas frecuentes
Shopify - App image

Introducción

¿Has actualizado recientemente tu plataforma Magento de la versión 2.4.3 a la 2.4.7 y has descubierto que todas las URL de tus categorías dan error 404? Para las empresas de comercio electrónico, estas interrupciones pueden ser un punto de dolor significativo. Este artículo tiene como objetivo ofrecerte una guía completa de solución de problemas para resolver los problemas de las URL de categorías después de la actualización. Al final de este artículo, no solo comprenderás las causas más comunes, sino que también obtendrás pasos accionables para poner en marcha tu tienda Magento nuevamente.

Magento es una plataforma robusta, pero las actualizaciones de versión a veces pueden presentar desafíos imprevistos. Esta publicación de blog tiene como objetivo proporcionar una guía autorizada para superar estos obstáculos. Cubriremos la verificación de la integridad de la base de datos, el restablecimiento de los atributos de categoría, las reescrituras de URL y la solución de conflictos de extensiones de depuración, entre otras soluciones.

Si estás luchando con las URL de categorías rotas después de una actualización de Magento, esta guía está adaptada para ti. Vamos a sumergirnos en los pasos que necesitas seguir para solucionar y corregir estos problemas.

Verificación de integridad de la base de datos

El primer paso para resolver los problemas de URL de categoría en Magento 2.4.7 es asegurarse de que la integridad de la base de datos no esté comprometida. Las discrepancias en la base de datos pueden hacer que las categorías no se muestren correctamente.

Verificar la tabla de entidades de categoría

Asegúrate de que tu tabla de entidades de categoría (catalog_category_entity) esté intacta. Ejecuta consultas SQL para buscar entradas faltantes o corruptas. Además, confirma que las relaciones padres-hijos en el árbol de categorías estén mapeadas correctamente.

SELECT * FROM catalog_category_entity WHERE entity_id NOT IN (SELECT entity_id FROM catalog_category_entity_varchar);

Verificar las tablas EAV

El modelo de entidad-atributo-valor (EAV) en Magento a veces puede generar inconsistencias en los atributos. Examina las tablas EAV para asegurarte de que los valores de los atributos coincidan con los esquemas requeridos.

SELECT * FROM eav_attribute WHERE entity_type_id = (SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_category');

Verificar la tabla de reescritura de URL

Verifica que la tabla url_rewrite esté configurada correctamente para las reescrituras de URL de las categorías. Las reescrituras de URL corruptas o faltantes suelen provocar errores 404.

SELECT * FROM url_rewrite WHERE entity_type = 'category';

Restablecimiento de atributos de categoría

A veces, los atributos pueden corromperse durante una actualización. Restablecer los atributos de categoría puede ayudar a restaurar la funcionalidad normal.

Actualizar los atributos de categoría

Ejecuta consultas para restablecer y actualizar los atributos críticos de las categorías.

UPDATE catalog_category_entity_varchar SET value = 'new-value' WHERE attribute_id = (SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'name');
-- Reemplaza 'new-value' con valores reales y 'name' con otros códigos de atributo si es necesario

Recrear reescrituras de URL

A veces, recrear manualmente las reescrituras de URL puede solucionar el problema.

Guía paso a paso para recrear reescrituras de URL

  1. Deshabilitar las reescrituras de URL:

    UPDATE core_config_data SET value = 0 WHERE path = 'web/seo/use_rewrites';
    
  2. Limpiar la caché:

    php bin/magento cache:clean && php bin/magento cache:flush
    
  3. Habilitar nuevamente las reescrituras de URL:

    UPDATE core_config_data SET value = 1 WHERE path = 'web/seo/use_rewrites';
    
  4. Reindexar:

    php bin/magento indexer:reindex
    

Solución de conflictos de extensiones de depuración

A menudo, las extensiones de terceros o los módulos personalizados causan conflictos que interrumpen las funcionalidades después de las actualizaciones.

Deshabilitar todas las extensiones

Deshabilita todos los módulos de terceros y las extensiones personalizadas para ver si el problema persiste.

php bin/magento module:disable Vendor_ModuleName

Si las categorías comienzan a funcionar, habilita las extensiones una por una para identificar la problemática.

Revisión de registros y reporte de errores de Magento

Revisa los registros ubicados en el directorio var/log/ para obtener información sobre lo que está causando el problema.

Examinar los registros

Busca errores relacionados con las categorías o las reescrituras de URL en system.log y exception.log.

tail -f var/log/system.log var/log/exception.log

Cambiar Magento al modo de desarrollador

Activar el modo de desarrollador puede proporcionar mensajes de error más detallados que resultan útiles para la solución de problemas.

php bin/magento deploy:mode:set developer

Asegurar la actualización y compilación adecuadas

Asegúrate de que el proceso de actualización y compilación de Magento se haya completado correctamente sin errores.

php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy

Verificar la integridad de los archivos principales

Asegúrate de que no se hayan alterado los archivos principales de Magento durante el proceso de actualización.

diff -rq /ruta/al/magento/original /ruta/al/magento/actualizado

Corregir los permisos de archivos y directorios

Asegúrate de que los permisos de archivos y directorios estén configurados correctamente.

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 777 var/ pub/ generated/

Restaurar desde una copia de seguridad

Como último recurso, si es posible, restaura los datos de las categorías desde una copia de seguridad realizada antes de la actualización.

Conclusión

Siguiendo los pasos detallados en esta guía completa, deberías poder resolver cualquier problema de error 404 en las URL de las categorías después de actualizar a Magento 2.4.7. Siempre asegúrate de tener una copia de seguridad antes de realizar actualizaciones o cambios significativos. Si el problema persiste, considera comunicarte con el soporte de Magento o contratar a un desarrollador profesional.

Preguntas frecuentes

¿Cuáles son los primeros pasos a seguir cuando las URL de categoría devuelven errores 404 después de una actualización de Magento?

Comienza por verificar la integridad de la base de datos, restablecer los atributos de categoría y recrear las reescrituras de URL.

¿Cómo puedo identificar si una extensión está causando el problema?

Deshabilita todas las extensiones y módulos personalizados de terceros, luego habilítalos uno por uno para identificar el culpable.

¿Por qué debería cambiar Magento al modo de desarrollador para la solución de problemas?

El modo de desarrollador proporciona mensajes de error más detallados, que pueden ser muy útiles para diagnosticar problemas.

¿Qué hago si mis datos de categoría están corruptos?

Considera restaurar desde una copia de seguridad si está disponible. Esta puede ser la forma más rápida de resolver el problema.