Usare Wordpress come CMS: una piccola guida
Mi ero ripromesso di utilizzare WordPress come CMS (Content Management System) per tutti i contenuti presenti su questo sito. C’era infatti un’installazione di WordPress, collocata nella directory /blog del sito, mentre le altre pagine, nella root del sito, si appoggiavano a qualche rudimentale script php fatto in casa. Il motivo risiedeva nel fatto che le pagine “statiche” e il blog con WordPress erano stati pubblicati in due periodi di tempo separati e, trattandosi di un sito personale, senza tanti ragionamenti su quale strada fosse meglio seguire e quale piattaforma utilizzare.
Pur con poche pagine da gestire e pochi interventi nel blog (ha quattro anni, ma non li dimostra), il risultato era per nulla soddisfacente e richiedeva il doppio della fatica, a causa dei due sistemi separati. Ad esempio, per inserire una modifica qualsiasi nel codice di tracciamento di Google Analytics, bisognava intervenire sia sul blog, sia nelle pagine php. Da qui, la promessa di perdere un po’ di tempo per uniformare il tutto, sfruttando le funzionalità offerte da WordPress.
Dato che la transizione è ormai completata e tutto il sito è ora gestito dal motore di WordPress, semmai tornasse utile a qualcuno, ecco la trafila che ho seguito per usare WordPress come CMS.
Piccola premessa: questo post è stato scritto con riferimento ad un’installazione in lingua italiana di WordPress 2.8. Può darsi quindi che alcune voci di menu e/o impostazioni indicate non siano più valide o esistenti in futuro.
Modificare le impostazioni di lettura
Come già detto, l’installazione di WordPress su questo sito si trovava nella directory /blog. Il mio desiderio era di mantenere il flusso dei post allo stesso indirizzo e avere una homepage differente, con una pagina creata con WordPress.
WordPress consente questa opzione: basta andare, nel pannello di amministrazione, sotto Impostazioni -> Lettura, e indicare la pagina statica che verrà mostrata come homepage e la pagina in cui verranno pubblicati i post. Ecco uno screenshot.

