Ha llegado el momento de crear o renovar nuestra página web. Y es justo ahora cuando se abre tal abanico de posibilidades que, sinceramente, asusta.
Unos te dicen que debes crear una página web a medida. Otros que lo mejor es un CMS tipo WordPress o Joomla. Y, en definitiva, todo tiene sus pros y contras.
Vamos a intentar exponer las ventajas e inconvenientes de cada solución.
- Puesta en situación y puntos en común
- ¿Qué es un CMS?
- Ventajas en inconvenientes de un CMS respecto a una web a medida
- Conclusiones
Puesta en situación y puntos en común
Quedan ya muy lejanos esos tiempos en los que una página web era una colección de archivos HTML donde, para poder hacer cualquier modificación, necesitabas el apoyo de un programador, ya fuese un profesional cualificado o el amigo del cuñao que hizo un curso telefónico en su momento. ;) Es lo que se conoce como página web estática.
En el panorama actual, una página web estática no tiene cabida
El código HTML es algo que, como no tengas nociones básicas, no es fácil de descifrar. Cualquier cambio requería de una inversión de tiempo considerable (tiempo = dinero), ya que todo debía hacerse a pelo. Por ejemplo: si querías cambiar un encabezado común a todas las páginas de tu web y tu site constaba de 50 páginas, el cambio debía realizarse 50 veces: 1 por cada página. Infumable, ¿verdad?.
Con el tiempo, y gracias a Dios, aparecieron nuevas tecnologías que facilitaron enormemente la gestión de los sites. Me refiero principalmente a 2: los lenguajes de programación del lado del servidor y las bases de datos, todo ello instalado en los hostings o alojamientos web. Con estas 2 palabrejas podíamos convertir una web HTML estática en algo dinámico donde, según el contexto, se permitía desde incorporar nuevos contenidos hasta cambiar radicalmente la apariencia de una manera ágil.
En un principio, esta programación que nos brindaría un amplio abanico de posibilidades debía hacerse dsd0, desde cero, y por ello, para facilitar el asunto, aparecieron los primeros CMS: Php-Nuke, WebGUI, Mambo… Aplicaciones que nos permitían dar un toque de dinamismo a las, hasta ahora, aburridas y estáticas páginas web HTML donde lo único que destacaba era el típico GIF animado de turno.
En el fondo, un CMS no deja de ser como una página web a medida pero a lo bestia que, dado su amplio uso, ha generado una comunidad alrededor que desarrolla funcionalidades extra. Por ello, un CMS y un desarrollo propio comparten tecnología:
- Servidor web: Apache, IIS (Internet Information Server), nginx, etc.
- Lenguaje de programación del lado del servidor: PhP, ASP, JSP, etc.
- Base de datos: MySQL, SQL Server, Postgre SQL, Oracle, etc.
¿Qué es un CMS?
Un CMS es el acrónimo de Content Management System o, en cristiano, Sistema de Gestión de Contenidos. En este post vamos a hablar de CMS como un sistema para gestionar un sitio web, dado que el concepto puede ser aplicado a otros ámbitos.
A grandes rasgos, se trata de una aplicación informática con la que poder actualizar los contenidos de una manera rápida y sencilla, sin necesitar tener conocimientos de programación web (HTML, PHP, CSS) o de bases de datos (generalmente MySQL).
¿Quién no ha oído hablar de WordPress, Joomla, Drupal, Tumblr, etc.? Todas estas aplicaciones son, en definitiva, CMS. Y todas (nos centraremos especialmente en WordPress y Joomla), salvando las distancias, funcionan de manera parecida: núcleo (o kernel, o motor, como prefieras llamarlo), front-end, back-end, aparte del resto de servicios necesarios para su correcto funcionamiento, comentados en el punto anterior.
Núcleo
Aquí radica la potencia de un CMS. El núcleo es la parte que no podremos ver a no ser que entremos a modificar su código fuente, siendo necesario para ello conocimientos de programación (generalmente PhP y MySQL, que son los sistemas más habituales en los CMS). Básicamente se encarga de conectar front-end con back-end y con los plugins externos y, además, de gestionar la conexión con la base de datos donde se encuentran los contenidos y configuraciones. En otras palabras, el motor.
Front-end
Es la parte visible de la web, la que el usuario disfrutará (o, según el caso, padecerá). El front-end se alimenta de las acciones que realicemos en el back-end.
Back-end
Efectivamente, es la parte no visible o, en otras palabras, el panel de administración.
Digamos que es la zona donde, previa autentificación con usuario y contraseña, podremos gestionar no solo los contenidos, sino también el diseño y las funcionalidades extra, a través de plugins y de desarrollos propios o de terceros.
Básicamente tenemos 4 aspectos que gestionar:
- Apariencia, instalando y configurando la infinidad de plantillas que podremos encontrar en internet, ya sean gratuitas o de pago
- Menús, donde planificaremos la navegabilidad de nuestro sitio
- Contenido, o en otras palabras, los textos que publicaremos para cada apartado del menú
- Funcionalidades extra, que podremos conseguir instalando plugins, componentes, widgets, módulos… Llámalos como quieras, en definitiva se trata de aplicaciones que quedan fuera del núcleo y que nos ofrecen un plus de funcionalidad. Por ejemplo: mejorar el SEO, botones para compartir nuestro contenido en redes sociales, formularios automáticos para conseguir suscriptores a nuestra web o blog, y un largo, larguísimo etcétera
Ventajas e inconvenientes de un CMS respecto a una web a medida
No son pocas las ventajas, aunque también existen serios inconvenientes.
Facilidad de instalación y tiempo de puesta en funcionamiento
En el caso de un blog, y si hablamos de servicios como WordPress.com o Joomla.com, no es necesario prácticamente ningún conocimiento: te das de alta, configuras 4 cosas y a trabajar.
En el caso de un blog en un servicio no compartido, es decir, en tu hosting, con un poco de maña y con unos conocimientos mínimos, en nada y menos también puedes tenerlo a punto. Es más, hoy en día los servicios de alojamiento te ofrecen la posibilidad de montarte un CMS a golpe de clic de una manera muy sencilla, de forma que estamos como antes: lo instalas en un momento, configuras las mismas 4 cosas y listos.
Para un blog, lo mejor es, sin duda, un CMS
Si deseamos algo más que un blog, como por ejemplo una web corporativa, en función de las funcionalidades que necesitemos requeriremos de los servicios de un profesional que nos pueda adaptar el tanto el front como el back-end.
Presupuesto
En un CMS prácticamente todo está desarrollado de manera que, habitualmente, el presupuesto es sensiblemente más económico que el desarrollo de un sistema a medida. Como es natural, en función de la complejidad el presupuesto variará, pero podríamos asegurar que nunca se acercará a lo que nos costaría desarrollar la web desde cero. Dado que la base ya está hecha, sólo tendremos que ponerla a nuestro gusto y adquirir alguna funcionalidad extra que necesitemos vía aplicaciones externas (ya sean gratuitas o de pago).
Facilidad de administración
Con el núcleo de nuestro gestor de contenidos disponemos de un panel para gestionar en nuestra futura página aspectos como:
- Usuarios y perfiles de usuario
- Menús
- Plantillas (apariencia)
- Comentarios
- Gestor de plugins
- Artículos o posts
Además, los plugins extra suelen disponer de su apartado de administración, de forma que podremos gestionar todo de forma gráfica, de una manera fácil e intuitiva.
En las webs a medida, el panel de administración también hay que desarrollarlo. Éste componente, aunque no lo parezca, puede llegar a ser incluso más complicado de programar que el front-end de la web, de forma que el presupuesto, por normal general, se dispara al doble o incluso más, porque en el fondo estamos haciendo dos webs en una.
Independencia de un programador externo
Como hemos comentado antes, dado que la administración se realiza de forma gráfica, no es necesario tener conocimientos de programación para incrementar las funcionalidades: simplemente instalando los plugins necesarios conseguiremos lo que necesitamos. Y sin picar ni una línea de código.
Esta independencia no es total: si necesitamos alguna característica que no esté previamente desarrollada o publicada en los repositorios de extensiones de nuestro CMS, deberemos morir sí o sí al código fuente, ya sea nosotros mismos o contratando los servicios de un programador externo, aunque estas situaciones cada vez son menores dado que cada vez tenemos más plugins a nuestra disposición.
También existen inconvenientes, principalmente 2 que están íntimamente relacionados.
Peligro con las actualizaciones
Cuando pongamos en funcionamiento nuestro gestor de contenidos, lo haremos con una versión concreta de la aplicación. Si somos austeros y no instalamos demasiados plugins (recomendable según como se mire), no tendremos mayores problemas en el momento de actualizar nuestro sistema. Simplemente hacemos clic en el botón que pone «Actualizar», esperamos que se apliquen los cambios y seguimos trabajando.
Pero… Siempre hay un pero. Como tengamos nuestro site con infinidad de plugins o estemos haciendo uso de una plantilla anticuada, en el momento de actualizar el CMS veremos que nuestra web ya no es lo que era: pueden aparecer errores provocados por incompatibilidades entre la nueva versión del núcleo y de los plugins. Y es en ese momento cuando notas una gota de sudor frío recorrer toda tu espalda de arriba a abajo.
Por suerte, tenemos nuestra copia de seguridad resuelta y simplemente restaurandola resolveremos el problema. Ahora, como no tengamos el backup al día, ya podemos arremangarnos y ponernos a trabajar en serio.
Apetecibles para los ataques informáticos
Un CMS tipo WordPress o Joomla incorpora unas medidas de seguridad de alto nivel, y seguramente estará infinitamente mejor protegido que una página web a medida. Hasta aquí bien.
Vamos a hacer una analogía Windows – Mac. Existe la creencia que para Mac no hay virus. Error. Sí que los hay, pero muchísimos menos que para Windows. ¿Por qué? Por su cuota de mercado. El que diseña un virus intenta afectar al máximo número de personas, y puesto a invertir su tiempo para hacer daño, lo invertirá antes en atacar sistemas Windows que Mac, porque a igualdad de esfuerzo infectará a infinidad de usuarios más.
En el tema que nos atañe pasa lo mismo. ¿Para una web a medida no hay ataques hacker? Sí que los hay, pero alguien que quiera hacer daño invertirá su tiempo en infectar el máximo número de webs posibles. Y ahí están los CMS: como son usados en muchos sitios, aunque tengan mejores medidas de seguridad, son más susceptibles de ser atacados.
Con todo ésto vemos la necesidad de tener nuestra web actualizada, pero teniendo presente el punto anterior:
Antes de actualizar tu CMS haz una copia de seguridad de la estructura de archivos y de la base de datos
Menores posibilidades de personalización al detalle
Cuando hablamos de una web con especificaciones muy concretas es probable que, a nivel de programación, sea más fácil hacer un desarrollo propio, ya que tenemos total libertad para montarnos nuestro sistema como más nos interese, desatándonos de la rígida estructura de un CMS.
Desde el lado del programador, es habitual que un cliente nos imponga un flujo de trabajo que con un CMS nos complicaría en exceso la vida y, o lo hacemos a medida, o morimos en el intento.
Conclusiones
Con todo lo explicado, podemos llegar a la conclusión que la tecnología utilizada y la seguridad de un CMS es superior a un desarrollo a medida. Hay miles de personas desarrollando para dichos sistemas y, por ello, es más fácil estar a la última. Con el sistema modular que presentan, siempre estamos a tiempo de mejorar la funcionalidad de nuestro site añadiendo algún plugin molón o cambiando la plantilla.
Además, su desarrollo acostumbra a ser sensiblemente más económico. Incluso, si eres un poco apañado, puede salir a coste cero.
Pero no cometamos el error de quedarnos ahí: hay que tener en cuenta lo apetitosos que son para los hackers, que nos pueden hacer un destrozo importante, y lo delicados que son en el momento de actualizarse. Todo ello sin contar aplicaciones muy concretas que, sí o sí, desaconsejan el uso de un sistema de gestión de contenidos.
¿Y tú qué prefieres: CMS o web a medida?
Interesante post!
En XooStudio diseño web pensamos igual, los CMS han evolucionado mucho estos últimos años y sin duda son una opción mucho más a tener en cuenta que las páginas web PHP o ASP de toda la vida si hablamos de negocios a pequeña escala, pymes y demás.
Un saludo!
Gracias por tu comentario Eduard,
es cierto que, hoy en día, un CMS es válido para la mayoría de las situaciones, obteniendo un producto de gran calidad, aunque no debemos olvidarnos que el potencial de un desarrollo a medida es infinito y, en según que escenarios, debemos morir ahí si o si.
Saludos!
Excelente Publicación!
Como independiente pienso que los CMS han evolucionado mucho estos últimos años y son una palanca de gran ayuda para los micro emprendedores y pequeñas empresas. Sin duda el que priorice el MKT digital podría ganar la pulseada, pero todo va a depender del objetivo de cada Nicho o Segmento.
Saludos
Emilio Acosta
Gracias por tu comentario Emilio.
Efectivamente, la evolución de los CMS ayuda a que con pequeños recursos se puedan hacer grandes cosas. Si a esto le sumamos buen hacer, un poquito de imaginación y algo de suerte, no hay límite!
Saludos.