Lavorando su WordPress (WP) può capitare di voler cambiare la directory di installazione di WordPress, o l'indirizzo URL esposto al pubblico. Si tratta di un'operazione semplice e veloce, ma se sbagliamo qualcosa durante il passaggio potremmo trovarci in guai seri. Il rischio è quello di non riuscire più ad accedere a WP, e quindi di non poter nemmeno aprire il pannello dove abbiamo commesso l'errore. Vediamo quali sono i passaggi critici dell'operazione, i possibili problemi ed alcune soluzioni pronte all'uso. Per comodità faremo riferimento ad un'installazione locale di WP (una guida per installare WP in locale è disponibile qui).

Il pannello di amministrazione

I pannelli di amministrazione di WP sono documentati qui. Seguendo il link verso il pannello General della voce Settings arriviamo alla pagina che spiega il significato dei campi disponibili nel pannello delle Impostazioni generali. Qui sono documentati i due campi che ci interessano per cambiare l'indirizzo di WP:

WordPress Address (URL)

Site Address (URL)

Per aprire il pannello all'interno di WP, assumendo di avere installato la versione in italiano, clicchiamo su Impostazioni e selezioniamo la voce Generale per aprire la pagina delle Impostazioni generali. Dopo i primi campi, che dovrebbero essere il titolo e motto del nostro sito, troviamo i campi corrispondenti a quelli sopra citati, ad esempio

Indirizzo WordPress (URL) : http://localhost/wp_site

Sito Web (URL) : http://localhost/wp_site

Considerando come esempio i valori qui sopra, possiamo assumere che il nostro WP sia installato all'interno della cartella wp_site della root di Apache. Supponiamo di cambiare il primo valore, scrivendo ad esempio prova al posto di wp_site, e poi salvare la nuova configurazione, senza rinominare alcuna directory. Il risultato sarà che ci siamo preclusi da soli la possibilità di accedere a WP, perché quando scriveremo http://localhost/wp_site nel browser ci troveremo un bell'errore HTTP 404, ovvero: pagina non trovata! Proviamo a riavviare Apache, nella speranza di rimettere le cose a posto, ma la situazione non cambia molto. A seconda della configurazione e della versione, potremmo trovarci davanti una versione “rotta” del nostro sito. Ma il vero problema è che non riusciremo a raggiungere la pagina di login nemmeno scrivendo

http://localhost/prova/wp-login.php

nel browser.

La soluzione più semplice, in questo caso, è fare quello che avremmo dovuto fare subito dopo aver salvato la nuova configurazione: rinominare la cartella nel file system. Nel nostro esempio basterà quindi rinominare la cartella wp_site con prova e tutto dovrebbe tornare a posto.

Se nemmeno in questo modo riusciamo a risolvere il problema, forse abbiamo digitato un carattere sbagliato per errore. Ad esempio abbiamo scritto orova invece di prova, ovvero abbiamo salvato la configurazione sbagliata senza accorgercene. Come aggiustare le cose se non sappiamo cosa abbiamo scritto? In questo caso, siccome non sappiamo come rinominare la cartella, l'errore sembra non riparabile! Ci siamo chiusi fuori casa e abbiamo lasciato le chiavi sul tavolo.

Un modo di risolvere il problema è collegarsi al database, usando ad esempio phpMyAdmin per correggere il dato “a mano”, intervenendo sul database. Proviamo ad eseguire la query:

SELECT * FROM `wp_options` WHERE option_name = 'siteurl';

Qui dovremmo trovare, sotto la colonna option_value, il valore che abbiamo inserito erroneamente. Per aggiustare tutto basterà eseguire la query:

UPDATE `wp_options` SET option_value='http://localhost/wp_site' WHERE option_name = 'siteurl';

Chiaramente, al posto di wp_site, potremmo anche scrivere prova, in modo da concludere l'operazione iniziale (qui sopra abbiamo scritto wp_site per mostrare come ripristinare la configurazione iniziale).

La procedura corretta per cambiare la root di WP è quindi la seguente:

  1. Cambiare il valore del campo Indirizzo WordPress (URL) nel pannello di amministrazione di WP
  2. Rinominare la cartella d'installazione di WP all'interno della root di Apache
  3. Riaprire WP (al nuovo indirizzo) per effettuare il login

In questo modo non dovrebbe essere necessario né riavviare Apache, né intervenire sul database per ripristinare la situazione iniziale. Quando scritto sopra rimane comunque utile in caso di errore, perché ci permette di ridurre al minimo i rischi dell'operazione.

Il secondo campo, ovvero Site Address (URL), serve per installare WP in una directory diversa dalla root di Apache, come spiegato qui. La funzionalità risulta in generale incompatibile con un'installazione di WP configurata per lavorare in MultiSite, per cui merita di essere trattata a parte. Ne parleremo nelle prossime puntate.