Joomla.it Forum
Forum traduzioni italiano => Le traduzioni e le informazioni della community => Articoli della community => : mmleoni 26 Jan 2010, 19:11:02
-
Una domanda frequente, sia nel forum relativo all'installazione e migrazione, sia in quello relativo al SEO, riguarda come spostare Joomla! da una sottodirectory alla root del sito, soprattutto, come fare ciò preservando il posizionamento già raggiunto nei motori di ricerca.
In questo articolo vediamo come si fa:
Link: http://www.joomla.it/articoli-della-community/4036-spostare-joomla-da-una-sottodirectory-alla-root-preservando-il-posizionamento.html
ciao a tutti,
marco
-
Complimenti... molto chiaro e conciso.
Comunque, io non mi fido troppo delle regole generiche tramite htaccess per non inficiare il posizionamento.... preferisco, anche se più impegnativi, i redirect pagina per pagina. Ma è solo una mia fissazione, forse.. ;)
Bravo marco.
-
grazie taolo!
preferisco, anche se più impegnativi, i redirect pagina per pagina.
:-[ ehm, io sono parecchio pigro...
solitamente opero con un redirect generico tipo quello indicato: ovviamente quando le pagine indicizzate/linkate sono numerose (centinaia o migliaia).
poi, nel tempo, quando molti dei link del web sono spariti e quelli dei motori sono stati aggiornati, intervengo manualmente per preservare i soli link 'qualificati', magari indirizzandoli alla pagina più opportuna se quella originale non esiste più.
ciao,
marco
-
Ottima ed utilissima guida :D
-
Ottimo lavoro mmleoni.
bravo!
-
ottima guida anche se, per come la vedo io, se si vuole realizzare un sito dove l'obiettivo primario è il posizionamento, di partire direttamente con le idee chiare altrimenti si rischia, inutilmente, di complicarsi la vita!
-
partire direttamente con le idee chiare
ma come sei esigente! sei proprio incontentabile ;D ;D ;D
non saprei come darti torto, peccato che negli ultimi 15 anni penso di aver avuto solo tre clienti che avessero le idee chiare :(
ciao,
marco
-
ah ecco dove eri finito :):):)
ottima!
M.
-
Ottimo l'articolo.
Quello che ancora non ho ancora capito è come fare (e se si possa fare) nel caso di un sito joomla con un url del tipo
www.miosito.com/joomla/index.php?blablabla
a far vedere sempre nell'url "cliente"
www.miosito.com/index.php?blablabla
Ciao e grazie
-
questo articolo spiega come muovere joomla, se invece ti interessa lasciarlo nella cartella e rimuovere la path dall'url, leggi quest'altro:
http://www.joomla.it/articoli-della-community/4040-modificare-gli-url-in-htaccess-con-le-funzioni-di-modrewrite.html
è sempre un mio articolo ;)
ciao,
marco
-
Grazie della sollecita risposta.
Il tuo articolo sul mod_rewrite lo avevo già letto sabato scorso con molta attenzione.
Infatti, su
http://www.verticestore.com/
lo .htaccess è
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/j
RewriteRule ^(.*)$ j/$1 [L]
e giustamente il browser fa vedere
http://www.verticestore.com/
Ma quando vado a cliccare sulle varie componenti del sito (es. scape), sull'url compare la /j della directory ove ho installato joomla.
C'è modo di evitare di far vedere la cartella /j?
Grazie e ciao,
daniele
-
ciao,
hai valorizzato $live_site in configuration.php indicando il nome del sito senza la subdir?
ciao,
marco
=== edited
non il nome ma l'indirizzo: ops!
-
Ho letto l'articolo: molto interessante.
Una domanda da più che neofita....
Eiste un sistema inverso?
Cioè, passando da altro CMS a Joomla (che sarà nella directrory principale) come si può salvare il posionamento nei motori di ricerca? Lasciando il vecchio sito in una sottodiretctory? In altra maniera?
Grazie!
-
ciao iccamar,
hai due strade: la prima è inserire un redirect, con il codice http 301, per ogni pagina rilevante in modo da redirezionare alle nuove pagine joomla, ovviamente le pagine debbo trattare lo stesso argomento.
la seconda è non fare niente, ma assicurarti che il nuovo sito restituisca il codice di errore http 404 per le pagine non trovate.
qual è la migliore? ovviamente la via di mezzo ;D ovvero effettua il reindirizzamento solo per le pagine linkate da siti importanti, ma non ti preoccupare delle pagine già presenti sui motori di ricerca, in quanto questi links si correggeranno da soli.
ciao,
marco
-
Grazie per la sollecita risposta !
In effetti le pagine importanti (home e forum) non dovrebbero cambiare indirizzo perché è lo stesso: www.miosito.it e www.miosito.it/forum. Il forum inoltre è sempre phpbb3. Per gli altri link, esterni o interni, userò il redirect con il codice http 301 (nella sezione webmaster di Google spiega come fare)e... le mani con il cerca e sostituisci nel DB.
Mi viene in mente anche un'altra possibilità e ti chiedo conferma sulla possibilità di applicazione pratica.
Per evitare di far perdere i collegamenti con molti dei quasi 6000 documenti in archivio che gli utenti usano per ragioni professionali mentre aggiusto i link sarebbe possibile:
- spostare il vecchio sito intatto in una sottodirectory tipo www.miosito.it/vecchiosito (lasciando ovviamente in vita anche il relativo DB)
- usare un comando nel file .htaccess (quale?)per reindirizzare l'utente che clicca su "www.miosito.it/articolo" su "www.miosito/vecchiosito/articolo ?
Grazie ancora.
-
ciao,
in effetti il sistema ci sarebbe, ma sebbene la logica sia semplice, l'implementazione è alquanto difficoltosa.
RewriteCond %{REQUEST_URI} ^/vecchioURI$
RewriteRule ^(.*)$ vecchiosito/$1 [R=301,L]
tieni però presente che se, per caso, l'indirizzo di una vecchia pagina fosse uguale a quello di una nuova pagina questa non sarebbe MAI raggiungibile.
ti sconsiglio quindi ti procedere in tal senso, dato che una simile implementazione richiede una approfondita conoscenza del motore di mod_rewrite (se tu l'avessi avuta non avresti chiesto come si fa... ;) ); questo se si usa una mappatura con l'URI esplicito, se si parla di wildcards la situazione diventa notevolmente più complessa.
pertanto rimappa solo gli url a cui si giunge provenendo da siti importanti, facendo attenzione a quanto sopra esposto, e ciò al fine di non perdere page rank, e per il resto personalizza la pagina di errore 404 di joomla indicando come trovare le info sul nuovo sito.
questo è il modo in cui procederei io.
ciao,
marco
-
Grazie, in effetti non è il caso di avventurarmi in una simile operazione.
Userò il sistema più semplice.... ;D
-
ho appena utilizzato la tua guida... mille grazie
-
Salve a tutti, una domanda banale :-[
Avevo esattamente queusta necessità e ho seguito la guida.
All'inizio sembrava tutto funzionare, anche perchè ho digitato l'URL della radice e mi si è visualizzata l'home page bella come il sole :D
Posizionando il mouse sui menù veniva visualizzato l'indirizzo di destinazione corretto, quindi tutto OK.
Ora, il problema è che cliccando su una voce di menù succede che nella barra degli indirizzi compare giustamente www.sito.com/voce_di_menu, ma il contenuto visualizzato non è altro che l'home page. Ma c'è di peggio, l'home page visualizzata riporta nelle url delle voci di menu i riferimenti alla sottocartella! Quindi cliccando sulle voci di menù vengo ridirezionato al sito presente nella sottocartella!
Sapete perchè e come posso risolvere?
ps. Ho notato che disabilitando "Friendly URL per i motori di ricerca" nella configurazione tutto funziona bene.
-
ciao,
i motivi per cui potrebbero esserci dei malfunzionamenti sono:
1. non hai rinominato la dir che conteneva joomla
2. non hai aggiornato la direttiva rewritebase nel file .htacces
3. non hai aggiornato $live_site in configuration.php
verifica di aver eseguito tutti passaggi necessari.
ciao,
marco
-
Ciao Marco,
dovrei spostare jomla da una sotto directory alla root. Ho letto il tuo articolo, ma ti volevo chiedere un'informazione.
Posso evitare di fare il passo 5) dell'articolo http://www.joomla.it/articoli-della-community/4036-spostare-joomla-da-una-sottodirectory-alla-root-preservando-il-posizionamento.html e cioe' di modificare il file .htaccess dato che ancora il sito non e' presente nei motori di ricerca?
Grazie 1000.
-
Ciao shppotta e benvenuto nel forum :)
Non devi farne nessuno di quei passi se il sito non è ancora indicizzato! Lo scopo dell'articolo di Marco è quello di preservare le posizioni acquisite ;)
-
Ma tu dici di non fare il passo 5 o nessuno degli 8 passi?
Se la risposta e' la seconda allora come devo fare per spostare il sito nella root principale?
Ancora 1000 grazie...
-
Beh... usa l'articolo per la parte che ti è utile allo spostamento senza badare alla faccenda dei link.
Ma guarda che non corri proprio alcun rischio di perdere nulla. Ti scarichi l'intero sito e lo carichi nella root. Cambi due path e sei a posto. Solo quando sei sicuro che va tutto bene cancellerai il sito nella sottocartella :)
-
ciao shppotta,
la modifica al file .htaccess serve:
1. a non perdere i visitatori che arrivano dai motori di ricerca
2. ad indicare agli spider dei motori di ricerca la nuova posizione delle pagine (r=301: "Moved Permanently")
se il sito non è indicizzato puoi evitare la modifica.
ciao,
marco
-
Ciao a tutti,
sono un neofita di Joomla! e sto cercando di creare il mio primo sito con questo cms.
ho seguito l'ottima guida scritta da Marco, ma ho riscontrato un problema nel trasportare tutto il mio sito nella root:
accedendo al miosito.org visualizzo senza errori l'home page, ma se clicco su un link di qualsiasi menu mi da questo errore:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator"
ho provato anche a creare un nuovo articolo ed a linkarlo ad una voce del menu, ma nulla da fare...avete qualche consiglio?
grazie,
ciao
-
Ciao e benvenuto nel forum
Please contact the server administrator
Che letteralmente come saprai significa contatta l'hoster, lo hai fatto?, Credo si tratti di un problema di direttive .htaccess non supportate dal server e che solo loro potranno risolvere.
-
grazie,
prima ti descrivo dettagliatamente come ho fatto, magari ho sbagliato qualcosa:
ho questo sito su un dominio gratuito che mi ha permesso di installare Joomla! su di esso in modo automatico anche per quel che riguarda le configurazioni col db e tutto il resto..
invece di usare un sw esterno di ftp ho usato un gestore file interno a questo sito selezionando tutto il contenuto dentro /joomla e spostandolo dentro /.
potrebbe essere che questo sistema mi abbia causato la mancata visualizzazione delle pagine?
inoltre nella home page (che vedo senza problemi) riesco a visualizzare un articolo che ho fatto pubblicare e modificandolo vedo le modifiche apportate.
dimenticavo: non ho messo offline il sito prima di spostare tutto...potrebbe aver arrecato danni?
grazie della risposta immediata.
-
Hai modificato poi anche il configuration.php?
-
si,
queste sono le stringhe modificate:
var $log_path = '/membri/giorgioromerio/logs';
var $tmp_path = '/membri/giorgioromerio/tmp';
var $live_site = 'http://giorgioromerio.altervista.org/';
-
Ciao,
ho risolto usando un diverso .htaccess
grazie,
ciao
-
Se funziona non vedo nessuna controindicazione pero' cortesemente diviene inutile l' inserimento anche dello script del file .htaccess per cui ti chiedo di rimuoverlo, e' sufficiente il solo riferimento grazie.
-
fatto,
chiedo scusa per l'inesperienza..
ciao
-
[...] accedendo al miosito.org visualizzo senza errori l'home page, ma se clicco su un link di qualsiasi menu mi da questo errore:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator"
questo errore avviene con alcune configurazioni del server se si omette la direttiva
RewriteBase /
ciao,
marco
-
Buongiorno, dopo aver seguito la guida per il trasferimento di joomla da sotto directory a root, dovrò anche cambiare il percorso in configurazione globale / sitema ?
-
è sufficiente aggiornare configuration.php secondo le indicazioni date nell'articolo.
ciao,
marco
-
Ciao marco, innanzitutto complimenti per l'articolo!
premettendo che sono assolutamente inesterto
ho letto l'articolo e vorrei applicare le istruzioni ma credo di non aver capito bene questo passaggio del punto 5:
rimettete il commento (un # ad inizio riga) alla direttiva RewriteBase
inoltre il mio file .htaccess è fatto così:
RewriteEngine On #created by Arubba do not touch this file!
RewriteCond %{REQUEST_URI} !^/sito
RewriteCond %{REQUEST_URI} !^/Unica
RewriteRule ^(.*)$ Unica/$1 [L]
dove /sito è la directory di una vecchia versione del sito che a questo punto (correggimi) potrei anche rimuovere mentre /Unica è l'attuale directory contenente il sito che dovrei portare nella root principale
quindi per quello che ho capito dovrei riscrivere il .htaccess così:
RewriteEngine On
RewriteRule ^Unica/(.*)$ /$1 [R=301,L]
ora però non capisco che fine fa la stringa RewriteCond %{REQUEST_URI} !^/Unica ed inoltre appunto in che consiste e a che serve mettere il commento alla direttiva RewriteBase
-
ciao matteo,
da ciò che ho capito questo articolo non si applica alla tua situazione.
nel tuo caso J era in una subdir ma era visto come se fosse stato in root per via delle regole inserite dal provider. pertanto è sufficiente rimuovere la parte
RewriteCond %{REQUEST_URI} !^/sito
RewriteCond %{REQUEST_URI} !^/Unica
RewriteRule ^(.*)$ Unica/$1 [L]
il cui scopo è simulare il sito come fosse nella root del server.
rewritebase indicherà il percorso della subdir, per questo tipicamente va tolto o modificato: l' intervento dipende dalla configurazione del server.
per maggiori dettagli vedi anche:
http://www.joomla.it/articoli-della-community/4040-modificare-gli-url-in-htaccess-con-le-funzioni-di-modrewrite.html
in cui, mi pare, parlassi anche delle situazione tipo la tua.
ciao,
marco
-
quindi se ho capito bene la seguente stringa:
RewriteRule ^Unica/(.*)$ /$1 [R=301,L]
non dovrei usarla ed eliminando le seguenti:
RewriteCond %{REQUEST_URI} !^/sito
RewriteCond %{REQUEST_URI} !^/Unica
RewriteRule ^(.*)$ Unica/$1 [L]
mi rimarrebbe il file .htacces con soltanto il seguente contenuto al suo interno:
RewriteEngine On #created by Arubba do not touch this file!
dopo di che dovrei consultare il provider per capire come modificare RewriteBase all'interno di htaccess.txt ed infine potrei spostare il contenuto del sito nella root principale ed eliminare la cartella /Unica (il tutto senza perdere l'indicizzazione fin'ora acquisita)
ho capito bene?
-
Finalmente ho risolto!! Grazi Marco per il supporto! :)
per la precisione ho effettuato questi passaggi:
Ho disattivato il SEO friendly nella configurazione di Joomla ed ho disattivato anche il componente XXXXXX che era impostato per eliminare L'ID delle categorie/articoli dagli URL
poi ho trasformato il file .htaccess da così:
RewriteEngine On #created by sgaragnao do not touch this file!
RewriteCond %{REQUEST_URI} !^/sito
RewriteCond %{REQUEST_URI} !^/Unica
RewriteRule ^(.*)$ Unica/$1 [L]
a così:
RewriteEngine On #created by sgaragnao do not touch this file!
RewriteCond %{REQUEST_URI} !^/sito
RewriteCond %{REQUEST_URI} !^/Unica
RewriteCond %{REQUEST_URI} !^
RewriteRule ^(.*)$ /$1 [L]
poi ho rimosso /Unica dalle tre voci di configuration.php (log_path, tmp_path e live_site)
Ho eliminato un file index.html che era presente nella root principale.
Infine ho portato tutto il contenuto del sito dalla vecchia cartella /Unica nella root principale ed ho cancellato la vecchia cartella.
A questo punto ho effettuato l'accesso al sito e tutto funzionava normalmente, eccetto alcuni link che avevo inserito con indirizzi assoluti che ora dovrei modificare.
A questo punto però mi chiedo, dopo aver fatto queste modifiche, l'indicizzazione che avevo raggiunto fin'ora rimarrà conservata? Oppure devo effettuare qualche altro intervento onde evitare questo spiacevole inconveniente?
Edited:eliminato riferimento commerciale.
-
Grazie, Marco. Istruzioni davvero precise e facili da usare.
Le ho applicate al nostro sito www.itware.com che è con Joomla 2.5.9 e ti posso confermare che sono ancora perfettamente valide! 8)
Grazie
Alessandro