Spostare Joomla! da una sottodirectory alla root, e preservare il posizionamento

In questo tuttorial sono descritte delle procedure per effettuare lo spostamento da sottodirectory a root di un sito realizzato con Joomla!  sia su qualunque Hosting standard che su Hosting Fattispazio.

I passi da effetuare:
  1. mettere offline il vostro sito
  2. scaricate, tramite ftp tutto il contenuto della cartella /joomladir
  3. fatene un back up e conservatelo accuratamente.
  4. aggiornare il file configuration.php modificando l'url del sito e le path a log e tmp (togliete /joomladir ove presente; tipicamente le voci interessate sono $live_site (se valorizzato), $tmp_path e $log_path)
  5. editate il file .htaccess inserendo, subito dopo la direttiva RewriteEngine On, la seguente istruzione 
    RewriteRule ^joomladir/(.*)$ /$1 [R=301,L]

    (notare la mancanza della / iniziale)
    ovviamente al posto di joomladir dovrete inserire il nome della directory in cui è posizionata la vostra installazione Joomla!
    se tolto, rimettete il commento (un # ad inizio riga) alla direttiva RewriteBase
  6. caricate il contenuto del sito nella root del server
  7. rinominate la cartella /joomladir in /__jomladir (o come preferite, ma aspettate a cancellarla)
  8. rimettete on line il sito
O se su hosting Fattispazio.
  1. mettere offline il vostro sito
  2. fate una copia .zip dell'intera dir /joomladir - utilizzando le funzioni di filemanager in cpanel e conservatelo.
  3. copiate, - utilizzando le funzioni di filemanager in cpanel - il contenuto della cartella /joomladir nella root con l'eccezione dei files .htaccess e robots.txt. Se presente nella root lasciate provvisoriamente il file index.html che eliminerete al termine del punto 5
  4. aggiornare il file configuration.php modificando l'url del sito e le path a log e tmp (togliete /joomladir ove presente; tipicamente le voci interessate sono $live_site (se valorizzato), $tmp_path e $log_path)
  5. rinominate il file .htaccess in htaccess.old e IMPORTANTE copiare il file .htaccess presente in /joomladir ed editarlo inserendo, subito dopo la direttiva RewriteEngine On, la seguente istruzione 
    RewriteRule ^joomladir/(.*)$ /$1 [R=301,L]

    (notate la mancanza della / iniziale)
    ovviamente al posto di joomladir dovrete inserire il nome della directory in cui è posizionata la vostra installazione Joomla!
    se tolto, rimettete il commento (un # ad inizio riga) alla direttiva RewriteBase
  6. rimettete on line il sito
Il tutto dovrebbe funzionare alla perfezione.

Prima di terminare alcune operazioni di pulizia.

ANNOTAZIONI

Il sql non ha bisogno di nessuna modifica
Una dimanda comune è se sono necessarie modifiche al database. Ricorda sempre che il codice sql del db non ha alcuna attinenza con il filesystem, a meno che voi abbiate inserito direttamente negli articoli edi percorsi assoluti (es: link a immagini o files per il download con percorso assoluto).
Conviene quindi controllare i contenuti una volta che il sito è stato sposato.
Se siete abbastanza smaliziati potete scaricare il dump del db, effettuare un 'cerca e sostituisci' e ricaricarlo.
Non limitare la ricerca alla sola stringa /joomladir (soprattutto se è effettivamente 'joomla') ma usare almeno 'http://www.miosito.tld/joomladir' al fine di evitare sostituzioni indesiderate.
Se sapete come fare potete farlo, in caso contrario non provateci: non è difficile, ma è un'operazione delicata: se sbagliate il sito non funzionerà più, mentre se non lo fate i link errati saranno gestiti dalla regola in htaccess.

Joomla! ed i suoi componenti sono studiati in moto tale da poter essere spostati (rilocati, in termine tecnico) senza alcun problema, pertanto tutti i vostri articoli non avranno problemi.

.htaccess
Nota: se non rinominate la vecchia cartella il sistema di redirect non funzionerà  
La direttiva inserita nel file .htaccess serve anche a preservare il posizionamento raggiunto su google; vediamone il funzionamento:
  1. lato navigatore web: 
    il navigatore trova, su google, il link al sito (sotto /joomladir) e clicka.
    il webserver, dato il redirect in htaccess indica al browser il nuovo indirizzzo. il browser, in maniera trasparente all'utente, carica la nuova pagina, ed il navigatore difficilmente si accorgerà di che è successo.
  2. lato spider:
    alla prossima scansione google tenterà di vedere se la pagina esiste e se è stata modificata. 
    la regola in htaccess indicherà allo spider che la pagina è stata spostata IN MODO DEFINITIVO (R=301 indica Moved Permanently). 
    Pertanto lo spider rimuoverà questo riferimento e lo sostituirà con l'indirizzo fornito dal server web, verificherà poi le eventuali modifiche alla pagina, che comunque non sarà eliminata dall'indice.
Tenete presente che la regola proposta traduce qualsiasi link a pagine sotto /joomladir nel corrispettivo indirizzo al di fuori della sotto cartella. Ovviamente se la pagina non esiste più otterrete una pagina di errore 404, che potrete personalizzare.

Quando eliminare la regola di redirect
Dipende da diversi fattori, il primo è: quando google non ha più riferimenti alla cartella.
il secondo fattore, e qui ci fermiamo, dipende dai links esterni. I links esterni, se pervengono da siti con elevato trust/pr, sono la cosa più importante per il posizionamento del sito; pertanto, se i links verso il vecchio sito sono qualificati, la risposta è: non toccare la regola aggiunta finché esistono.
Se avete create le sitemaps, ricordatevi di aggiornarle, se non le avete create consiglio di crearle.
Pin It

© 2019 Progetti&Eventi srl, All Rights Reserved