Actualizar un módulo debería ser cuestión de pulsar un botón. Casi siempre lo es. Pero cuando falla, el síntoma suele ser el más temido en PrestaShop: un error 500 («Internal Server Error») sin más explicación. Es lo que nos pasó en octubre de 2026 en velasdeolor.es al actualizar el módulo de blog: la tienda funcionaba con normalidad, pero los artículos del blog daban error 500. Contamos qué lo causó, cómo lo arreglamos y qué conviene revisar antes de actualizar cualquier módulo.
El síntoma
- Tras actualizar el módulo de blog (BLOG de PrestaHero,
ybc_blog) de la versión 4 a la 5.0.4, las páginas de los artículos dejaron de cargar y devolvían un error 500. - El resto de la tienda (portada, categorías, fichas, carrito) seguía funcionando.
- El módulo nuevo, en sí, estaba bien instalado.
Que solo fallaran las páginas del blog ya era una pista: el problema tenía que estar en algo que se ejecuta únicamente en esas páginas.
Un poco de contexto: qué es un override
PrestaShop permite que un módulo modifique el comportamiento del núcleo sin tocar sus archivos: el módulo instala un «override», una clase que extiende la original y sustituye alguno de sus métodos. Es un mecanismo potente, pero tiene una particularidad importante: todos los overrides de una misma clase se juntan en un único archivo, aunque vengan de módulos distintos.
En esta tienda, el archivo que sobrescribe la clase Link (la que genera todas las URL) contenía métodos de tres módulos diferentes:
- El módulo de URL amigables de la tienda, que cambia cómo se generan las direcciones de las categorías.
- El módulo de blog, que cambia los enlaces de idioma de sus páginas.
- Un módulo propio que hace que los enlaces de cada marca lleven a su categoría.
Cada método lleva un comentario con el módulo, la fecha y la versión que lo instaló. Ese detalle fue clave.
La causa: código de la versión anterior
El método que el módulo de blog había instalado en marzo, con su versión 4.7.6, generaba los enlaces de idioma de las páginas del blog llamando a una función interna del propio módulo. En la versión 5, el fabricante reorganizó el código del módulo y esa función pasó a otro sitio.
Al actualizar, ese trozo de código antiguo se quedó en el override. Así que, cada vez que se abría un artículo, PrestaShop intentaba generar los enlaces de idioma, entraba en el override, llamaba a una función que ya no existía y PHP se detenía con un error fatal: error 500. Como ese código solo se ejecuta en las páginas del módulo de blog, el resto de la tienda no se enteraba.
En resumen: el módulo nuevo estaba bien, pero convivía con un resto de la versión anterior que nadie recordaba que existía.
La solución
El arreglo fue pequeño, pero había que hacerlo con cuidado, porque el archivo afectado también contenía el código de otros dos módulos:
- Copia de seguridad del archivo de override antes de tocar nada, con la fecha en el nombre.
- Sustituir solo el método del módulo de blog por la versión que corresponde a la 5.0.4, que llama a la nueva función de enlaces del módulo. Los métodos de los otros dos módulos se quedaron exactamente igual.
- Actualizar el comentario del método con la versión y la fecha nuevas, para que quien abra el archivo en el futuro sepa de dónde viene.
- Vaciar las cachés: la de PrestaShop y la caché de páginas, para que todas las páginas del blog se regeneren.
- Comprobar los artículos, las categorías del blog y el resto de la tienda.
Los posts volvieron a cargar con normalidad.
Por qué importa tanto un error 500 en el blog
Podría parecer un problema menor porque la tienda seguía vendiendo, pero no lo es:
- SEO: si Google encuentra errores 500 en páginas que antes funcionaban, primero reduce el rastreo y, si el error se mantiene, acaba retirándolas de los resultados. En una tienda donde el blog atrae visitas desde Google, como contamos en por qué un blog mejora el SEO de una tienda PrestaShop, es tráfico que se pierde.
- Enlaces desde otros sitios: redes sociales, campañas o la propia asistente con IA de la tienda, que enlaza artículos del blog en sus respuestas.
- Imagen: una clienta que llega a una página rota desconfía del resto de la tienda.
Qué revisar antes de actualizar un módulo en PrestaShop
- Mira la carpeta
override. Busca en los comentarios qué módulos tienen código ahí y de qué versión. Si el módulo que vas a actualizar aparece, revisa después de actualizar que su código se ha renovado. - Desconfía de las versiones mayores (de la 4 a la 5, por ejemplo): suelen reorganizar el código y es donde más fácil queda un resto incompatible.
- Haz copia de seguridad de archivos y base de datos antes de actualizar, y guarda aparte el archivo de override.
- Prueba primero en un entorno de pruebas con una copia actualizada de la tienda, si lo tienes.
- Después de actualizar, recorre las páginas del módulo, no solo la portada. En este caso, la tienda parecía perfecta y el fallo estaba solo en el blog.
- Ten a mano el registro de errores de PHP o el modo de depuración de PrestaShop: un error 500 suele ser un error fatal que indica el archivo y la línea exactos.
Conclusión
Los overrides son una herramienta útil, pero dejan código del módulo fuera de su carpeta, mezclado con el de otros módulos, y ahí se puede quedar olvidado durante años. Por eso, en los desarrollos propios de esta tienda evitamos los overrides siempre que podemos y, cuando no queda otra, los mantenemos pequeños y documentados, como en el caso del banner de cookies que volvía a aparecer.
Si tu tienda PrestaShop da errores 500 después de una actualización, o quieres actualizarla sin sustos, contacta con nosotros. También te puede interesar nuestra checklist de seguridad para tiendas PrestaShop.
Más casos reales de velasdeolor.es
Este artículo forma parte de una serie sobre las mejoras que hemos hecho en la tienda en octubre de 2026:
- Un buscador a medida para PrestaShop
- Asistente con inteligencia artificial para una tienda PrestaShop
- Rediseño de una tienda PrestaShop sin tocar la plantilla
- Productos relacionados automáticos: el mismo aroma en otros formatos
- El banner de cookies que volvía a aparecer
- Acceso con Google y con código por email en PrestaShop
- Precio anterior en las ofertas (norma Omnibus) en PrestaShop
- Previsión de compras en PrestaShop