Amministrazione Wordpress: Impostazioni -> Lettura
Semplice, ma questa scelta avrebbe generato un problema, legato ai permalink e al file .htaccess. La pagina statica “blog”, se posizionata nella root (www.ginelli.it/blog), sarebbe coincisa con la directory di installazione di WordPress, causando problemi nella visualizzazione del blog stesso.
Modificare la cartella in cui è installato WordPress
Per risolvere il problema qui sopra, ho deciso di modificare il nome della cartella in cui è installato Wordpress: da /blog a /wordpress. Probabilmente c’erano soluzioni più eleganti e professionali, ma questa mi sembrava rapida e senza rischi.
Modificare le impostazioni generali nel pannello di amministrazione di WordPress
Una volta ri-loggato nel pannello di controllo al nuovo indirizzo (non più /blog, ma /wordpress), è stata la volta della modifica dei parametri presenti sotto Impostazioni -> Generale. In questa pagina, sono presenti due voci, che solitamente coincidono:
- Indirizzo WordPress (URL): inserire l’indirizzo a cui è installato Wordpress
- Indirizzo del blog (URL): inserire l’indirizzo che si desidera utilizzare, nel caso in cui la homepage del blog sia diversa dalla directory dove è installato WordPress.
Nel mio caso, vista la modifica già fatta e il punto di arrivo a cui volevo giungere, ho settato così:
Indirizzo WordPress (URL): www.ginelli.it/wordpressIndirizzo del blog (URL): www.ginelli.it
Modificare i permalink
I permalink (v. nel pannello di WordPress: Impostazioni->Permalink) erano nel formato “Data e nome”. Se non avessi modificato questa impostazione, ora avrei avuto i post all’indirizzo www.ginelli.it/2008/03/14/esempio e non più www.ginelli.it/blog/03/14/esempio.
Ho quindi optato per i permalink con “Struttura personalizzata”, inserendo i seguenti valori:
/blog/%year%/%monthnum%/%day%/%postname%/.
Aggiungendo “blog”, infatti, i post avrebbero mantenuto il vecchio indirizzo, mentre le altre pagine sarebbero rimaste direttamente dipendenti dalla root del sito. Ad esempio, www.ginelli.it/contatti e non www.ginelli.it/blog/contatti
Spostare i file index.php e .htaccess
A questo punto la cartella di WordPress è stata rinominata, le impostazioni sono sistemate, i permalink pure. È il momento di spostare i file index.php e .htaccess dalla cartella /wordpress a quella principale del sito. Una modifica al codice php del file index.php è però necessaria. La riga
require('./wp-blog-header.php');
deve diventare
require('./wordpress/wp-blog-header.php');
Interventi sul db per percorsi file e immagini
Spostati i file index.php e .htaccess, WordPress è diventato il CMS di tutto il sito, installato sotto /wordpress, mentre il blog è rimasto visibile al suo posto sotto /blog.
Il lavoro non è però ultimato: quando si usa l’editor di WordPress i percorsi delle immagini e degli altri elementi multimediali vengono inseriti nel database. Rinominando da /blog a /wordpress la cartella di installazione, si rende necessaria una bella istruzione SQL sul database per correggere i riferimenti sbagliati.
Ultimi ritocchi: le vecchie pagine statiche con redirect 301
Avendo importato i contenuti delle vecchie pagine php in WordPress, bisogna affrontare un’ultima piccola fatica. Le vecchie pagine php, già presenti negli indici dei motori di ricerca e magari nei bookmark di qualche navigatore, devono redirigere automaticamente alle corrispondenti pagine di WordPress. Ad esempio, la vecchia pagina /form.php è ora /contatti. Come fare?
La risposta si chiama “HTTP header 301″. Con php, le vecchie pagine statiche devono ora redirigere automaticamente alle nuove versioni, grazie alla funzione header(), come nell’esempio:
<?php
header('Location: http://www.sito.ext/nuova-destinazione');
?>
Buona migrazione a tutti!
agosto 23rd, 2009 at 10:42 AM
Ho installato wordpress in una sottodirectory (http://www.lucapacini.it/wp_lucapacini). Digitando http://www.lucapacini.it con un redirect ti ritrovi su http://www.lucapacini.it/wp_lucapacini. Ho provato a cambiare l'indirizzo da impostazioni generali … ma ho fatto un danno. Gli articoli ci sono ma non il template … e non è possibile rientrare nel pannello di amministrazione … mi puoi aiutare?
Grazie e saluti,
Luca Pacini
lucapacini@tiscali.it
agosto 23rd, 2009 at 2:32 PM
Ho risolto: http://www.tamba2.org.uk/wordpress/site-url/
agosto 30th, 2009 at 2:47 PM
Mi spiace non aver potuto risponderti subito, ma nei giorni scorsi non avevo la possibilità di collegarmi ad Internet. Sono contento che tu sia riuscito comunque a risolvere il tuo problema.
A presto!
luglio 9th, 2009 at 4:21 PM
Sempre ottimo il gine. Una garanzia
This comment was originally posted on FriendFeed
luglio 9th, 2009 at 4:56 PM
Troppe lusinghe, poche losanghe, ma io volevo solo le lasagne.
This comment was originally posted on FriendFeed
luglio 9th, 2009 at 5:42 PM
Adesso vengo li e ti faccio migrare il blog su sharepoint.
This comment was originally posted on FriendFeed
luglio 9th, 2009 at 7:52 PM
io ci ho fatto il sito aziendale con Wordpress as a CMS. un lavoro grezzo, ma funziona.
This comment was originally posted on FriendFeed
luglio 10th, 2009 at 2:41 PM
Mauro ti sfido: scrivi qualcosa su come usare WORD come cms
This comment was originally posted on FriendFeed
luglio 10th, 2009 at 4:15 PM
Un intero sito in Word? Miiiticooooo! W gli standard web! W il supporto dei CSS!
Ci penso, dai.
This comment was originally posted on FriendFeed