Raccogli 'amici rotondi, e ti racconterò una storia che è pura invenzione da parte mia, e probabilmente anche come è successo: C'era una volta, intorno al 1995 (per quanto posso capire dalla ricerca sul web), un povero ragazzo che ha lavorato come "webmaster" per una grande azienda stava mettendo quasi tutti i contenuti di marketing scritti che avevano online. Lo stava facendo perché qualcuno in gestione pensava che non potesse ferire, e non aveva molto altro da fare.

Mentre scriveva a mano infinite linee di codice HTML, pensò: "Ci deve essere un modo più semplice per farlo".

Cominciò a immaginare un sistema che potesse, forse, gestire il contenuto in modo più efficiente e togliere un po 'del dolore dal suo lavoro. Dal momento che conosceva alcuni script di base, ha iniziato a gettare le basi per quello che sarebbe diventato il primo sistema di gestione dei contenuti.

È così che molti problemi dell'umanità vengono risolti: le persone si annoiano e sono stufe del loro lavoro. In risposta a questo stimolo, o alla sua mancanza, ora abbiamo più CMS di quanti ne importi personalmente. Sono ovunque e possono fare qualsiasi cosa. Ora, il problema con questo tipo di scelta infinita è che, beh, la gente non sa da dove iniziare. Come scegli un CMS comunque?

Questo è ciò di cui tratta questo articolo. Ho cercato di semplificare il più possibile la comprensione del funzionamento di un CMS e il tipo di CMS necessario per diversi tipi di siti Web.

Cos'è un CMS, esattamente?

Pensa a un sito web. Qualsiasi sito web. Cosa c'è? Roba come parole, immagini, video, mappe, moduli di contatto, quiz, sondaggi e altro ancora. Tutto ciò che viene chiamato "contenuto" deve essere organizzato.

Deve essere reso disponibile e facile da trovare per le persone che eseguono effettivamente il sito Web e per gli utenti che lo consultano. Deve anche essere facile aggiungere più contenuti, eliminare le cose che non vuoi più, spostarle o rinominarle.

La maggior parte dei CMS consente solo a pochi selezionati di gestire il contenuto. Community CMS come i forum e i siti di social media consentono a ogni utente di gestire i propri contenuti e renderli disponibili a tutti gli altri.

Sì, puoi fare tutto questo manualmente. Per molti siti web più piccoli, questo è esattamente ciò che le persone fanno: si scherzano con file e cartelle e modificano le loro pagine in un editor di testo semplice (come Blocco note, ma di solito usano qualcosa di più complesso). Se hai solo, diciamo, cinque pagine e sai cosa stai facendo, o puoi pagare qualcuno che lo fa, allora sei pronto.

Probabilmente non hai bisogno di un CMS.

Ma se non puoi permetterti di assumere un professionista, non avere il tempo di farlo da solo, e / o hai bisogno di un sito che sia più grande e più complesso, ne vale la pena un CMS. Semplicemente non è pratico costruire un sito web così grande senza qualcosa per automatizzare almeno una parte del processo.

Se è necessario avere più di una persona che contribuisce a un sito Web, è assolutamente necessario un CMS. Dare alle persone l'accesso ai file raw sarebbe una ricetta per errori utente catastrofici. Meglio dare loro un sistema che permetta loro di aggiungere contenuti senza distruggere accidentalmente nulla di importante.

Per chi è questo?

Questo articolo è dedicato ai clienti di web design, proprietari di attività commerciali e altre persone i cui occhi si smaterializzano quando inizi a lanciare acronimi. I progettisti e gli sviluppatori possono guardare da soli queste cose e di solito sanno cosa significano le parole chiave.

Ma se hai mai fatto shopping CMS e hai pensato, "Beh, tutto sarebbe molto bello se sapessi di che diavolo stavano parlando ...", allora questo articolo è per te.

Suggerisco di leggere, restringere il tuo elenco di opzioni e portarlo al tuo designer e / o sviluppatore per capire qual è l'opzione migliore per te. Se sei in una società abbastanza grande da avere un intero team di progettazione e sviluppo, dovresti probabilmente lasciarli ridurre il tuo elenco di opzioni.

Tipi di sistemi di gestione dei contenuti

