Introduzione
WordPress è un ottimo sistema per gestire un blog: consente di scrivere e pubblicare post in modo semplice, modificarli, eliminarli ed organizzarli secondo categorie e tag.
Da un certo punto di vista esso è già un Content Management System, in quanto tecnicamente consente di gestire il contenuto che vogliamo trasmettere attraverso il sito.
Un Content Management System che però si discosta dalla comune percezione di quello che è un CMS: un CMS serio è un prodotto come gli open source Drupal o Joomla, oppure i commerciali BEA e Vignette.
WordPress in confronto a questi prodotti è un software con un target molto ridotto, e dicendo "usiamo WordPress come CMS" si intende gestire un piccolo sito per visualizzare pagine Web. Proviamo quindi a fare in modo che WordPress si comporti come un CMS convenzionale.
La struttura che caratterizza la maggior parte delle installazioni WordPress mostra il contenuto in ordine cronologico inverso, il tipico blog, ma WordPress può essere configurato in modo che questa struttura venga meno e siano mostrate le informazioni in un modo completamente differente.
Vogliamo modificare WordPress in modo che possa assumere le sembianze di un sito informativo, di una libreria di articoli, una galleria immagini, un e-magazine, un sito e-commerce e così via.
I vantaggi:
- Se siete già familiari con WordPress perchè lo usate per gestire il vostro blog, allora usarlo come CMS non sarà così frustrante ed impegnativo come passare ad un nuovo sistema.
- La sua struttura post / pagine permette di creare la struttura statica del sito attraverso le pagine, e gestire le news attraverso i post.
- WordPress è più semplice della maggior parte degli altri CMS.
- Il numero di template e di plugin disponibili per WordPress è enorme.
- WordPress è molto SEO Friendly.
Gli svantaggi:
- Usare WP come CMS è forzare il suo funzionamento, ed in un certo senso snaturarlo.
- Un numero troppo elevato di pagine può portare molta confusione e lentezza all'interno del sistema
- Non è possibile creare nuove tassonomie come avviene con Drupal
- La struttura dei permalink non è molto flessibile
Template
Dobbiamo scegliere un template che ben si adatti allo scopo che ci prefiggiamo, ovvero deve assumere un bell'aspetto e deve essere consono ad un utilizzo come CMS. Una volta scelto il template che ritenete più adatto, occorre eliminare le feature che rendono il vostro sito simile ad un blog, ovvero gli archivi per data, il Blogroll, la sezione Meta. Prendiamo ad esempio il template di default. Per eliminare queste sezioni, da interfaccia di amministrazione apriamo il menu Design, quindi la voce "Theme Editor".
Selezioniamo il file "sidebar.php", quindi cerchiamo il codice riportato qui sotto ed eliminiamolo.
Codice sidebar.php
<li><h2>Archives</h2> <ul> <?php wp_get_archives('type=monthly'); ?> </ul> </li>
Stessa operazione per il codice
<?php /* If this is the frontpage */ if ( is_home() || is_page() ) { ?> <?php wp_list_bookmarks(); ?> <li><h2>Meta</h2> <ul> <?php wp_register(); ?> <li><?php wp_loginout(); ?></li> <li><a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a></li> <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li> <li><a href="http://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress</a></li> <?php wp_meta(); ?> </ul> </li> <?php } ?>
Al termine di queste modifiche premere il pulsante "Update" in fondo alla pagina. Se questo pulsante non fosse disponibile, il motivo è che il file sidebar.php non ha permessi di scrittura. Dopo aver modificato i permessi sarà possibile applicare le modifiche.
La homepage
Anzitutto, WordPress 2.5.x permette di selezionare una pagina o un post qualsiasi del blog ed impostarlo come home page, al posto della consueta lista di post in ordine cronologico inverso.
Possiamo quindi creare una pagina chiamata "Home" ed assegnarla come home page usando il menu Settings ed aprendo il tab Reading.
A questo punto la home page del sito avrà il seguente aspetto:
Organizzare le pagine
Per organizzare il menu e la presentazione delle pagine ci appoggiamo ad un plugin, WordPress Navigation List, che permette di avere il completo controllo per quanto riguarda la creazione, lo stile ed i contenuti della navigazione del sito. Scarichiamo il plugin dal sito ufficiale, scompattiamo il file zip e compiamo la cartella nella directory "wp-content/plugins" dell'installazione WordPress. Attiviamolo dall'interfaccia di amministrazione, attraverso il menu "Plugins".
Ora attraverso il menu "Manage" selezioniamo la voce NAVT Lists. Possiamo vedere l'interfaccia grafica molto curata di questo plugin, che si basa sulla tecnologia Ajax per fornire una elevata interazione con l'utente. Prima di partire con la gestione della navigazione, creiamo qualche pagina aggiuntiva, ad esempio le pagine "Chi siamo", "Dove siamo" e "Dicono di noi". Torniamo all'interfaccia di gestione della navigazione del plugin NAVT, e creiamo un nuovo menu indicandone il nome in "Navigation Group" e cliccando "create". Chiamiamolo "MioGroup".
Come possiamo notare è comparsa un nuovo blocco all'interno della finestra, ed è stata inserita la dicitura “group miogroup was created" nel blocco "Change Log". Ora selezioniamo la pagina Home all'interno del blocco assets. Essa comparirà all'interno del rettangolo denominato "unassigned".
Se ora posizioniamo il cursore del mouse sopra la paginetta azzurra che compare di fianco alla voce "Home" possiamo trascinare la pagina all'interno del blocco "miogroup". Facciamo la stessa cosa per tutte le pagine create.
Volendo inserire la pagina "Dicono di noi" come sottopagina di "About", possiamo farlo selezionando la freccia destra all'interno del riquadro "Dicono di noi": una volta eseguita l'operazione si potrà notare che "Dicono di noi" è spostata leggermente verso destra.
Cliccando l'icona che raffigura un ingranaggio a sinistra nell'intestazione del riquadro "miogroup" verrà aperta una finestra di impostazione, che usiamo per visualizzare la navigazione all'interno del tema grafico. Apriamo il tab Theme e scriviamo "#sidebar" nel campo Theme xpath, e in Action selezioniamo "Insert at top".
Ora cliccando il pulsante "save" avremo la nostra lista pubblicata in ogni pagina del sito.
Come possiamo notare abbiamo due liste, poichè la prima è il normale elenco di tutte le pagine presenti nel sito, che possiamo eliminare agendo sul template. Per farlo apriamo il menu Design e selezioniamo l'opzione Theme Editor. Scegliamo il file sidebar.php, cerchiamo il codice
<?php wp_list_pages('title_li=<h2>Pages</h2>' ); ?>
ed eliminiamolo, quindi clicchiamo la voce "Update File". A questo punto avremo solo il nostro menu appena creato con il plugin NAVT.
Gestire le notizie
Abbiamo visto come gestire le pagine, che servono per gestire i contenuti che non perdono valore con il passare del tempo. Per gestire i contenuti che nel tempo diventano obsoleti, come le news, usiamo i post. Essi possono essere classificati in base alla categoria e permettono così una buona divisione per argomenti dei contenuti offerti. Possiamo aggiungere le ultime news inserite in un box all'interno del template, richiamando la funzione
Plugin utili
Vediamo alcuni plugin che possono essere utili per la trasformazione di WordPress in un CMS:
- Role Manager - permette di gestire con precisione i permessi di ciascun utente.
- Site-map Generator - un sito Web di una certa complessità necessita di una sitemap che ha il doppio vantaggio di linkare molte pagine, operazione che migliora il linking interno e quindi ottima dal punto di vista SEO, e di mostrare ai visitatori la struttura del sito in modo compatto.
- BreadCrumb Navigation XT - genera i cosiddetti breadcrumb, ovvero traccia la posizione della pagina all'interno della struttura pagine - categorie del sito consentendo al visitatore di sapere in ogni istante la sua posizione nel sito.
- NextGen Gallery - per gestire gallerie immagini
- Cforms II - permette di creare una form di contatto personalizzabile a seconda delle esigenze.