CMS: meglio pagine statiche o dinamiche?
Giovedì 16 Febbraio 2006 - 11:55
di Cesare Lamanna

Non ho certo l’esperienza di tanti di voi, essendo la mia limitata all’installazione e alla gestione delle principali piattaforme di blogging, ma le tantissime volte in cui mi è capitato, ad esempio, di mettere su una copia di Movable Type, ho sempre consigliato alle persone per cui facevo il lavoro, di optare per la pubblicazione di pagine statiche piuttosto che dinamiche. La stessa cosa che ho fatto per questo blog.
Un bellissimo articolo di Tony Byrne su CMSWatch entra nel merito della questione con dovizia di dettagli e tanti saggi consigli. Mi limito a tradurre e riportare la lista di motivi che in tante circostanze fanno preferire le pagine statiche rispetto a quelle dinamiche:
- sono più veloci da caricare;
- sono più facili da indicizzare (ottimo per il motore di ricerca interno);
- Google le ama;
- nomi di file significativi aiutano l’usabilità;
- non ci si deve preoccupare di eventuali problemi del database;
- sono facilmente trasportabili da un server all’altro a prescindere dalla piattaforma e dal sistema operativo.
Categoria: Contenuti e Web Writing | Permalink
Commenti
1
Una domanda da ignorante in materia:
non tutti i CMS supportano l’utilizzo di pagine statiche, vero?# - postato da Ozzy - 16 Febbraio 2006 - 12:57
2
tutte cose giuste ma se i contenuti vanno oltre le poche pagine come si fa a gestire tutto staticamente?
# - postato da Mauro - 16 Febbraio 2006 - 13:04
3
Ho letto con interesse l’articolo e pur trovandolo interessante per molti aspetti, i punti a favore del full static vs dynamic non sono del tutto convincenti. In particolare due:
# Google le ama
# nomi di file significativi aiutano l’usabilità;In entrambi i casi se il sistema di CMS è in grado di fornire pretty URL, quindi con nomi significativi e non una lunga sequenaza di parametri, sia er l’utente che per il motore di ricerca queste sono “indistinguibili” da una pagina statica e quindi non vi può essere alcuna preferenza nell’indicizzazione diq ueste pagine.
Inoltre molti CMS o Blogging System che permettano uan interazione con gli utenti hanno necessità di generare contenuti dinamici, per l’inserimento di ocmmenti, feedback ed altro. Apparentemente i sistemi che traggono maggior beneficio dai contenuti statici sono quelli con migliaia o decine di migliaia di pagine ed in questi sistemi, vuoi per contenuti dianmici di contorno, non ultima la pubblicità, vuoi per la gestione degli stessi richiedono la generazione “al volo”. In tal caso si opererà sopratutto sull’ottimizzazione delle query al DB, sull’ottimizzazione del codice sull’utilizzo di sistemi di cache su oggetti più che su pagine.
Nel caso dell’ultima versione di WOrdPress ad esempio è stata introdotta una cache sugli ogetti per limitare il numero di ricerche su singoli parametri/oggetti nel DB, mentre luna cache sulle pagine viene gestita eventualmente con un plugin.
Insomma l’articolo non mi ha convinto appieno, sarebbe stato interessante se le tesi fossero sostenute dall’analisi di casi pratici e reali, da cui estrapolare gli effettivi vantaggi del passare da u sistema contenuto dinamico ad uno statico.
4
io sono parzialmente contrario all’utilizzo di pagine statiche … nel 90% dei casi non sono per niente necessarie veramente … si appesantisce soltanto, inutilmente, l’esecuzione
sono più orientato verso i sistemi “semi-statici” che fanno compilazione a run-time della cache
un sistema di questo tipo non solo da maggiori performance ma assicura la cache aggiornata automaticamente dopo le modifiche senza particolari problemi e un lavoro minore nel caso vengano aggiornati i template … oltre al fatto che tenendo i dati su database si ha la possibilità di creare una struttura su cluster più flessibile e meno ma molto meno costosa
# - postato da daniele_dll - 16 Febbraio 2006 - 14:00
5
concordo con daniele, per un mio sito quando modifico un record nel database invalido la pagina in cache corrispondente…in questo modo ci sono meno chiamate al database e tutto scorre via tranquillamente senza appesantire il server…sempre sullo stesso sito ho un sistema di articoli correlati con relativa cache che però invalido una volta al giorno ad una determinata ora.
6
concordo con daniele_dll: meglio dinamico con cache.
Infatti preferisco Wordpress a MovableType.# - postato da Andrea Paiola - 16 Febbraio 2006 - 14:33
7
sto sviluppando qualcosa per fini personali, e difatti mi tocca scegliere se usare statico o dinamico.
sia l’uno che l’altro peccano in qualcosa.
Così ho deciso di tenere una copia “leggera” delle stesse pagine nel db in modo da velocizzare le eventuali ricerche, inoltre, una copia “completa” della stessa pagina viene “esportata” all’indirizzo preposto.praticamente l’operazione di creazione/aggiornamento/eliminazione verrà eseguita dall’admin, o da chi inserisce un commento.
sarà poi onere del server applicare una maschera alla pagina web già pronta.
# - postato da Salvatore PECORARO - 16 Febbraio 2006 - 15:19
8
comunque MT ha un suo database (ci mancherebbe), semplicemente quando si fa qualche modifica a qualche post poi c’è da procedere alla “ricompilazione” delle pagine statiche…per quanto ne so io, di tutte..
9
Al solito, la virtù è nel mezzo.
La soluzione di Movable Type con tutte le pagine statiche è, spero che nessuno si offenda per questo, una porcheria. Un sistema che richiede 30 secondi o più per lasciare un commento è sbagliato fin dal progetto.
10
direi che infatti la maggior parte delle persone sia per i siti dinamici con cache dei risultati caricati dal database (ove possibile/utile)
11
Skid, per una volta non sono d’accordo con te. Anzi, lo sono sul fatto che la virtù sta nel mezzo, non su Movable. Il problema della lentezza nel rebuild dipende da una serie di fattori che solo in parte dipendono da MT. Puoi verificare tu stesso che su certi blog, anche molto trafficati, ma che girano su server ben bilanciati e/o con soluzioni come il ricorso a FastCGI e simili, i tempi si riducono drasticamente.
Per ratatuia: MT, quando fai una modifica ad un singolo post, ricompila solo quella pagina, non tutte. È vero che se fai un cambiamento, per dire, al template, dovresti fare il rebuild generale per vederlo applicato a tutte le pagine, ma a questo punto entra in gioco la tua conoscenza del sistema, il ricorso alle funzionalità avanzate, l’utilizzo dove serve di parti o sezioni dinamiche (qui in PHP), etc. Insomma, non vorrei che si avesse a prima vista l’impressione di un sistema ‘rigido’ e poco efficiente, tutt’altro. Se pianifichi le cose come si deve, sapendo bene sin dall’inzio cosa puoi fare o non fare, il livello di flessibilità è a mio parere ottimo. Però non iniziamo una guerra di religione su MT ;)
12
concordo appieno con skidx…
per quanto riguarda i punti che riassumono l’articolo…
- sono più veloci da caricare
può essere, però ogni qualvolta che si va a modificare qualcosa (commenti ad esempio) la pagina viene ricostruita e il processo diventa molto lento… inoltre una pagina dinamica programmata bene che fa poche query si carica spesso velocemente…- sono più facili da indicizzare (ottimo per il motore di ricerca interno);
se i contenuti sono replicati sul database… la ricerca conviene farla sul database… = nessuna differenza;- Google le ama
- nomi di file significativi aiutano l’usabilità;
entrambi i problemi posso essere risoliti ricorrendo all’URL Rewriting- non ci si deve preoccupare di eventuali problemi del database
l’unico punto su cui non si può non essere d’accordo- sono facilmente trasportabili da un server all’altro a prescindere dalla piattaforma e dal sistema operativo.
Le pagine statiche sì, ma visto che dietro c’è sempre un database… va trasportato pure il database e il sistema che gestisce tutto…
13
Cesare, a parità di dotazione hardware e software un sistema a rebuild statico puro come MT ci mette una giornata di più a gestire un commento rispetto a un sistema dinamico medio, questo è un dato di fatto su cui concordiamo, spero.
Guarda Macchianera o guarda questo blog, entrambi credo dotati di un buon supporto hardware e software. Ma anche il mio blog, che in proporzione ai primi due fa un commento ogni 3 anni, ci mette un’eternità.
Questo perché deve procedere a fare il rebuild di uno o più template per ogni commento (e spesso sono più template).Per non parlare, caliamo un velo pietoso, sul discorso template. Ho fatto personalmente un rebuild completo sul Daveblog, suppongo tu lo conosca. Da spararsi nelle gonadi. Con tutto che gira su un server coi contromazzi che nessuno di noi comuni mortali può permettersi (e infatti il server è di Gianluca Neri), ci ha messo un’era geologica. Quasi ci metto meno a fare un defrag sul disco.
E’ l’antiscalabilità a forma di CMS, perché tutti questi rallentamenti vanno a crescere con l’aumento del numero di post e template, invece che mantenere un andamento proporzionato al traffico.Non vorrei dar l’idea di chi getta fango su MT per partito preso, io stesso ho scelto a mio tempo MT per altre ragioni, pur coscente di questo suo limite. Non per niente hanno inserito la possibilità dei template dinamici gestiti dal PHP (per loro è una “feature” in più, io la considero una patch) perché forse si sono accorti dell’insostenibilità a lungo termine di un sistema statico in tempo reale.
14
Skid, al netto delle iperboli, non nego che poni l’accento su un problema reale di MT. La letteratura al riguardo è piuttosto ampia. Però ribadisco: conoscendo bene in partenza i termini della questione, è possibile intervenire e prevenire creando un buon mix tra parti dinamiche e statiche, valutando bene come costruire i template, etc. Quanto al rebuild generale, in questo momento, facendolo in ore pomeridiane, per questo blog ci si impiega intorno ai 10 minuti, mantenendo tutte le impostazioni di default, tipo quella delle 40 pagine individuali per blocco. tanto? poco? non lo so. però se progetti bene il sistema è un’operazione che fai ogni morte di Papa. normale manutenzione periodica che in fin dei conti, IMHO, non sbilancia in senso negativo la valutazione di MT.
15
Dieci minuti per una applicazione web (per un CMS dedicato a blog soprattutto, se pensi che i blog sono proprio strumenti per facilitare la pubblicazione a persone poco esperte) per me è un tempo improponibile.
Ho dimenticato di chiudere un tag.
Dieci minuti di rebuild (cioè di occupazione continua del server).
In una soluzione dinamica ci metti esagerando (uno schifo di applicazione) 10 secondi.
E quei 10 minuti cresceranno sempre di più, col tempo (i post aumentano). Nella soluzione dinamica resteranno 10 secondi.Vale la pena?
Secondo me per un blog no, perché quasi tutti i vantaggi possono essere riprodotti in soluzioni dinamiche (tranne l’indipendenza totale dal database, ma non te ne fai tantissimo di un blog senza poterci scrivere).
Tra l’altro sono anche meno versatili in termini di funzionalità. Estrai un post random su un template statico di MT.
Sarà sempre lo stesso finché non arriva un input (un commento di solito) che inneschi il rebuild.Quando cambia il post random? Boh, non si sa, speriamo che qualcuno commenti. :D
16
Non ne vale la pena
# - postato da suoneria gratis - 05 Aprile 2006 - 11:50
17
Mah, c’è da provare e provare
# - postato da cerca prezzi - 05 Aprile 2006 - 11:53
18
Ciao stavo cercando un cms per produrre pagine web statiche o semi statiche ottimizzate per i motori di ricerca. Ho partecipato ad alcune discussioni in merito su forum e mi pare che i sistemi cms come wordpress o MT siano pensati fondalmentalmente per i blog. La domanda è se si possono usare come cms per siti web slegandoli quindi dal sistema dei post tipo blog e dal relativo loop delle date.
Grazie mille per commenti
19
secondo me sono meglio entrambe, ognuna ha una sua valenza precisa
# - postato da ciccio - 29 Ottobre 2008 - 12:41