Ora, la cosa sulla costruzione di siti Web è che quasi tutti hanno esigenze diverse. Certo, potresti provare a costruire un CMS in grado di soddisfare ognuna di queste esigenze. Molte persone hanno provato.

... scegli un CMS che soddisfi le tue esigenze specifiche il più vicino possibile

Queste piattaforme tendono ad essere massicce, lente, piene di problemi di sicurezza, complesse da usare sia dal lato anteriore che posteriore, e da un dolore generale nella parte posteriore. Anche stranamente popolare. E in realtà no, non sto parlando di WordPress.

Quindi la soluzione generalmente più intelligente è scegliere un CMS che soddisfi le vostre esigenze specifiche il più vicino possibile. Ne parleremo di più, dopo. In primo luogo, dovremmo parlare dei tipi di sistemi di gestione dei contenuti che troverete là fuori.

Ho trovato un elenco delle categorie più comuni di CMS. Non solo ci sono più CMS di quelli che posso effettivamente elencare, ci sono più tipi di quelli che posso elencare. Questo perché ci sono CMS personalizzati là fuori realizzati per ogni esigenza immaginabile che qualcuno possa avere.

Per il tuo tempo, e il mio, ho bloccato le categorie più comuni.

Gestito vs ospitato

Prima di passare a categorie come "software di blogging" o "e-commerce", devi scegliere dove vuoi che il tuo CMS sia ospitato. Alcuni CMS vengono forniti come servizio e tutto il materiale tecnico viene gestito da un'azienda di terze parti.

Questi sono chiamati "CMS gestiti", o "piattaforme gestite" e spesso "piattaforme SAAS" (software come servizio). Esempi inclusi Shopify , wordpress.com e costruttori di siti come Squarespace .

01-Squarespace

Hanno diversi vantaggi, tra cui supporto attivo, sviluppo costante e non devi mai preoccuparti di aggiornare il software da solo. La sicurezza è gestita anche per te. C'è molto da piacere.

I loro svantaggi includono la mancanza di controllo su certe cose. Potresti non essere in grado di far apparire il tuo sito o funzionare esattamente come desideri. Non possiedi necessariamente i tuoi dati personali. Se la società che sviluppa la piattaforma decide di abbandonare una funzione che ti piace, sei da solo. Se devono interrompere le operazioni per qualsiasi motivo, sei da solo.

Detto questo, molti di questi servizi hanno migliaia, a volte milioni di clienti soddisfatti. Potresti essere uno di loro.

Dall'altra parte della medaglia, abbiamo "piattaforme ospitate". Questo tipo di software può andare sul tuo server o su un server di terze parti che tu affidi da qualcun altro. Gli esempi includono la versione ospitata di WordPress , Magento , e Concrete5 .

03-wordpress

Il vantaggio principale di queste opzioni è il controllo. Puoi far funzionare tutto esattamente come vuoi. Spesso puoi persino estendere la funzionalità autonomamente costruendo temi e plugin personalizzati. Se si tratta di un CMS open source o se hai acquistato il giusto tipo di licenza commerciale, puoi addirittura alterare le funzionalità di base del software stesso, anche se di solito è sconsigliabile.

Gli aggiornamenti possono tendere a annullare tutto il tuo duro lavoro.

L'altro vantaggio è il prezzo. Le piattaforme gestite di solito costano un canone mensile. Le piattaforme ospitate in genere hanno un costo una tantum o nessun costo.

Lo svantaggio è che sei autonomo sin dall'inizio. Tu, o qualcuno che lavora per te, devi installare il software, tenerlo aggiornato e prendersi cura di ogni dettaglio tecnico, inclusa la sicurezza. Potresti trovarti a pagare per qualche tipo di supporto commerciale in ogni caso.

Tuttavia, per quelle persone e organizzazioni che vogliono mantenere il pieno controllo sulla propria esperienza con il software, la funzionalità e l'estetica del loro sito, i loro dati e la tecnologia sottostante, non c'è niente di meglio di un CMS ospitato.

Database o file flat

