TomatoCMS è costruito con le più moderne tecnologie usate per creare siti web. Ci sono Zend Framework, jQuery e 960grid
È uno dei frameworks PHP più avanzato. Il suo utilizzo fa si che TomatoCMS segue l'architettura Model-View-Controller, e i principi del design object oriented.

jQuery È probabilmente la più popolare libreria javascript. Come recita il suo motto "Scrivi meno, fai di più", rende lo sviluppo di scripts in TomatoCMS semplice come non mai. In aggiunta, si possono usare i plugin disponibili forniti da jQuery e dagli altri sviluppatori.

TomatoCMS usa 960grid per costruire le pagine web sia lato front-end che back-end. È semplice personalizzarne la struttura. Sentitevi liberi di dividere il sito su due, tre e quattro colonne.

TomatoCMS considera la pagina web fatti di widgets multipli. Layout Editor permette una gestione molto semplice del layout di pagina.
L'aggiunta di questo widget alla pagina permette ai visitatori di spostare riorganizzare la disposizione dei widget tramite il semplice drag and drop. L'aggiornamento viene salvato sul computer dell'utente, così che nelle visite successive questi ritrova la disposizione scelta.
Potete creare una pagina partendo da contenitori multipli annidati. I contenitori Full-row possono essere trascinati e rilasciati sulla pagina per cambiarne l'ordine. Potete ridimensionare i contenitori in larghezza. Layout Editor permette di spostare i widgets anche tra contanitori diversi. Naturalmente, potete rimuovere qualsiasi widgets dal contenitorese non volete mostrarlo sulla pagina. Rimuore un contenitore dalla pagina rimuoverà tutti i widgets relativi.

Potete configurare ogni widget sulla pagina. Una volta impostato, potete avere un'anteprima di quello che sarà. Layout Editor mette a diposizione un'anteprima completa della pagina.

Con il sistema dei permessi basato su un'architettura ACL archirecture, potete impostare i permessi per regole (gruppi) o assegnare un utente a dei moduli.

Tramite il plugin IpLock, potete bloccare l'accesso da determinati indirizzi IP. Il plugin, naturalmente, può essere attivato o disattivato dal back-end.

È semplice bloccare l'accesso al back-end da determinati indirizzi IP.

TomatoCMS supporta un'architettura modulare. Ogni modulo ha un insieme separato di permessi, caratteristiche e informazioni sulla lingua. L'indipendenza dei moduli rende il loro sviluppo molto più semplice.
A volte, i moduli predefiniti, possono dipende a loro volta da altri moduli.
Alcuni sono:

TomatoCMS supporta un'architettura basata su plugin e hook.
Tramite il back-end, potete installare e rimuovere plugins e hooks. Chiaramente si possono caricare plugin o hook dal computer locale al sito web.
Ci sono due livelli di plugin o hook:


Potete vedere la lista completa di tutti i plugins e hooks disponibili per TomatoCMS nella sezione back-end. Di seguito ne trovate alcuni:
TomatoCMS supporta inoltre template e skin. Un sito può avere molti templates e ogni template può essere usato skins multiple. Potete cambiare molto facilmente template/skin dal back-end.
Il pacchetto standard di TomatoCMS viene fornito con due templates:

Usando il Layout Editor, sarà facile cambiare la struttura di una pagina creata con il sistema di template predefinito. Tramite il back-end potete cambiare la skin aggiornando i CSS associati.
TomatoCMS permette di cambiare anche tutti gli elementi basi dell'interfaccia quali il logo e la favicon 
Sfruttando l'architettura di TomatoCMS, gli sviluppatori lato frontend possono personalizzare il template e la skin, senza dover riscrivere codice PHP, ma semplicemente aggiornando l'HTML e i CSS.
TomatoCMS usa Zend_Layout per modificare il layoutTomatoCMS fornisce il pieno supporto al multilingua sia lato front-end che back-end. Fornisce inoltre due lingue predefinite quali l'Inglese (default) e il Vietnamita (Tiếng Việt).
I files per le lingue sono separati dai moduli e widgets.

Tramite il back-end di TomatoCMS, potete creare un nuovo file lingua o aggiornare uno già presente.
Il file lingua è un semplice file di testo (nel formato ini), quindi potete caricarlo direttamente a mano nel caso.
TomatoCMS fornisce il pieno supporto alle lingue RTL (Right-To-Left) quali Arabo, Iraniano, etc 

TomatoCMS gestisce al meglio il SEO perch&egarve; gli URLs generati sono già amichevoli.
Lo sviluppatore può manualmente personalizzare il formato degli URLs per renderli più adatti alle proprie esigenze
Potete impostare meta keyword, meta description tags tramite il back-end. Questi tags saranno impostati automaticamente in base alla pagina vista dall'utente. Per esempio, quando un utente visualizza i dettagli di un articolo, i tags realtivai a meta keyword e meta descriptions saranno ricavate dal titolo e dalla descrizione dell'articolo corrente.
RSS è sempre disponibile per il modulo delle news. Se un utente visualizza un articolo o una categoria tramite Firefox, sarà visualizzata l'icona del feed nella barra dell'indirizzo.

