Joomla.it Forum
Componenti per Joomla! => SEO => : Nuvola6 31 May 2012, 22:10:05
-
Salve a tutti.
Vi spiego un po' i movimenti che ho fatto sul sito.
Ho trovato un sito di un cliente in questo stato: era caricato in una sottocartella, precisamente /home.
La prima cosa che ho fatto è stato rinominare /home in /sito.
Poi, avendo eliminato una intro, ho spostato il sito nella root principale.
Vado negli strumenti di google e noto che lo spider continua a visitare il vecchio sito, sia /home che /sito.
Come posso intervenire? Ho letto di qualche stringa da inserire nel file htaccess ma non ho capito come.......
Qualcuno può darmi una mano?
-
/sito oppure /home, sono directory o file?
Se sono directory, inserisci queste stringhe nel file robots.txt:
Disallow: /home/
Disallow: /sito/
se sono file, reindirizza a qualcos'altro di esistente.
-
Ma la cartella home non esiste più quindi non può essere più visitata. Piuttosto avrai tanti 404 per i vecchi link che puntano ancora ad essa ma certamente il crawler non passa più da lì.
-
Proprio così, tomtomeight. Ho tantissimi 404. Se inserisco quelle due strunghe in robots come dice giusebos, elimino i tantissimi 404?
-
No se metti disallow home non ha senso perchè la cartella non esiste, se metti disallow site escludi proprio l'indicizzazione. Devi agire da .htaccess e fare un redirect da qualsiasi cosa da /home a /site in rete puoi trovare il codice giusto ricercando redirect da una sottocartella ad un altra.
-
E se uso il componente Redj? Devo fare un redirect per tutti i 404 che riguardano i vecchi indirizzi?
-
Con redj devi farli uno ad uno con htaccess li fai tutti in un colpo.
-
Quindi tutti i link che hanno questa struttura "nomesito.it/home" e tutti i link che hanno questa struttura "nomesito.it/sito" dovrebbero diventare nomesito.it.
Ma come faccio a farlo in un solo colpo? Cosa devo cercare in giro?
-
Ah da sottocartella a root, bene avevo capito solo da sottocartella A a sottocartella B, leggi questo articolo.
http://www.joomla.it/articoli-della-community/4036-spostare-joomla-da-una-sottodirectory-alla-root-preservando-il-posizionamento.html
-
Grazie tom per tutti questi interventi utilissimi.
Ho fatto questo:
editate il file .htaccess inserendo, subito dopo la direttiva RewriteEngine On, la seguente istruzione
RewriteRule ^sito/(.*)$ /$1 [R=301,L]
E' normale che se ora digito nomesito/sito mi restituisce la pagina 404?
Inoltre devo inserire anche un'altra stringa per la sottocartella in cui era inserito il sito prima di essere inserito nella cartella /sito e cioè /home?
Quindi:
RewriteRule ^sito/(.*)$ /$1 [R=301,L]
RewriteRule ^home/(.*)$ /$1 [R=301,L]
? ? ?
-
Ma adesso sito dove sta, nella root o nella cartella sito?
-
Stato iniziale: nella sottocartella /home
Stato intemedio: nella sottocartella/sito
Stato attuale: nella root principale
E tra gli errori 404 di webmaster tools noto ancora sia /home che /sito
-
Allora lo stato intermedio non ha senso se lo hai tenuto per poco tempo, ti consiglio di non considerarlo proprio e di fare solo redirect da sottocartella /home a root. Rinomina la cartella sito oppure eliminala.
-
Quegli errori non si toglieranno subito, ma l'errore è stato anche passare allo stato intermedio.
-
Ok. Allora farò solo RewriteRule ^home/(.*)$ /$1 [R=301,L]
Cioè scriverò solo questo proprio così come sta.
Quindi è anche normale che se ora digito nomesito.it/home mi esce la pagina 404? Solo questa domanda e poi non ti assillo più.
-
Non dovrebbe darti più errore, scusa ma adesso devo chiudere sto rientrando ed il traghetto è arrivato nel porto, mi riservo di verificare il codice da pc e poi ti saprò dire meglio.
-
Mi dà errore invece ancora.
Grazie davvero. Ci sentiamo appena puoi allora.
Buon rientro :-)
-
Nuvola6 ciao.
Chiedo scusa a tomtomeight se mi sono intromesso.
Tempo fa mi sono imbattuto pure io (cambio dominio di un sito) con i redirect.
prova così:
RewriteRule ^home/(.*)$ http://www.rootdelsito.it/$1 [R=301,L]
Altra prova che farei e di togliere lo slash/ dopo home oppure di inserirlo prima di home.
Altre cose non mi vengono in mente. Non penso di averci preso ma comunque tentar non nuoce. ;)
Vedi anche qui (http://php.html.it/articoli/leggi/851/espressioni-regolari/2/)se ti può aiutare.
Ciao.
-
aspetta, aspetta, funziona! :-)
dunque, ho provato a mettere lo slash prima di home e non andava.
Invece, ho tolto proprio lo slash, come suggerivi, e funziona!
L'unica cosa strana è che... se digito nomesito.it/home mi si apre normalmente il sito; se invece cerco un vecchio articolo tipo nomesito.it/home/team.html, vengo indirizzata alla nuova pagina team.html ma
c'è un doppio slash: nomesito.it//team.html
Lascio così?
-
Aspetta, aspetta, bis.
Ho provato invece il codice che hai scritto:
RewriteRule ^home/(.*)$ http://www.rootdelsito.it/ (http://www.rootdelsito.it/)$1 [R=301,L]
Questo va alla grande!
Grazie di cuore ad entrambi! Non so come avrei fatto senza la vostra esperienza e la vostra disponibilità!
Grazie
-
..così per curiosità:
puoi provare anche il tuo ma togliendo lo slash prima di $1 (/$1 [R=301,L] ).
p.s. se google ti segnala errori anche su sottocartella sito, io ci metterei anche quella.
ciao.
-
No, ho provato per curiosità a togliere solo lo slash dal mio ma non andava. Funziona benissimo invece quello di prima: RewriteRule ^home/(.*)$ http://www.rootdelsito.it/$1 [R=301,L]
Però ho provato anche a mettere sia questo che RewriteRule ^sito/(.*)$ http://www.rootdelsito.it/$1 [R=301,L]
ma ^sito/ non me lo legge...
-
Mi correggo.
Legge pure ^sito/
E' perfetto! Non ho parole per ringraziarvi! Ciao alex e ciao tom!