Vale la pena notare che anche i CMS ospitati vengono divisi in due tipi. In questo caso, sono divisi in base al modo in cui memorizzano le impostazioni del sito, i contenuti e altre informazioni. Questa sezione diventerà più tecnica di business-oriented, ma la comprensione di queste informazioni ti aiuterà a prendere decisioni più informate sul CMS che scegli.

I CMS più comunemente usati, per il momento, vengono eseguiti su database, gestiti da server di database. In questo contesto, il server del database è solo un programma separato progettato per organizzare in modo efficiente le informazioni, non necessariamente un computer separato. Anche se ... può essere su un computer separato, perché, sai, niente è mai semplice.

Fondamentalmente, i server di database vengono creati per organizzare un gruppo di informazioni all'interno di un singolo file e recuperare informazioni richieste in modo specifico in un momento. Sono veloci, efficienti e logici.

C'era una volta, questo era il metodo preferito per organizzare tutte le informazioni su un sito perché è un po 'più facile sull'hardware reale. Tuttavia, con avanzamenti come la cache e le reti di distribuzione dei contenuti ( CDN ), questo non è più il caso.

L'alternativa all'uso di un database è di mantenere tutte le informazioni in "file flat". La differenza qui è che tutte le pagine di contenuto del sito, i post dei blog, ecc. Sono conservati in un insieme di file di testo organizzati gerarchicamente. Il contenuto è archiviato e recuperato direttamente dal CMS, senza un server di database intermedio.

02-grav

Grav è uno dei nuovi CMS flat-file più popolari.

Questo approccio sta diventando sempre più popolare con i sistemi di gestione dei contenuti per siti di piccole e medie dimensioni e generatori di siti statici (altri su quelli successivi). Questi sistemi sono a volte più facili da installare, ma il vantaggio principale è che possono essere utilizzati su più tipi di server e host web.

Inoltre, l'utilizzo di file flat anziché di un server di database può a volte ridurre il costo dell'hosting. Ciò è particolarmente vero se si utilizza l'hosting PLAAS (Platform-as-a-Service) come Amazon Web Services, Microsoft Azure o Heroku.

Framework CMS

Un CMS framework è progettato per gestire praticamente qualsiasi attività che ti interessa lanciarti, a patto che tu abbia alcune capacità di programmazione o uno sviluppatore del team. Quello che fa è fornire un framework di base ... per costruire il proprio CMS, solitamente con l'aiuto di moduli o plug-in creati dagli sviluppatori e dalla comunità.

L'esempio più noto è Drupal .

