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.

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!
22 risposte su “Usare WordPress come CMS: una piccola guida”
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
Ho risolto: http://www.tamba2.org.uk/wordpress/site-url/
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!
Ciao, ho installato wp in una cartella blog, ho impostato i Permalinks /%postname%/ (il file .htaccess con i diritti 777) ma non visualizza la pagina. errore HTTP 404 – Pagina non trovata. ho provato anche il sistema /blog/%postname%/ ma niente da fare. Mi potresti aiutare? grazie Roby !
Ciao, così al volo non riesco a capire dove possa essere l'errore. Mi manderesti per favore l'indirizzo del blog? Se non vuoi pubblicarlo qui, puoi usare il modulo di contatto o la chat su questo sito, quando sono online. 😉
Ad una prima occhiata il blog sembra a posto, per cui provo con qualche suggerimento:
1) Il file .htaccess [senza alcuna estensione] è nella cartella /blog/ ?
2) Hai controllato che non ci siano errori nel file .htaccess ?
3) Il server ha il modulo "mod_rewrite" attivo?
Se non lo conosci ancora, prova ad installare il plugin http://www.askapache.com/htaccess/rewriterule-vie…
1).htaccess si
2)non saprei controllare il file .htaccess, l'ho confrontato con altri mi sembra ok
3) si (in altri siti dove ho impostato /%postname%/ funziona (wp nella root)
ora provo il plugin.
Grazie Mauro
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
Ciao mi chiamo luigi, ho da poco installato wp in locale e sto cercando di cambiare colori dei font al tema che ho selezionato. Sono riuscito a cmabiare praticamente tutto, modificando i file di style ma mi manca il menu Categorie (widget di wp) come posso modificare il colore del testo?
Ciao Luigi,
senza aver visto l'installazione di WordPress e il tema scelto, posso solo suggerirti di verificare che non manchi qualche dichiarazione nei fogli di stile.
Prova a guardare se il codice HTML generato per le categorie ha qualche classe o ID particolare e assicurati che non ci siano errori o mancanze nei CSS.
Se vuoi, mandami pure qualche link e/o codice, anche privatamente.
Ciao, ho un problema di visulaizzazione notizie sul thema newsPress, quando attivo i commenti escono a destra in alto tra l'articolo e la barra Dx. mi potresti aiutare? http://www.fidapadistrettonordest.org/lunita-dita…
Roby
Ciao Roberto, ti ho mandato un'email all'indirizzo e-mail associato al commento qui sopra: ti è arrivata? Se ripassi di qui, fammi sapere.
Ciao Mauro, ho trovato la tua e-mail e ho subito modificato il file come da tue istruzioni, Funzionaaaaa!!! sei grade.. grazie, grazie.
Domandina del lunedì…!
ho un blog in wp.. vorrei collegare il file articoli ad un sito esterno tramite iframe è possibile?
Il modo più semplice è passare alla "modalità" HTML dell'editor: quando scrivi un post o una pagina, clicca sulla voce "HTML" a destra, sopra la barra degli strumenti dell'editor, di fianco a "Visuale".
A quel punto, puoi aggiungere il tag iframe, tipo:
<iframe src="http://www.google.it" width="400" height="200">
contenuto alternativo
</iframe>
Ciao Mauro. Sto cercando di utilizzare un thema di wp, ma mi sono accorto di un problema serio… http://www.claudiocanova.it/albe/
in mozzilla tutto ok… in ie8 si sposta l'immagine grande verso destra.. mi sai aiutare?
Grazie Roberto
Ciao Roberto,
il link indicato nel commento (http://www.claudiocanova.it/albe/) restituisce errore 404 (file non trovato).
Riusciresti a mandarmi per email il link corretto?
Caro Mauro, sopra ho risolto… ho un nuovo problema però..
caricato promotions-slider, sembra funzionare a bomba ma l'immagine non rispetta la misura impostata 960×300 crea una sorta di miniatura. puoi vedere il tutto in http://www.alessandrotarantola.it/ clikka sulla foto 5.
Il sistema per caricare le foto è Imposta immagine in evidenza, descritto nel tutorial del plugin. Mi puoi aiutare? Roberto
Ciao… ho fatto tutta la procedura e mi visualizza correttamente tutto! Ora… domanda stupida ma devo farla… ho già perso una ventina di minuti a cercare… dove entro per gestire wordpress?? <a href="http://www.miosito.it/wp-admin” target=”_blank”>www.miosito.it/wp-admin non funziona <a href="http://www.miosito.it/wordpress/wp-admin” target=”_blank”>www.miosito.it/wordpress/wp-admin non funziona
GRAZIE!
Sei riuscito a risolvere?
Dovresti riuscire a loggarti all'indirizzo http://www.miosito.it/wordpress/wp-login.php (svuota prima la cache, per sicurezza). L'area di amministrazione sarà http://www.miosito.it/wordpress/wp-admin
Ho creato un sito usando WordPress la cui struttura è http://www.dominio.it e le pagine sono http://www.dominio.it/pagina1 http://www.dominio.it/pagina2 ecc.
Vorrei mettere tutto il sito, nessuna pagina esclusa, su un sottodominio esempio: sottodominio.dominio.it e pagine sottodominio.dominio.it/pagina1 e sottodominio.dominio.it/pagina2 ecc.
Come pannello di controllo ho cPanel e da lì so creare i sittodomini, ma come mi devo comportare con WordPress e con il resto?
Devo dire che sono alle prime armi con WordPress e non ho idea di come fare.
Grazie in anticipo per la risposta!
Hai per caso Fantastico a disposizione, all’interno di cPanel?
Se sì, non dovrebbe essere complicato. Vedi ad esempio questo post (in inglese): http://www.strictlyonlinebiz.com/blog/install-wordpress-blog-in-subdomain/1881/