Una duda que me encuentro mucho y no sólo en programadores, sino también en profesionales que buscan delegar de la forma más eficiente posible, es la siguiente ¿Qué es mejor? ¿Programar una plataforma bajo WordPress o mejor hacerlo desde cero?
Pues bien, en este artículo voy a intentar arrojar luz sobre este asunto, basándonos en datos puramente objetivos (económicos, velocidad, potencia, funciones, etc.), eso sí, desde ya os digo que desconfíes de cualquier persona que diga tener la verdad absoluta, ya que todo dependerá de lo que necesites, ya que un Ferrari puede ser un coche muy potente, pero quizás no nos haga falta tanta potencia o directamente no la vamos a poder pagar.
Es decir, todo dependerá de las circunstancias, pero bueno ¡Veamos las ventajas y desventajas de cada opción!
Programar bajo WordPress
Muchas personas piensan que WordPress sólo sirve para hacer página web y blogs o como mucho, tiendas online con algún plugin tipo woocomerce.
Pero la verdad es que con WordPress puedes hacer casi cualquier cosa, de hecho, existen redes sociales con millones de usuarios registrados que están basadas en WordPress, así como plataformas de alquiler de coches, empresas inmobiliarias, etc.
Tenemos que ver WordPress como si fuera la base de un programa en el que podemos hacer dos cosas:
- Instalar plugins
- Crear nuestros propios plugins
Una de las ventajas de usar WordPress para un proyecto es que existen miles de plugins (como mini-módulos), por lo que podemos instalar WordPress (la base) y luego ir creando nuestra plataforma con esos módulos (pagos con paypal, formularios, newsletter…)
Pero claro, si es una plataforma muy personalizada, es posible que no existan ciertos plugins, en ese caso, sólo tendremos que crear esos módulos específicos, pero nos habremos ahorrado el 90% del trabajo (gestión de usuarios, pasarela de pagos, etc.).
Pero para verlo todo en perspectiva, veamos las ventajas y desventajas.
Ventajas de programar bajo WordPress
- Desarrollo mucho más rápido
- Al poder instalar plugins con un click, puedes tener una plataforma más potente (más opciones).
- Más fácil de implementar actualizaciones o mejoras a tu proyecto.
- WordPress es como un estándar, por lo que podrá programar sobre él, otro programador que no conoce el código.
- Mucho, pero mucho más barato, en algunas ocasiones, puede ser hasta 10 veces más barato, el mismo proyecto bajo WordPress que desde cero.
Desventajas de programar bajo WordPress
- Antes que nada, la seguridad, tienes que actualizar semanalmente.
- Más lento que una programación desde cero.
- Soporta menos usuarios simultáneos que un desarrollo desde cero, por lo que puede empezar a dar problemas si superas el millón de visitas al mes.
Programar desde cero
Bien, tenemos claro las ventajas y desventajas de programar una plataforma bajo WordPress, pero ¿Qué pasa si lo hacemos desde cero?
Pues bueno, como es lógico, al hacerlo desde cero tendremos que programar absolutamente todo, incluida la base de datos, el sistema de registros, logins, seguridad, validaciones, etc.
Lógicamente podemos usar algún “framework” como por ejemplo CodeIgniter que nos permita programar más rápido (una especie de mini-wordpress sin base de datos), pero tenemos que ser conscientes de que no será igual que programar bajo WordPress.
Ojo, no es peor, es simplemente diferente, con unas ventajas y unas desventajas, veamos cuales son.
Ventajas de programar desde cero
- Tendremos un control total sobre el proyecto.
- Tendremos un rendimiento muy superior, lo que nos permitirá soportar más visitas en el mismo servidor (nos saldrá más barato los servidores).
- La web/plataforma se cargará más rápida.
- La seguridad será mayor, ya que no nos podrán atacar con las vulnerabilidades de WordPress.
- La plataforma puede ser más escalable (importante si el proyecto crece).
Desventajas de programar desde cero
- Desarrollo mucho más lento.
- Se tarda más en programar, lo que significa un aumento considerable del precio final (hasta 10 veces el precio de hacerlo con WordPress).
- Cada mejora hay que programarla (no sirven plugins de WordPress).
Programar bajo WordPress o desde cero
Como podemos observar, todo dependerá finalmente de las características de nuestro proyecto, si realmente lo podemos hacer con WordPress o necesitamos sí o sí hacerlo desde cero.
No obstante, cada vez más startups lanzan su plataforma basada en WordPress y cuando consiguen millones de peticiones al mes, ya miran si les interesa o no cambiarse a una programación desde cero.
Tenemos que tener en cuenta, que WordPress puede soportar millones de peticiones al mes sin problema, por lo que no es de extrañar que cuando empiece a ser un problema, la empresa esté facturando más de 100.000€/mes gracias a la plataforma, por lo que pueden permitirse entonces cambiar de plataforma.
Podcast Consultor IT
Puesto que es un tema muy interesante y en este artículo sólo hemos tocado la superficie, he realizado un podcast muy interesante donde entro más en detalle.
Ricardo Cruzate dice
¡Un tema controvertido!
Yo diría que si tu proyecto se puede solucionar con plugins ya hechos y te adaptas a su funcionamiento claramente la mejor opción es WordPress. Sería interesante investigar antes los posibles plugins que necesitarías.
Si no puedes o no quieres adaptarte a los plugins que hay y aún quieres WordPress tendrás que tener muy buen nivel de programación y ganas de descifrar códigos de otras personas.
Al final la respuesta es casi siempre la misma DEPENDE.
alfredo dice
Un capítulo interesante qué me ha generado un montón de comentarios que hacer pero voy tratar de resumir.
Hablando como programador web (con el culo pelao), creo que WordPress ha servido para democratizar el acceso a la web y que cualquier persona pueda tener una propia, exigiendo como pago unos conocimientos mínimos.
Parece que esta oferta de la facilidad de uso ha perdido el enfoque y resultase que WordPress ya es válido para cualquier proyecto, y no es así ni de lejos. Este CMS debería limitarse al área de blog pequeño y medio, con poco tráfico y deja de contar.
En cuanto comienzas a tener un número elevado de visitas, o bien cuentas con una optimización digna de profesionales o aquello se convierte en un cuello de botella del tamaño de Texas.
El problema de WordPress viene desde su propia concepción, ya que las consultas a la base de datos vienen de fábrica con el problema de n+1 query o sistema de queries dentro de un bloque while (En serio?). Está desarrollado usando un modelo bloqueante en cada petición (request) del cliente y para rematar la faena cada sesión de usuario consume un promedio de 2mb.
Para ser sinceros, el tema del peso de las sesiones (y parte de la movida bloqueante) es más cosa de Apache, pero como van cogidos de la mano, los meto en el mismo saco.
Sinceramente, para montar un blog antes recomendaría Ghost o cualquier sistema de generador de estáticos tipo Jeckill/Hugo.
Sin duda que hubo un antes y un después de la llegada y aceptación de WordPress, pero ello no implica que sea una plataforma horrenda desde el punto de vista técnico.
A mi modo de ver, un desarrollo desde cero es la única opción viable, aún optando por un enfoque Lean y buscando un MVP… Como dice mi madre «haz las cosas bien desde el principio y no trabajaras dos veces».
Y ojo, que entiendo que a gente sin perfil técnico, WordPress les parezca magia negra y que estén encantados con él. Ole por ellos. Si les sirve y cumple con lo que necesitan, no hay nada que objetar.
Pero si un CTO escoge WordPress como pilar de su stack tecnológico, es para darle con la mano abierta, del revés y varias veces.
Ale, creo que ya me he excedido del correo, pero es que le tengo mucho «cariño» a WordPress XD
Saludos
Pablo Salazar dice
Este comentario me resulto genial: «Pero si un CTO escoge WordPress como pilar de su stack tecnológico, es para darle con la mano abierta, del revés y varias veces.»
Y si, te topas con «expertos programadores WEB» que super recomiendan WP en lugar de PHP, C# o cualquiero otro lenguaje. Tratan de rematar su argumento con «para que quieres inventar el hilo negro si ya todo esta hecho en WP»… jajajaja… eso no lo soporte.
Saludos y excelente articulo.
Pablo Salazar
Mpc dice
Alfredo, ¿conoces el trabajo de 10up o Human Made?
Fran dice
WordPress tiene un código spaguetti, del que no se sabe muy bien como cogerlo.
Entra dentro del software de la borregada, de esas cosas que aún siendo peores que otras son aceptadas por las masas.
Véase el caso de Whatsapp frente a Telegram, que siendo Whatsapp mucho peor multiplica por miles sus adeptos y eso pasa con otros ejemplos:
Windows frente a Linux y Mac.
Wordpress frente a Joomla o Drupal.
Si quieres un proyecto bien hecho lo mejor es hacerlo a medida o elegir otro CMS que por lo menos tenga el código estructurado , que por lo menos utilice MVC.
PD. Luis espero que no me tomes a mal, ya se que adoras WP (yo también lo uso para algunos proyectos, aunque los menos posibles), pero es mi opinión.
Gracias por el post.
LuisPeris dice
Hola Fran!
Hehehe, creo que te confundes de Luis… no sé si lo dices «por mis amigos», pero yo no «adoro» para nada WP, pero para nada ^^
De hecho, la mayoría de mis desarrollos los hago fuera de WP y jamás verás que imparta un curso de WP.
Anders dice
Para los que critican a WordPress porque consume más memoria que un desarrollo personalizado, hay algo que se llama plugin de caché, el mejor WP Rocket que permite duplicar la velocidad de carga de la web, y como dice el autor, si ya tienes millones de visitas mensuales, necesitas algo más rápido, puede contratar mejores y más servidores y a la par ir haciendo un desarrollo personalizado, pero no me voy a gastar 8000 Euros en un desarrollo de cero sin saber si va a ser un éxito dicha web. Es asunto de practicidad.