Supporto volontario e collaborativo per Joomla!® in italiano

Spostare Joomla! da una sottodirectory alla root, preservando il posizionamento

Voglio qui raccogliere alcuni dei miei post in ambito seo, ad utilità di chi, avendo installato Joomla! in una sottodirectory del sito, abbia deciso di spostare il proprio lavoro in root.

Spesso l'installazione viene fatta per prova e poi, quando ci si accorge che il sito funziona si decide di 'promuoverlo' al livello principale; sì ma come effettuare lo spostamento, e, soprattutto, come relazionarsi con il posizionamento già raggiunto nei motori di ricerca?

Per prima cosa consiglio la lettura di questo questo articolo:
Trasferimento siti web Joomla da locale a remoto e viceversa
contiene le basi per capire quanto qui esposto.

 

La domanda che più spesso viene rivolta è: tutto il lavoro di indicizzazione fatto su google, andrà perso ?
Ok, lo so che non esiste solo lui; anche se l'attenzione sarà posta su questo motore, quanto esposto vale anche per gli altri.

In questo esempio supporremo che il sito si trovi nella cartella /joomladir, cartella che si trova nella root del sito, come desumibile dalla / iniziale.



Ecco i passi da svolgere:

  1. ponete 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]

    (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. 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
Il tutto dovrebbe funzionare alla perfezione.

Il sql non si arrabbia

Altra domanda che viene posta è se sono necessarie modifiche al database. Tenete presente che il codice sql del db non ha alcuna attinenza con il filesystem, se non per ciò che voi avete eventualmente inserito direttamente negli articoli (es: link a immagini o files per il download con percorso assoluto). Il suggerimento migliore che mi sento di darvi è quello di 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. Consiglio di non limitare la ricerca alla sola stringa /joomladir (soprattutto se è effettivamente 'joomla') ma di 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 a preservare il posizionamento raggiunto su google; vediamone il funzionamento da due punti di vista:

  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.

Tutto ciò dovrebbe, nella mia esperienza, portare ad un trasferimento indolore

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, vi consiglio di personalizzarla. Ciò è importante per convincere il navigatore a rimanere sul vostro sito.


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.

 

Un'ultima nota: se le avete create, ricordatevi di aggiornare le sitemaps.

 

spero vi sia utile.

ciao,
marco

www.mmleoni.net

commentaCommenta questo articolo sul forum