Questo è il tipo di CMS che scegli se hai esigenze specifiche e personalizzate, ma non vuoi costruire tutto (specialmente l'interfaccia utente di amministrazione) da zero. Non è il tipo di CMS che scegli se vuoi alzarti e correre veloce. I CMS Framework vengono spesso scelti da organizzazioni di grandi dimensioni che hanno bisogno della massima flessibilità possibile e che dispongono di grandi budget o team di progettazione e sviluppo interni.

04-drupal

Blogging CMS

Uno dei tipi più popolari di CMS, i sistemi di blogging sono ovunque . Quasi tutti gli sviluppatori che vogliono cimentarsi nella creazione di un CMS creano a un certo punto un motore di blog. La maggior parte di questi non decolla, ma una volta ogni tanto si ottiene un grande successo.

Esistono motori di blog per ogni linguaggio di programmazione e piattaforma di hosting. Ci sono motori di blog progettati per ogni possibile forma di blogging che si possa immaginare. Ci sono probabilmente migliaia di motori di blog ospitati e facilmente centinaia di piattaforme di blog gestite.

Alcuni blog CMS, come il già citato WordPress e il più recente Fantasma , hanno entrambe le versioni ospitate e gestite.

I tre grandi tipi di blog sono blog testuali, blog fotografici e blog video. Non entrerò troppo nel dettaglio su questo come i nomi sono abbastanza auto-esplicativi. La maggior parte dei blog è basata su testo, che può ovviamente avere anche immagini e video incorporati. La differenza riguarda principalmente l'attenzione del blog. In altre parole, se le foto sono la maggior parte dei tuoi contenuti e l'attrazione principale per i tuoi utenti, è un blog fotografico.

05-fantasma

Un esempio di un blog Ghost.

Community CMS

Alcuni CMS non si limitano a pubblicare i tuoi contenuti per farli vedere al pubblico. Ci sono molti che sono progettati per incoraggiare una maggiore interazione con l'utente, con una forte attenzione alla costruzione di una comunità di clienti abituali. Questi sono disponibili in tre varietà principali:

Forum

Se hai passato un po 'di tempo a navigare su Internet nell'era pre-Facebook, è probabile che ti sia imbattuto in uno di questi. Per tutti quelli che facevano cose della vita reale in quel momento, o erano solo molto giovani, i forum venivano prima delle pagine di Facebook e sono infinitamente migliori, se riesci a convincere la gente a restare.

Fondamentalmente, è un CMS che consente a qualsiasi membro di iniziare una discussione con altre persone. Queste discussioni sono generalmente ordinate per argomento o categorie create dall'amministratore e / o dai moderatori del sito. È più lento di un canale Slack, ma l'intera conversazione è lì per tutti da vedere e offre alle persone più tempo per formulare le risposte.

A causa della loro popolarità passata, ci sono molte, molte opzioni software per le persone che vogliono un forum (diamine, ci sono plugin del forum per WordPress), ma solo alcuni grandi. Invision Power Board è stata la soluzione commerciale leader per anni, e phpBB è la più grande alternativa open source.

06-phpBB

Bacheche

Questi sono un po 'come i forum, solo che invece di persone che iniziano discussioni con le loro stesse parole, inviano notizie. Gli utenti possono quindi lasciare commenti sul tabellone stesso.

C'era una volta, Digg era il grande notiziario in città, soprattutto per la folla di tecnici. Col tempo, quel mantello è passato a Reddit. Se non sei mai stato a un notiziario, dovresti dare un'occhiata a Reddit per vedere come funziona. O se vuoi qualcosa di più incentrato sul design, dai un'occhiata alla nostra Notizie sul Web Designer .

La maggior parte di questi siti sembra avere CMS personalizzato. L'opzione di consumo più conosciuta è Telescopio , che è gratuito e open source.

07-WDN

Social networks

È giusto, puoi creare il tuo clone di Facebook con uno qualsiasi dei vari servizi gestiti o CMS ospitato. Oppure potresti creare un sito di appuntamenti come OkCupid. Badate bene, gestire un social network di qualsiasi tipo è un duro lavoro, e probabilmente non diventerete mai grandi come i grandi nomi.

La maggior parte delle persone che costruiscono i propri social network in questi giorni hanno in mente un tema molto specifico o una causa centrale, proprio come quelli che costruiscono i loro forum e le loro notizie. Quindi, tutte queste sono grandi opzioni se hai una nicchia. O, sai, inizia solo con una pagina di Facebook.

Come i notiziari, la maggior parte dei social network sono costruiti su misura. La migliore opzione gratuita / open source che ho trovato finora è Dolphin Pro . Se non ti dispiace pagare qualcuno per occuparti delle cose tecniche, puoi creare un social network su La piattaforma gestita da Ning .

08-dolphinpro

E-commerce CMS

I sistemi di e-commerce di solito sono enormi e complessi per design. Voglio dire, certo, l'idea è semplice: ti permettono di vendere cose online. La realtà è naturalmente molto più complicata, come ci si potrebbe aspettare quando si gestisce un'impresa.

I grandi CMS di e-commerce non mostrano solo i tuoi prodotti nella parte anteriore di un sito e mettono un pulsante "Acquista" sullo schermo. Ti aiutano a gestire l'inventario, la spedizione, la conversione di valuta, l'elaborazione dei pagamenti, le tasse, il servizio clienti e qualsiasi altra cosa tu possa immaginare. Sono costruiti per gestire il business, che può essere facilmente complicato online come può essere di persona.

I tre grandi nomi nei sistemi di e-commerce sono Magento (Community Edition è gratuita), ZenCart (completamente open source), e Shopify (una piattaforma gestita a pagamento).

09-Magento

Questa demo di Magento è gentilmente offerta da IDW .

CMS generale

I CMS generali hanno un po 'in comune con CMS bare-bones in quanto sono fatti per gestire una varietà di esigenze (in genere esigenze aziendali) e sono piuttosto personalizzabili. Inoltre sono di solito estesi o modificati con plugin e moduli.

La differenza sta nella facilità d'uso. I CMS generali sono creati per essere gestiti da non programmatori. Certo, l'esperienza nella codifica è utile, ma anche una conoscenza di base di HTML e CSS ti porterà molto lontano. Anche se non è del tutto necessario, dato che di solito sono progettati per essere abbastanza amichevoli.

I plugin spesso includono elementi semplici come moduli di blog di base, gallerie di immagini, sistemi di commenti aggiuntivi e quel genere di cose.

Non ci sono molti grandi nomi in questa categoria, perché questi CMS sono, in un certo senso, i figli spirituali del vecchio e massiccio Portal CMS (vedi sotto). Questa categoria è iniziata come una sorta di movimento per semplificare la gestione dei contenuti.

Inizialmente, le cose sono diventate molto semplici, come nel caso di Wolf CMS (Sì, è ancora in giro, e semi-attivo!) Al giorno d'oggi, Pagekit (gratuito e open source) sembra l'epitome di un CMS generale.

10-pagekit

CMS portale

Il portale CMS proviene da un momento in cui ogni sito Web desiderava essere il prossimo Yahoo (!) O AOL. Questo era il giorno in cui, invece di cercare di far iscrivere tutti alla newsletter, ogni webmaster con l'ambizione voleva che il suo sito fosse la tua home page.

Questi siti di solito erano progettati per mostrare un sacco di informazioni in una volta, tutto ciò che si potrebbe desiderare da tutto il web. Quindi, sono stati chiamati "portali". La maggior parte erano costruiti su misura, ma ovviamente le persone volevano dei modi per costruirsi da soli.

Una delle prime opzioni per questo era Mambo, un CMS open source che è morto alcuni anni fa. Ora, molte aziende giurano sul suo successore, una forchetta di nome Mambo Joomla .

11-joomla

Al giorno d'oggi, il CMS del portale è stato ridotto un po ', così come la maggior parte dei siti web in generale. Sono utilizzati per alimentare siti Web per le grandi aziende che hanno bisogno del loro CMS per fare letteralmente tutto. Joomla, ad esempio, ha moduli per quasi tutto ciò che si può pensare.

Naturalmente, ciò si traduce in una complessità incredibile, e il portale CMS spesso ha la stessa curva di apprendimento per amministratori, progettisti e sviluppatori. Personalmente ho un'avversione per quel tipo di complessità, ma ci sono casi in cui è necessario, e persino inestimabile.

Se stai per utilizzare un CMS di portale, uno sviluppatore non è assolutamente necessario, ma dovresti assumerne uno comunque. Meglio ancora, prendine uno specializzato nel CMS che hai scelto.

Costruttori di siti

I costruttori di siti hanno molto in comune con CMS generale, in quanto sono progettati per semplificare l'intero processo di gestione dei contenuti per l'amministratore del sito più di chiunque altro. La differenza è che sono anche progettati per rendere la progettazione dei propri siti Web facile per chiunque.

Pensa a queste versioni più moderne e solitamente meno frustranti di Dreamweaver e Frontpage. Se questo ti ha mandato un brivido lungo la schiena, non preoccuparti. I costruttori di siti sono migliorati molto.

In gran parte aderiscono alle migliori pratiche e agli standard web. Anche se di solito non sono così personalizzabili come un sito costruito da zero, di solito offrono opzioni più che sufficienti per il proprietario medio del sito web.

Naturalmente, ciò dipende dal costruttore del sito. Si va dal semplice morto, dipende dal modello Wix , al molto più complesso e personalizzabile SquareSpace , a strumenti come WebFlow , che riguardano la progettazione del tuo sito da zero, anche se con strumenti point-and-click.

12-WebFlow

Generatori di siti statici

I generatori di siti statici non sono per i deboli di cuore e quasi sempre richiedono una qualche forma di conoscenza della programmazione da implementare. Di solito non vengono con un'interfaccia di amministrazione facile da usare. In genere, il contenuto viene creato e memorizzato in file di testo, spesso formattati in Markdown e compilati in un sito statico per il server.

L'aspetto positivo è che i siti statici possono essere ospitati praticamente su qualsiasi tipo di server. Non hai bisogno di tecnologie lato server come PHP, Ruby o NodeJS per eseguirle. Mettono meno a dura prova il server stesso e spesso si caricano più rapidamente.

Sul lato dell'amministratore, si ottengono molte delle funzionalità di gestione dei dati di un CMS regolare. I dati memorizzati possono essere richiamati e visualizzati in vari modi, è possibile utilizzare modelli e così via. Questo ti permette di gestire blog, o siti grandi e complessi con un minimo di fastidi, rispetto a codificare a mano tutto tu stesso.

L'ovvio lato negativo è che chiunque gestisca il contenuto e aggiorni il sito dovrà essere comodo nel mettere insieme tutti i contenuti in file di testo. Possono anche aver bisogno di conoscenze di programmazione.

Al momento ci sono dozzine di generatori di siti statici semi-popolari. Il più conosciuto, al momento, è il Ruby-based Jeklyll .

wiki

Esatto, puoi far funzionare i tuoi wiki e farli funzionare gratuitamente. La maggior parte del miglior software wiki è disponibile con una licenza open source o un'altra, inclusa Mediawiki , il software che esegue Wikipedia.

Naturalmente, questi sono CMS grandi, spesso molto complessi, con sistemi avanzati per determinare chi è autorizzato a modificare e modificare cosa. Il loro caso d'uso è piuttosto limitato per definizione: una wiki è un'enorme raccolta di informazioni in stile enciclopedia, di solito usata come riferimento.

Detto questo, puoi creare una wiki su qualsiasi argomento e le grandi organizzazioni spesso le usano per visualizzare informazioni relative al supporto per i loro prodotti.

CMS aziendale

Questi sono progettati, bene, per le imprese. Sono enormi, sono complessi, sono pensati per gestire enormi quantità di informazioni. Sarò onesto, non avendo mai lavorato in un'azienda di livello enterprise, non sono del tutto sicuro di come funzionano tutti.

L'idea generale, a quanto ho capito, è che raramente hanno molto a che fare con i siti web rivolti ai clienti. Enterprise Content Management (o ECM) gestisce tutti i documenti relativi ai processi che un'azienda utilizza per ottenere risultati. Servono principalmente come risorsa e punto di riferimento per i dipendenti.

Vengono inoltre utilizzati per archiviare i documenti, sia quelli riguardanti l'azienda, sia i clienti. Ad esempio, se si gestiscono molti contratti, è possibile archiviare copie digitali di essi in un ECM, ordinati per cliente, per un facile accesso. ECM, quindi, si comporta molto come una sala di file digitale.

Quelle volte in cui vengono utilizzati per i siti rivolti ai clienti, questi siti tendono ad essere massicci, in quanto i CMS aziendali sono progettati per gestire tale quantità di informazioni. Pensa a siti universitari, portali governativi e altri siti come loro.

CMS personalizzato

Ultimo, ma certamente non meno importante, abbiamo il CMS personalizzato. Questi sono disponibili in ogni forma e dimensione e sono progettati per ogni scopo immaginabile.

I professionisti sono abbastanza ovvi. Ottieni esattamente quello che vuoi, e solo quello. Ciò di solito si traduce in un CMS più piccolo e più veloce che fa esattamente ciò che ti serve. Tuttavia, se ne hai la necessità e il budget, puoi sempre avere il tuo sviluppatore preferito in grado di creare più funzionalità.

Il rovescio della medaglia è che le opzioni di supporto saranno severamente limitate. Se lo sviluppatore originale non è più disponibile, un nuovo sviluppatore potrebbe avere problemi a dare un senso al vecchio codice.

Inoltre, quando le tecnologie server vengono aggiornate, a volte un CMS personalizzato deve essere adattato a loro. Il CMS sviluppato da una terza parte dedicata verrà aggiornato automaticamente. Se si dispone di un CMS personalizzato, è necessario assumere uno sviluppatore per farlo.

I CMS personalizzati sono spesso più adatti alle aziende che hanno il proprio team di sviluppo interno a lavorare su aggiornamenti, aggiornamenti e correzioni di sicurezza.

Aggiornamento: ora puoi leggere parte 2 di questa serie .