Gestor de continguts o programació amb un framework

Gestor de continguts o Framework?

Fa un temps, un client em demanava consell per decidir com implementar la nova versió del seu lloc web. Volia decidir si desenvolupar la nova versió del seu lloc web a mida, possiblement utilitzant algun framework o bé basar-se en un gestor de continguts (CMS), adaptant-lo per aconseguir el disseny i les funcionalitats requerides. La meva resposta va ser aquesta:

CMS o Framework

Entenc que el dilema està entre utilitzar una eina tipus CMS (Drupal, WordPress, Joomla, etc.) o bé programar-lo de forma custom (“a mida”), probablement utilitzant algun framework (Symfony, CodIgniter, Zend, etc.). Qualsevol de les dues solucions pot servir per construir i gestionar el vostre portal web.
Des del meu punt de vista no puc criticar o desaconsellar d’entrada cap de les dues opcions. Però la realitat és que hi ha casos en què una de les dues solucions serà la més indicada. Per poder saber quina és la solució aconsellable en el vostre cas només heu de tenir en compte una sèrie d’arguments i elements.

Contingut estàtic vs Funcionalitats avançades

Els CMS permeten d’una forma bastant senzilla gestionar continguts estàtics dins una estructura més o menys flexible. Si el portal és bàsicament una web presencial amb continguts estàtics, un CMS pot ser l’eina més indicada. Pel contrari, si la web ha d’incloure funcionalitats específiques o avançades (compra/gestió d’acreditacions, jocs/concursos online, eines de backoffice, etc.) llavors un CMS segurament no és l’eina adequada.
Si un CMS no té l’estructura que encaixa amb les necessitats del portal, adaptar-lo serà probablement encara més laboriós i difícil que programar-ho de zero.
Afegir però que cada dia els CMS són mes flexibles i compten amb més extensions, això fa que cada cop sigui més factible que el CMS s’adapti a les nostres necessitats.

Habilitats en programació

Els CMS permeten que personal sense coneixements tècnics pugui modificar el contingut i estructura del portal (tot i que certs coneixements relacionats amb el que es manipula mai estan de més). En el cas d’una web programada a mida, es requereix d’un programador o equip de programació per implementar noves seccions o apartats dins la web. Si es disposa d’aquests actius (ja sigui en plantilla o mitjançant un proveïdor), llavors és factible plantejar-se un desenvolupament a mida. Si no es pot assumir el seu cost, llavors el desenvolupament a mida deixa de ser una opció.
Un punt mig en aquest camí pot ser comptar amb una empresa o col·laborador que ajudi a implantar un CMS i adaptar-lo a les nostres necessitats, això ens permetrà tenir un CMS a punt i adaptat en molt menys temps.

Seguretat

Els CMS normalment estan programats utilitzant bones pràctiques i per tant es podrien considerar segurs, però la realitat és que al ser eines utilitzades per multitud de webs a Internet, fan que siguin examinades amb detall i qualsevol vulnerabilitat sigui explotada de forma massiva. Un CMS no mantingut al dia té altíssimes probabilitats de ser objecte d’algun atac.
En un portal web programat a mida, la seguretat depèn principalment de les bones pràctiques del(s) programador(s). En aquest sentit, unes males pràctiques el poden fer clarament més vulnerable a atacs que un CMS. En canvi, un portal custom ben programat és més difícil d’atacar, ja que el possible atacant ha de descobrir l’estructura i funcionament intern del mateix, quan en el cas de CMS aquesta informació ja és coneguda.

Rendiment

Com en l’apartat anterior, en el cas d’un portal fet a mida, el rendiment dependrà de les aptituds i bones pràctiques de l’equip de programació. Si aquestes són bones el rendiment serà clarament millor que el d’un CMS.
En el cas d’un CMS, habitualment hi ha bones pràctiques a nivell de programació. Tot i així, el seu rendiment es veu molts cops empitjorat per totes les funcionalitats que el codi inclou, encara que no les necessitem ni les fem servir. Els CMS tendeixen a ser estructures de codi complexes i que per tant afegeixen més càrrega al servidor. Aquesta càrrega inicialment no és perceptible per l’usuari, però quan el volum de visites augmenta la diferència de càrrega es comença a fer evident en el servidor.
Cal dir també que els CMS disposen de nombroses extensions que ajuden a accelerar els continguts, mitjançant optimitzacions d’imatges, caché estàtica de pàgines, etc.). En un desenvolupament a mida, també cal desenvolupar o adaptar aquest tipus de sol·lucions.

SEO

A nivell de SEO, i fins a on jo conec (no en sóc pas un expert), els CMS estan força ben preparats per ser indexats, i en cas de programació a mida també podem fer els ajustos que creguem necessaris perquè així sigui. No crec que hagi de ser un criteri decisiu a l’hora de decantar-se per una o altra solució.

Conclusions

Resumint, un CMS ofereix unes característiques i estructura més o menys limitades. Ara bé, si aquestes encaixen, pot ser una bona eina. De la mateixa forma, si no es disposa de temps i/o diners per desenvolupar i mantenir un portal fet a mida, un CMS pot ser una solució de compromís.  Aquesta és una situació habitual a les Start-Up o PIMEs. Un CMS permetrà cobrir la necessitat de tenir un portal amb continguts actualitzats. Només si es disposa dels coneixements i/o pressupost per desenvolupar (i mantenir!) un portal a mida, aquesta pot ser una bona opció.
Per últim, una aproximació híbrida pot ser dividir el portal en sites independents, de forma que hi hagi parts que es puguin gestionar amb un CMS i d’altres que siguin fetes a mida. Llavors cal tenir en compte la feina addicional si cal fer integracions entre les parts).
Espero que aquestes reflexions us siguin d’utilitat.
Publicat a Consells, Tecnologia

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

*