Amare un linguaggio, una piattaforma o una tecnologia non deve renderci parziali. Occorre invece ammettere i limiti di ciò che amiamo non solo per obiettività, ma anche per contribuire al suo miglioramento. WordPress è una piattaforma molto versatile, ma ha anche diversi limiti che non possono essere trascurati. Vediamo quali sono.
Scarsa modularità
WordPress è un CMS, non un framework. È concepito non in senso modulare ma strutturale. Si tratta di un'intera struttura che opera come un unico blocco.
Da un punto di vista del design del codice, WordPress è più procedurale che non modulare e object-oriented. Questo vuol dire che tutto il codice aggiunto al CMS tramite plugin o temi è procedurale, con qualche timida eccezione.
In un certo senso, ciò appare chiaro se si analizza la struttura di un tipico blocco di codice per WordPress:
<p class="summary">
<?php the_excerpt(); ?>
</p>
PHP e HTML mischiati insieme, come prevedibile. Questo approccio rende molto difficile la manutenzione e il debugging del CMS: struttura e logica dovrebbero essere separate, ma ciò non avviene in WordPress.
Mancanza di funzionalità
Alla scarsa modularità si aggiunge anche la mancanza di alcune funzionalità, come ad esempio:
- Test di compatibilità per plugin e temi
WordPress non dispone di un test di compatibilità per plugin e temi all'atto dell'aggiornamento del CMS o di una sua reinstallazione. Pertanto viene consigliato di disabilitare tutti i plugin quando si aggiorna il core di WordPress per poi riabilitarli.
- Procedura di aggiornamento guidata
La procedura di aggiornamento del core dovrebbe essere guidata, con un sistema di verifiche sull'installazione corrente.
- Validazione del codice
Tutti gli errori PHP in WordPress avvengono per lo più a causa di codice non valido sintatticamente. L'editor di WordPress dovrebbe pertanto fornire una funzione di validazione del codice a livello sintattico, esattamente come avviene in Blogger. Inoltre la gestione degli errori dovrebbe essere potenziata (come avviene per la gestione del database tramite
$wpdb
).
Limiti nel design
WordPress appare per lo più limitato al mondo del blogging e a quei progetti che hanno una struttura affine al blogging (come i quotidiani). Per questo motivo è spesso difficile usare questo CMS per progetti diversi dal concept del suo design, come ad esempio siti aziendali con funzioni di e-commerce, community e via dicendo.
Il problema è appunto quello evidenziato all'inizio: la scarsa modularità impedisce a WordPress di adattarsi a contesti diversi dal blogging. Se si riuscisse ad aggiungere questa modularità, WordPress potrebbe essere usato ovunque.