En este artículo te quiero contar sobre mi experiencia con PrestaShop, uno de los sistemas e-commerce más populares, escrito en PHP.
Como mi experiencia con PrestaShop ha sido pésima, la idea de este post es contarte por qué fue así y advertirte de todos los problemas que te podés ahorrar al no elegirlo para tu próximo proyecto.
Mi opinión es subjetiva y si considerás que PrestaShop es una buena herramienta, te respeto. Sin embargo, yo considero lo contrario y aquí me explayaré al respecto.
Contenido
- 1 La historia detrás, ¿cómo llegué a PrestaShop?
- 2 PrestaShop a primera vista
- 3 Los plugins y temas
- 4 El mantenimiento
- 5 Los errores constantes
- 6 La comunidad y los foros
- 7 El pésimo rendimiento
- 8 El aroma a naftalina
- 9 Algunos consejos para usar PrestaShop
- 10 Conclusiones
- 11 Más contenido sobre programación y modo de vida freelancer en Crónicas Freelancer
La historia detrás, ¿cómo llegué a PrestaShop?
En 2020, fui contactado por una pequeña empresa que necesitaba crear un sitio web institucional y, a la vez, un sistema e-commerce para sus productos del rubro alimenticio.
La primera idea que tuve fue juntar todo en un WordPress usando WooCommerce para la parte de la tienda. Sin embargo, esta empresa tenía servicios suficientemente importantes que debían destacar y no ser absorbidos por el sistema e-commerce.
Decidí, junto al cliente, que lo mejor era crear dos sitios webs. Uno con la web institucional, que iba a estar hecha en WordPress, y otro sitio para la tienda.
Lo único que tenía que definir era qué sistema e-commerce utilizar para la tienda. Las alternativas eran otro WordPress con WooCommerce o instalar un OpenCart, un PrestaShop o un Magento.
Instalar un WordPress aparte me pareció mala idea. Para eso, era mejor juntar todo en un WordPress solo, así que descarté la opción.
Con OpenCart tuve la oportunidad de trabajar en varios proyectos y siempre me pareció un sistema malo, feo y poco profesional.
Nunca tuve la oportunidad de trabajar con Magento, aunque lo he instalado y probado. Siempre me pareció un poco complejo y para este caso de uso puntual era una herramienta demasiado grande.
Decidí quedarme con PrestaShop porque parecía ser la mejor opción y lo que mejor se adaptaba para el tipo de tienda que necesitaba mi cliente. Decidimos comenzar con el tema básico de PrestaShop, con algunas modificaciones básicas de estilos.
PrestaShop a primera vista
En un primer vistazo, PrestaShop es un sistema atractivo y estéticamente armonioso. Parecer ser (y de hecho es) un gran submundo dentro del universo de PHP. Del mismo modo que lo es WordPress o Drupal, aunque a una escala mucho menor.
Parece haber muchos temas, cientos de plugins y muchas opciones de personalización.
Se ve también una gran variedad de estadísticas y reportes para poder llevar un buen control de todo lo que sucede en la tienda.
Algo que me pareció muy interesante son todas las opciones vinculadas al manejo de los pedidos una vez realizados.
Sin embargo, no todo lo que brilla es oro.
Los plugins y temas
En PrestaShop los plugins son llamados módulos y el principal problema es que la gran mayoría son pagos. Y no solo son pagos. Son bastante caros.
Los módulos que estuve viendo y que me interesaron comenzaban en los US$ 30, sin garantías de que fueran a funcionar perfectamente y muchas veces, para agregar una funcionalidad mínima a lo que ya ofrece PrestaShop.
Sin módulos, tu PrestaShop puede quedar sin funcionalidades importantes, como por ejemplo un servicio de logística más completo, o un reducido número de medios de pago.
Algo similar ocurre con los temas, pero estos son muchísimo más caros. Y la verdad es que no todos se ven profesionales. Ni hablar de que muchas veces, para adaptarlo a las necesidades de tu cliente, habrá que realizar modificaciones a nivel código. Es decir, tampoco ocurre que uno paga y tiene todo servido.
Intentar eludir estos módulos a través de la modificación del tema o del código de PrestaShop es algo inútil y lleva a complicar el proyecto.
La alternativa es crear tus propios temas y plugins, pero para eso es necesario zambullirse en la arquitectura de PrestaShop, algo que te puede llevar demasiado tiempo.
El mantenimiento
En algún momento del camino el cliente empieza a necesitar cambios. Muchos de estos cambios son simplemente ajustes.
Por ejemplo, modificar el checkout para que aparezcan zonas de entrega personalizadas. Cambiar este tipo de funcionalidad es posible sin recurrir al código, pero se puede volver una pesadilla.
PrestaShop parece tener widgets como los de WordPress. Me refiero a pequeños bloques visuales que se pueden acomodar aquí o allá en el layout de las diferentes páginas. Pero esto no es así en realidad. Existen uno o dos widgets que solo pueden ubicarse en determinados lugares.
Esto obliga a continuamente tener que realizar modificaciones al tema base para poder agregar lo que se necesita mostrar en pantalla.
Los errores constantes
Cada tanto, algo pasa y el sistema se rompe. Puede ser una actualización de un módulo, el cambiar algo en la configuración o el simple hecho de acceder a una parte del administrador que hizo correr algún tipo de script.
Esto deriva siempre en tener que investigar extraños errores de PHP y ponerse a leer logs. Alguien podría creer que, bueno, eso es parte de programar y administrar una web.
Sin embargo, la verdad es que esto no sucede tan seguido con otras herramientas como WordPress, Drupal, OpenCart y muchas otras. No es normal tener que estar resolviendo problemas de forma constante luego de no haber realizado ningún cambio dramático.
Una vez me ocurrió que falló una actualización de versiones de PrestaShop resultando en la caída completa de la web. El sistema tiene una sección para actualizarse solo. Las pocas veces que lo usé, tuve dificultades.
La peor de todas fue aquella en la que el sistema quedó inutilizado. Logré levantar todo de nuevo casi de milagro y a gracias a la buena costumbre de hacer backups periódicos. Todo eso me consumió casi dos días de trabajo.
La comunidad y los foros
No quiero herir susceptibilidades en este punto. Imagino que para que un sistema como PrestaShop funcione a nivel mundial, debe haber un grupo de programadores hábiles y competentes detrás. Sin embargo, la comunidad deja mucho que desear desde el punto de vista del conocimiento y del nivel de programación.
Los foros de PrestaShop son prácticamente inútiles. Podés encontrar preguntas que nunca nadie contestó o respuestas que mientras las leés te das cuenta de que no aportan nada y que quien la escribió no tiene idea de nada de programación.
Cada tanto, alguien, en alguna respuesta, sugiere editar un archivo en el directorio vendor del proyecto. El directorio vendor en PHP equivale al node_modules en npm. Es justamente el lugar donde nunca hay que tocar. Lo peor es que esos usuarios reciben respuestas positivas agradeciendo por el valioso aporte.
Los foros de PrestaShop suelen ser esos foros donde hay solamente dos personas que entienden algo contestando desde hace años. Si esas personas no ven tu mensaje o no te pueden ayudar, no hay mucho más que hacer. Pasás a depender de tu nivel, conocimiento y experiencia con PHP.
He programado durante años en PHP y siempre ha existido esa fama de que los programadores PHP son amateurs. Creo que eso, en gran medida, se ha extendido por este tipo de comunidades.
El pésimo rendimiento
Cada tanto, PrestaShop se pone terriblemente pesado y lento. La verdad es que no comprendo en qué momentos o circunstancias sucede.
Pensé que podía ser la configuración del servidor, pero no parece ser el caso. Pero de todos los sistemas que tengo corriendo en el servidor, es el único que trae problemas.
En general, la tienda funciona bien, pero cuando se quiere acceder al administrador, comienzan las demoras de carga. Esto es lo que me reporta el cliente. A veces logro confirmar esto y otras veces, no.
Actualmente, no tengo una forma de solucionar esto. Intento activar y desactivar la caché, o tocar algunos de los parámetros de rendimiento.
El aroma a naftalina
Si no sabés lo que es la naftalina, te cuento que es un sólido de color blanco en formato de bolitas que se ponen en los roperos para evitar que las polillas se coman la ropa. En Argentina, los solían usar nuestras bisabuelas y alguna que otra abuela.
El olor a naftalina es sinónimo de olor a rancio, a viejo. PrestaShop apesta a naftalina por todos lados.
Los menúes, el administrador, la ventana que se abre para cargar las imágenes, son interfaces gráficas que yo vi en el 2009 y ya eran viejas en ese entonces.
En ese sentido, PrestaShop se parece muchísimo a Drupal, o al menos a versiones anteriores que llegué a ver de Drupal. No quiero ni imaginarme cómo está hecha la parte de frontend y JavaScript de este tipo de sistemas.
Algunos consejos para usar PrestaShop
Por último, si ya estás usando PrestaShop o si no podés evitar usarlo porque te lo han impuesto, te dejo algunos consejos que quizás te sean de utilidad.
- Realizá backups seguidos tanto del código como de la base de datos. Si es posible, un backup diario de la base de datos y al menos un backup de código por cada vez que vayas a actualizar módulos.
- Si te es posible, versioná el código en algún servicio como GitHub o BitBucket, mejor.
- Intentá configurar el servidor sobre el cual corre PrestaShop con todas las optimizaciones posibles para evitar que se ponga lento y pesado. Usá el mod_deflate en Apache, PHP-FPM, Memcached y cualquier otra optimización que esté a tu alcance.
Conclusiones
Espero haberte dejado en claro por qué elegir PrestaShop es una mala idea.
¿Qué hubiera debido hacer? Sin dudas, elegir WordPress con WooCommerce. Al menos tiene plugins gratuitos y el código de WordPress es bastante más simple.
Más contenido sobre programación y modo de vida freelancer en Crónicas Freelancer
Espero que este artículo haya sido de tu interés. Si insulté a tu sistema favorito y te ofendiste, madurá. Los sistemas son solamente herramientas. Nunca lo olvides.
Si estás buscando hosting, te recomiendo Digital Ocean. Seguí este enlace para obtener US$ 200 de crédito para usar en un periodo de 60 días.
Te invito a que me sigas en las redes: LinkedIn, X, GitHub e Instagram. También estoy en CodeWars.
Eso es todo. Muchas gracias por tomarte el tiempo de leerme.
Hasta la próxima.
Fuente foto:
PrestaShop lo usé hace muchísimos años atrás.. pensé que ya había cerrado ese antro
No solo no cerró. Está igual o… peor.
Gracias por comentar.
Saludos