Categorie
Dentro il Web

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
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/wordpress
  • Indirizzo 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

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. 😉

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 Mauro, ho trovato la tua e-mail e ho subito modificato il file come da tue istruzioni, Funzionaaaaa!!! sei grade.. grazie, grazie.

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&quot; width="400" height="200">
contenuto alternativo
</iframe>

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

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!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *