• User Newbie

    Intero sito spostato in sottodirectory - consiglio per indicizzazione

    salve,
    ho un sito abbastanza pieno di contenuti il quale (per motivi di multilingua) ho deciso di spostarlo dalla directory radice alla sottodirectory /EN/. Essendo un sito abbastanza giovane ho deciso di fare subito il grande passo. In sostanza prima ci si accedeva con sito.it adesso con sito.it/en/

    è possibile fare un redirect totale delle pagine vecchie per non essere troppo penalizzati da google? grazie mille

    ps: ho già provveduto ad inviare la nuova sitemap a google


  • Moderatore

    Ciao aitor
    Sì, un redirect 301 delle vecchie pagine è la soluzione corretta.


  • User

    Procedi sicuramente con il redirect 301, che ti permette di mantenere il posizionamento ed il ranking acquisito sulle singole pagine.


  • User Attivo

    ti consiglio di creare un profilo GWMT per il sito inglese .it/en/ e di inviare la sitemap inglese a quel profilo, assegnaci poi la lingua inlese
    inoltre il rel alternate è un must da implementare


  • Moderatore

    @johnnyburnhell said:

    ti consiglio di creare un profilo GWMT per il sito inglese .it/en/ ...
    Purtroppo per i domini .it (e quasi tutti i ccTLD) Google Webmaster Tools non permette di specificare la geolocalizzazione, rimani blindato sull'Italia.
    O forse ho capito male cosa intendi?

    @johnnyburnhell said:

    ...e di inviare la sitemap inglese a quel profilo, assegnaci poi la lingua inlese
    inoltre il rel alternate è un must da implementare
    Una sitemap dedicata per gli URL /en/ è comunque fattibile.

    hreflang lo metterei poi:

    • nelle singole pagine
    • nelle sitemap xml
    • nei link per commutare la lingua (se ci sono)

    ciao a tutti!


  • User Newbie

    io da webmaster tool ho aggiunto la sottosezione /eng/ e gli ho dato come localizzazione stati uniti...dite che potrebbe funzionare?


  • Moderatore

    @aitor said:

    io da webmaster tool ho aggiunto la sottosezione /eng/ e gli ho dato come localizzazione stati uniti...
    Sei riuscito a farlo su un dominio .it?
    In tale caso devo rivedere la correttezza del mio contenuto precedente!

    @aitor said:

    ...dite che potrebbe funzionare?
    Per chiarirsi, "potrebbe funzionare" a fare cosa?
    Impostare la localizzazione da GWT è una forte indicazione, ma non ti aspettare miracoli solo con quello.
    Metti comunque i 301, sono importanti. E i vari hreflang, sono un buon ausilio a Google per capire la relazione tra pagine uguali in lingua diversa.

    Per inciso, hreflang esprime una lingua, non una località, ma accetta anche il formato ISO 3166 che esprime una lingua specifica di una cultura locale.
    Per esempio nel tuo caso potresti usare come valore "en-US"

    Spero d'esserti stato d'aiuto


  • User Newbie

    SCUSAMI! il sito è .com, questo è il sito di cui sto parlando worldxcmtb.com , ho impostato una localizzazione sulle due sottodirectory, /it/ e /en/

    ho inserito nell'htacces un redirect 301 con l'aggiunta della directory /en/ in modo che tutti i vecchi url non vadano in errore (visto che ho aggiunta una directory al sito che prima si trovava nella directory radice), tra un 1/2 mesi , quando tutto sarà a posto, toglierò questa istruzione


  • Moderatore

    @aitor said:

    il sito è .com, questo è il sito di cui sto parlando worldxcmtb.com , ho impostato una localizzazione sulle due sottodirectory, /it/ e /en/
    ciao aitor,
    scusa se mi permetto, ma ho dato un'occhiata al tuo sito e mi sono imbattuto subito in due-tre cose che è meglio segnalarti.

    Innanzitutto ho cercato subito di navigare worldxcmtb.com (senza www .) e sono incappato in un comportamento anomalo:

    per inciso, prima ho notato lo strano path, poi mi sono accorto del 404 solo perché il title - che gli utenti spesso non notano - era "404", ma nulla dei contenuti sopra la piega lasciava indendere fosse una pagina 404: alla risoluzione video del mio portatile (1366x768, abbastanza comune) il testo "Oooops. Non troviamo la pagina" è proprio sotto la piega, la parte visibile fa sembrare la pagina una home page.

    Poi ho provato a navigare la root con il www; sono stato redirezionato verso www . worldxcmtb.com/en/, pur avendo il browser impostato in Italiano come lingua predefinita (e giuro sono in Italia, quindi non distingui neanche in base all'IP). Intendi differenziare in qualche modo il comportamento in base all'accept-language, o l'inglese è la lingua di default per tutti? (e allora non mi spiegherei il primo 302 verso /it/ del caso senza www)

    Come ti comporti con Googlebot (dritta: googlebot non aggiunge indicazioni di lingua predefinita)?

    Poi un'altra osservazione:

    hai deciso di non prioritizzare apparentemente nessuna lingua, l'utente si becca uno schiaffone 302 o a /it/ o a /en/ (data l'anomalia precedentemente descritta non sono sicuro del comportamento voluto), quindi non esiste una path di root (con il solo /)?
    Non che la cosa sia strettamente errata, in passato ho visto persino il sito di xbox farlo, ma non lo trovo certo una situazione ottimale:

    • Google mostrerebbe per home page nella serp un path del tipo /en/ (se lo redirigi su inglese), oppure /it/ (però mi raccomando, testane subito il comportamento, prova con "Visualizza come Google" da GWT), che non è ottimale.
      Bing capisce che un redirect 302 dalla root va inteso come home page e nella SERP mostra invece un path di tipo / per la home page
    • il 100% dei tuoi utenti sarebbe penalizzato nell'esperienza utente dall'attesa di un redirect 302

    Personalmente suggerisco di decidere qual è la lingua di default (tipicamente quella della maggior parte dei tuoi visitatori, e/o quella per cui vorresti apparisse nella SERP il path di root /), e per tale lingua non fare alcun redirect verso una sottocartella.
    Per esempio, se decidessi che la tua lingua di default è l'Italiano, tutti i contenuti in Italiano sarebbero accessibili senza dover usare la cartella /it/, per intendersi la pagina contatti in Italiano risponderebbe a /worldxcmtb.html, quella in Inglese a /en/worldxcmtb.html

    Ovviamente puoi decidere di mantenere la scelta attuale, solo non la trovo ottimale.
    Parlo per esperienza: ammetto d'averlo fatto anch'io in passato per un grosso sito, poi l'ho cambiato con netto miglioramento medio nel ranking (sì, avere esperienza vuole dire di solito avere fatto tanti errori) 😄

    ciao!


  • User Newbie

    grazie mille, veramente gentile! visto che vi considero dei guru ho fatto passo a passo quello che mi hai consigliato, riportando il sito inglese alla radice e l'it sottoradice (impostando la geolocalizzazione su gwt). Unica cosa, in home page uso questo codice per riconoscere la lingua del browser e quindi se entra un browser in italiano si viene automaticamente reindirizzati alla sottodirectory /it

    if (!isset($Language)) {
    $Language = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
    $Language = strtolower(substr(chop($Language[0]),0,2));
    } if ($Language != it){
    } else {
    header("Location: ***orldxcmtb.com/it/");
    }

    funziona tutto correttamente ma se per caso poi uno vuole vedere la versione inglese anche se reindirizzato all'italiano cè un modo? perchè io, nonostante poi clicchi sulla bandiera inglese, naturalmente mi porta sempre alla pagina in italiano

    grazie ancora


  • Moderatore

    @aitor said:

    ... se per caso poi uno vuole vedere la versione inglese anche se reindirizzato all'italiano cè un modo? perchè io, nonostante poi clicchi sulla bandiera inglese, naturalmente mi porta sempre alla pagina in italiano
    Poi fare così:
    Se la chiamata alla Home Page ha un referrer proveniente dal tuo dominio, vuole dire che ha preso un link interno, in tal caso non devi fare il redirect.

    Il tuo codice ad occhio mi sa non funziona con googlebot, e in tutti i casi in cui l'header accept-language è assente.
    Testalo con Firefox, dovrebbe essere possibile se ricordo togliere tutte le lingue (e poi ripristinarle), ma poi fai anche la prova con "Visualizza come Google" da GWT.

    Scusa, non sono abituato a lavorare in php, preferisco non suggerire io le modifiche.
    ciao


  • User Newbie

    grazie per il consiglio, alla fine ho usato proprio il php_referrer...un'ultima domanda (sto cercando in giro ma non riesco a trovarlo, riesco a trovare solo metodi con il htaccess)...in sostanza come si fa da php a dirgli di includere tutti i link di un determinato dominio?
    perchè logico che scrivendo $provenienza != '****orldxcmtb.com/it/') se uno mi clicca da una sottopagina (es: ****orldxcmtb.com/it/chisiamo.html) non funziona

    grazie


  • User Newbie

    trovato! risolto con la "semplice" istruzione PHP_URL_HOST

    $provenienza = $_SERVER['HTTP_REFERER'];
    $dominio = parse_url($provenienza, PHP_URL_HOST);
    echo $dominio;