La struttura del database di TomatoCMS è stata ottimizzata per rendere il sito velocissimo.
In aggiunta, TomatoCMS supporta la replicazione della connessione al database tramite connessioni separate tra server master e slave.
TomatoCMS supporta il file caching. Tramite il back-end potete visualizzare la lista dei dati in cache raggruppati per tags.
La sezione Gestione Cache permette di rimuovere tutti i dati in cache relativi ad un dato tag o svuotare completamente la cache.
Se usate MemCache, TomatoCMS vi permetterà solo di svuotare la cache a casa di alcune limitazione di MemCache (non è possibile usare i tag per la cache, ad esempio).
Il Layout Editor vi permette di mettere in cache qualsiasi widget su di un pagina per tutta la sua esistenza. È possibile impostare il caricamento di qualsiasi widget tramite Ajax in modo da migliorare la velocità di caricamento.

Usando il Layout Editor, potete inserire un'area pubblicitaria in qualsiasi posizione vogliate. Ogni area può ospitare più banners. È possibile mostrare lo stesso banner su pagine diverse.
TomatoCMS supporta banner sottoforma di immagini, animazioni flash (*.swf, *.flv) e contenuto HTML. Quindi è possibile usare il codice HTML di Google Adsense per il vostro banner.
TomatoCMS supporta le categorie gerarchiche con livelli illimitati. Il database è ottimizzato in maniera tale che un elevato numero di livelli di categorie non abbia effetti negativi sulle prestazioni del sito web.

Tutti i commenti saranno mostrati solo se l'utente è già registrato.
TomatoCMS supporta i commenti annidati con un numero di livelli illimitato. Potete visualizzare la lista degli commenti per argomenti sia lato front-end che back-end.
Il sistema di commenti mostra un avatar predefinito per i commentatori. L'avatar è preso da Gravatar.

Tramite l'architettura ad hook, potete applicare vari hooks per formattare il contenuto dei commenti. Alcuni degli hooks predefiniti sono:
Potete caricare immagini e videoclips. Usando il modulo upload, potete caricare file multipli contemporaneamente. Le miniature sono generate automaticamente.
Potete organizzare foto, videoclip per gruppo. Ogni gruppo consiste di varie foto, e una foto può essere in vari gruppi. Potete caricare il titolo e la descrizione per singola foto videoclip, o gruppo.

Tramite il front-end potete vedere tutte le foto di uno stesso gruppo oppure visualizzare una slide che contiene le foto più recenti.

TomatoCMS usa TinyMCE. Si tratta di un editor WYSIWYG (What You See Is What You Get) molto semplice da usare.

Man mano che aggiungete o aggiornate un articolo potete caricare le immagini nello stesso momento senza dover ricaricare la pagina. Potete inserire una miniatura nel contenuto dell'articolo e selezionare tra le immagini caricate quella da usare come immagine di presentazione dell'articolo. È possibile inserire videoclip come contenuto di un articolo.
Come per gli altri moduli, un articolo deve essere attivato prima della pubblicazione. Potete salvarlo come bozza e pubblicato in seguito.
Potete assegnare categorie multiple ad un articolo. è possibile definire un articolo come sticky (appiccicoso) di una categoria.
TomatoCMS automaticamente aggiunge un link RSS nella sezione head del sito quando un utente visualizza un articolo o una categoria.
Potete creare un sondaggio per permettere agli utenti di selezionare una o più opzioni.
L'utente vota e vede la pagina con i risultati senza che questa debba essere ricaricata o aperta in una finestra popup.


TomatoCMS permette di associare dei tag a varie tipologie di oggetti inclusi articoli, foto, videoclip, etc.
Man mano che si aggiungono tag ad un determinato oggetto, non c'è bisogno che ricordate esattamente come sia scritto. Il sistema fornisce una serie di suggerimenti in accordo a quanto state scrivendo

C'è un widget chiamato TagCloud che elenca tutti i tags in ordine sparso. Cliccando su ogni singolo tag si verrà portati sulla pagina che mostra tutti gli oggetti che sono stati associat al tag selezionato.

Tramite il back-end, potete cercare, aggiungere o rimuovere un tag.
TomatoCMS usa Zend_Tag_Cloud per mostrare la tag cloud.Questo modulo permette di caricare immagini dagli altri moduli quali ad, news, multimedia.
I formati supportati sono i più comuni e includono png, jpg, jpeg and png.
Potete caricare immagini multiple allo stesso tempo senza dover ricaricare la pagina. Il numero di immagini che possono essere caricate allo stesso tempo dipende dal valore specificato per la dimensione massima di upload del vostro server.

Durante il caricamento vengono generate in automatico le miniature in varie dimensioni. Potete impostare le dimensioni delle stesse tramite il back-end. TomatoCMS supporta sia la generica GD che il sofisticato ImageMagick (*) per l'elaborazione delle immagini.
* Per usare usare ImageMagick è necessario installare sul vostro server la libreria e l'estensione relativa.