Quando si crea un sito, capita di installare Wordpress in una directory, ad esempio /blog, e successivamente di volerlo spostare nella root, in modo da poter richiamare il blog direttamente con la home del sito (es. www. tuosito.ext).
Questa operazione non è mai banale, e anzi va valutata con molta attenzione, specie riguardo all'indicizzazione del sito, in quanto ovviamente per i motori di ricerca è praticamente cambiato tutto.
Prima di tutto però, consiglio un bel backup generale di tutto, in modo da avere la possibilità di recuperare eventuali situazioni critiche: per backup generale intendo database e intero sito, magari tramite FTP (ovvero copiarsi TUTTO il sito in locale, non si sa mai!).
Fatto questo passo fondamentale, passiamo allo spostamento vero e proprio. Andiamo in Impostazioni -> Generale e alle voci Indirizzo Wordpress (URL) e Sito web (URL) impostiamo la nuova home del blog (quella che sarà definitiva dopo il trasferimento); nel caso i campi non siano direttamente modificabili, allora dovrete procedere via database, aprendo phpmyadmin (presente nel pannello di amministrazione del vostro hosting) e modificare questi dati nella tabella wp_options (campi siteurl e home). ATTENZIONE!! Non provate a visualizzare il blog adesso perchè non risulterebbe più raggiungibile!!
Adesso si possono spostare file e directory del blog dalla directory in cui si trovano attualmente alla root del sito (via FTP).
Bisogna ora sistemare i permalink, in Impostazioni -> Permalink, salvando i dati anche se non si è modificato nulla, in modo che le impostazioni finiscano comunque nel database, e la directory in cui si trovano i files multimediali (Impostazioni -> Media), assicurandosi che sia indicato il nuovo percorso, e non sia ancora presente il precedente indirizzo della directory (quello relativo alla sottodirectory), altrimenti i files continuerebbero ad essere caricati nel vecchio percorso.
Adesso il blog dovrebbe essere perfettamente raggiungibile, ma avremo probabilmente ancora qualche problema con i link interni, sicuramente con tutti quelli relativi alle immagini. Ecco due query SQL che dovrebbero risolvere il problema:
UPDATE wp_posts SET guid = REPLACE ( guid, 'http ://indirizzosito/blog', 'http ://indirizzosito'); UPDATE wp_posts SET post_content = REPLACE ( post_content, 'http ://indirizzosito/blog', 'http ://indirizzosito');
Il primo serve a modificare i permalink, il secondo aggiorna gli URL negli articoli. Ovviamente sostituite nel codice l'indirizzo del vostro sito (ATTENZIONE! Non ci sono spazi tra http e ://, l'ho inserito solo per problemi di formattazione del mio blog che risolverò quanto prima!!) e attenzione ai prefissi delle tabelle, io ho usato le impostazioni predefinite di Wordpress, ma se li avete modificati allora dovrete usare quelli che avete scelto. Il codice va infine lanciato (uno alla volta) all'interno di phpmyadmin.
Resta da fare un redirect dal vecchio al nuovo indirizzo, altrimenti perderete sicuramente l'indicizzazione, e si può procedere tramite un plugin apposito: Wordpress Redirection.
Dopo averlo installato, da Strumenti -> Redirection, sostituite la riga Url di partenza:
/directory/(.*) => /$1
Con la Url di arrivo:
/$1
Dove directory nella prima riga va sostituito con la vecchia directory in cui si trovava il blog. A questo punto clicchiamo su Crea reindirizzamento e abbiamo finito.
Vi consiglio di dare anche uno sguardo all'URL dei feed, specie se usate servizi esterni, dato che probabilmente dovrete aggiornare anche lì.
Abbiamo finito, ovviamente per i primi tempi tenete d'occhio tutta la situazione, potrebbe sempre venire a galla qualche problemino residuo, e portate pazienza per quando riguarda i dati relativi alle visite, dato che ci vorrà un po' per tornare ai soliti livelli.
Alla prossima..