Il CMS è uno strumento usato dai webmaster per gestire un sito web evitando di dover programmare dinamicamente l'intero software lato server che gestisce il sito. Generalmente offre un'interfaccia di amministrazione con cui l'amministratore può gestire ogni aspetto del sito web, senza il bisogno di possedere conoscenze tecniche particolari di programmazione Web.

Esistono CMS specializzati, cioè appositamente progettati per un tipo preciso di contenuti (una wiki, un blog, un forum, un giornale online, ecc.) e CMS generici, che tendono a essere più flessibili per consentire la pubblicazione di diversi tipi di contenuti.

Quando si parla di "contenuti" si intendono dati, informazioni, conoscenze, in qualsiasi forma (testo, immagine, video, musica, software, ecc.). Quando si parla di "struttura" s'intende: impaginazione, formattazione, architettura, sezioni, gestione delle modifiche e delle versioni, gerarchia e privilegi dei ruoli, ecc.

Tecnicamente, un CMS è un'applicazione lato server che generalmente si appoggia su un database per l'archiviazione dei contenuti; l'applicazione è suddivisa in due parti:

  • una sezione di amministrazione (back end), che serve ad organizzare e supervisionare la produzione dei contenuti;
  • una sezione applicativa (front end), che l'utente web usa per fruire dei contenuti e delle applicazioni del sito. L'amministratore del CMS gestisce tramite un pannello di controllo i contenuti da inserire o modificare.


I CMS possono essere realizzati tramite programmazione in vari linguaggi web tra cui, più comunemente, ASP, PHP, Microsoft .NET; il tipo di linguaggio adoperato è indifferente a livello di funzionalità.

Alcuni linguaggi rendono il CMS multipiattaforma, mentre altri lo rendono usufruibile solo su piattaforme proprietarie.

Il primo CMS che ho usato è quello creato da me il PHP e MYSQL, ancora operativo per alcuni siti, successivamente sono passato a Joomla che sicuramente per uno che lavora nel settore SEO è a mio avviso il migliore che esiste, poi per esigenze professionale dovevo creare un sito di e-commerce dopo evere visto alcune soluzione in Joomla sono passato a PrestaShop una dei migliori CMS nativi per e-commerce, successivamente sono passato a WordPress solo per la creazione dei siti vetrina.