Lingue e Seo sito php

Peterrey76

Utente Attivo
27 Mar 2020
40
0
6
Buongiorno, chiedevo se qualcuno potesse indicarmi il miglior modo per tradurre un sito in più lingue in modo da essere indicizzato correttamente dai motori di ricerca. Avete un esempio di struttura da indicarmi? Grazie
 
Se usi WordPress puoi usare il plugin WPML che facilita la gestione.

Comunque il concetto sta nell'uso del tag:
HTML:
<link rel="alternate" href="http://example.com/" hreflang="it-it" />
<link rel="alternate" href="http://example.com/" hreflang="en-us" />
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Specificando l'indirizzo di ogni pagina tradotta.
 
Se usi WordPress puoi usare il plugin WPML che facilita la gestione.

Comunque il concetto sta nell'uso del tag:
HTML:
<link rel="alternate" href="http://example.com/" hreflang="it-it" />
<link rel="alternate" href="http://example.com/" hreflang="en-us" />
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Specificando l'indirizzo di ogni pagina tradotta.
Ok grazie ma non posso richiamare con PHP file che traducono del tipo lang.php? Ecc. Magari usando URL rewrite , se si hai esempi?
 
Eviterei di usare parametri in chiaro, quindi usa il Mod Rewrite. Lato backend hai massima libertà, ma nel frontend assicurati di avere una struttura coerente.

Ad esempio:

Codice:
<link rel="alternate" href="http://sito.it/articolo-ita" hreflang="it-it" />
<link rel="alternate" href="http://sito.com/articolo-us" hreflang="en-us" />
<link rel="alternate" href="http://sito.com/articolo-us" hreflang="x-default" />

Puoi decidere tra varie strutture:
- .com/de .com/it .com/fr
- .com .it .de
- .it.sito.com de.sito.com
 
Eviterei di usare parametri in chiaro, quindi usa il Mod Rewrite. Lato backend hai massima libertà, ma nel frontend assicurati di avere una struttura coerente.

Ad esempio:

Codice:
<link rel="alternate" href="http://sito.it/articolo-ita" hreflang="it-it" />
<link rel="alternate" href="http://sito.com/articolo-us" hreflang="en-us" />
<link rel="alternate" href="http://sito.com/articolo-us" hreflang="x-default" />

Puoi decidere tra varie strutture:
- .com/de .com/it .com/fr
- .com .it .de
- .it.sito.com de.sito.com
Ok ok grazie perché la paura mia è sempre usare variabili al posto del testo diretto. Ad esempio il title è la variabile presa dal file It.php estratto in funzione della lingua del browser per cui la pagina madre è sempre la stessa. Quindi l utente non sceglie la lingua ma essa è quella del browser stesso. Grazie mille sei gentilissimo.
 
Ok ok grazie perché la paura mia è sempre usare variabili al posto del testo diretto. Ad esempio il title è la variabile presa dal file It.php estratto in funzione della lingua del browser per cui la pagina madre è sempre la stessa. Quindi l utente non sceglie la lingua ma essa è quella del browser stesso. Grazie mille sei gentilissimo.

Attenzione a impostare la lingua automaticamente (con redirect magari). Molti lo fanno in base alla geolocalizzazione tramite indirizzo IP (database MaxMind), altri usano la lingua del browser. La scelta è delicata, soprattutto considerando che quando Googlebot passa a scansionare il sito, quale versione vedrà?

Assicurati di usare il rel="alternate" e i canonical in modo corretto.
 
Attenzione a impostare la lingua automaticamente (con redirect magari). Molti lo fanno in base alla geolocalizzazione tramite indirizzo IP (database MaxMind), altri usano la lingua del browser. La scelta è delicata, soprattutto considerando che quando Googlebot passa a scansionare il sito, quale versione vedrà?

Assicurati di usare il rel="alternate" e i canonical in modo corretto.
Scusa non c'è un redirect è solo un include file.php in base alla lingua del browser questo può generare i problemi?
 
Non conosco il backend del caso specifico, quindi mi limito a ricordare di usare il rel="alternate" e i canonical in modo corretto se si tratta di pagine fisicamente diverse con URL diversi (anche i valori diversi in un parametro generano URL diversi).

Se invece è una pagina accessibile da un unico URL e il contenuto cambia in base alla lingua del browser, allora non ci sono accorgimenti da fare, ma lato SEO potrebbe essere problematico, a meno che venga tradotta solo una parola o poca roba.
 
Non conosco il backend del caso specifico, quindi mi limito a ricordare di usare il rel="alternate" e i canonical in modo corretto se si tratta di pagine fisicamente diverse con URL diversi (anche i valori diversi in un parametro generano URL diversi).

Se invece è una pagina accessibile da un unico URL e il contenuto cambia in base alla lingua del browser, allora non ci sono accorgimenti da fare, ma lato SEO potrebbe essere problematico, a meno che venga tradotta solo una parola o poca roba.
Ok visto che non è ancora definito il discorso lingue mi consigli quindi di fare una pagina per ogni lingua per una migliore ottimizzazione?
 
Esattamente. Molto più chiaro per Googlebot e per il pubblico.
Grazie mille Io purtroppo lavoro in termini aziendali quindi non faccio siti web ma solo software interni per gestione aziendale ora per la prima volta avrò a che fare con la SEO . Quindi in ogni pagina in posterò il link come mi hai fatto vedere sopra? Potresti portarmi qualche esempio completo di pagina?
 
Si tratta di una questione molto tecnica e non posso esaurirla qua nel forum. Ti suggerisco di cercare qualche tutorial in merito.

Vorrei comunque darti un'indicazione pratica.

Visitando una pagina in italiano:

Codice:
<html>
<head>
<link rel="alternate" href="http://example.com/article-fr" hreflang="fr-fr" />
<link rel="alternate" href="http://example.com/article-it" hreflang="it-it" />
<link href="http://example.com/article-it" rel="canonical">

Mentre visitando la versione francese:
Codice:
<html>
<head>
<link rel="alternate" href="http://example.com/article-fr" hreflang="fr-fr" />
<link rel="alternate" href="http://example.com/article-it" hreflang="it-it" />
<link href="http://example.com/article-fr" rel="canonical">

In bocca al lupo per il tuo progetto.
 
Si tratta di una questione molto tecnica e non posso esaurirla qua nel forum. Ti suggerisco di cercare qualche tutorial in merito.

Vorrei comunque darti un'indicazione pratica.

Visitando una pagina in italiano:

Codice:
<html>
<head>
<link rel="alternate" href="http://example.com/article-fr" hreflang="fr-fr" />
<link rel="alternate" href="http://example.com/article-it" hreflang="it-it" />
<link href="http://example.com/article-it" rel="canonical">

Mentre visitando la versione francese:
Codice:
<html>
<head>
<link rel="alternate" href="http://example.com/article-fr" hreflang="fr-fr" />
<link rel="alternate" href="http://example.com/article-it" hreflang="it-it" />
<link href="http://example.com/article-fr" rel="canonical">

In bocca al lupo per il tuo progetto.
Va benissimo grazie mille sei stato molto più che esaustivo tutto chiaro alla prossima.
 
Si tratta di una questione molto tecnica e non posso esaurirla qua nel forum. Ti suggerisco di cercare qualche tutorial in merito.

Vorrei comunque darti un'indicazione pratica.

Visitando una pagina in italiano:

Codice:
<html lang="it">
<head>
<link rel="alternate" href="http://example.com/article-fr" hreflang="fr-fr" />
<link rel="alternate" href="http://example.com/article-it" hreflang="it-it" />
<link href="http://example.com/article-it" rel="canonical">

Mentre visitando la versione francese:
Codice:
<html lang=fr">
<head>
<link rel="alternate" href="http://example.com/article-fr" hreflang="fr-fr" />
<link rel="alternate" href="http://example.com/article-it" hreflang="it-it" />
<link href="http://example.com/article-fr" rel="canonical">

In bocca al lupo per il tuo progetto.
Anche io ho realizzato due siti multilingua, nel primo in una versione per la rilevazione del sito mi ero aiutato con il server apache, che permette di gestire la lingua di provenienza ( tramite browser ) e di reindirizzare ad una pagina specifica, lingua per lingua.
Poi ho utilizzato altri metodi derivati dal PHP e mi sono trovato con gli stessi prolemi, ovvero il reindirizzamento visto da Google.

Ho risolto come hai proposto tu, cioè due directory nel mio caso, it/ e en/ e lasciando sia in homepage che nelle altre pagine interne la possibilità all'utente di gestirsi la lingua.
In ogni pagina poi avevo inserito la sequenza dei vari link rel="alternate" e ovviamente messo il lang all'inizio della pagina.

Avevo omesso il canonical ed in effetti Google mi penalizzava nelle ricerche in inglese, mentre in italiano andava abbastanza bene.
Dato che il sito veniva principalmente utilizzato in Italia non mi ero creato troppi problemi, credendo che dopo tutto all'estero non era molto cercato.

In realtà rivedendo le statistiche dalla Google console dopo aver messo il giusto canonical ho notato l'incremento nelle ricerche, sia in Italia che dall'estero.

Ora dovendo riscrivere completamente il sito, mi chiedo come posso rimodulare la prima parte, ovvero quella del targeting della lingua, mi chiedo se usare un metodo automatico ( geolocalizzazione e/o scraping del browser ) piuttosto che inserire semplicemente un link alla lingua e lasciare che sia l'utente a decidere, sia migliore anche in ottica SEO.
 
Anche io ho realizzato due siti multilingua, nel primo in una versione per la rilevazione del sito mi ero aiutato con il server apache, che permette di gestire la lingua di provenienza ( tramite browser ) e di reindirizzare ad una pagina specifica, lingua per lingua.
Poi ho utilizzato altri metodi derivati dal PHP e mi sono trovato con gli stessi prolemi, ovvero il reindirizzamento visto da Google.

Ho risolto come hai proposto tu, cioè due directory nel mio caso, it/ e en/ e lasciando sia in homepage che nelle altre pagine interne la possibilità all'utente di gestirsi la lingua.
In ogni pagina poi avevo inserito la sequenza dei vari link rel="alternate" e ovviamente messo il lang all'inizio della pagina.

Avevo omesso il canonical ed in effetti Google mi penalizzava nelle ricerche in inglese, mentre in italiano andava abbastanza bene.
Dato che il sito veniva principalmente utilizzato in Italia non mi ero creato troppi problemi, credendo che dopo tutto all'estero non era molto cercato.

In realtà rivedendo le statistiche dalla Google console dopo aver messo il giusto canonical ho notato l'incremento nelle ricerche, sia in Italia che dall'estero.

Ora dovendo riscrivere completamente il sito, mi chiedo come posso rimodulare la prima parte, ovvero quella del targeting della lingua, mi chiedo se usare un metodo automatico ( geolocalizzazione e/o scraping del browser ) piuttosto che inserire semplicemente un link alla lingua e lasciare che sia l'utente a decidere, sia migliore anche in ottica SEO.
Ciao Marco purtroppo se ho fatto la domanda e perché ripeto non sono un programmatore qualificato io sviluppo siti web di tutti i generi semplicemente implementando e modificando i vari codici che trovo in giro in tutti i linguaggi la SEO per me era un campo oscuro perché lavoro principalmente per software interni aziendali ora trovandomi a realizzare una applicazione per il web ho scoperto che il re direct con mod rewrite è la soluzione purché si richiamano dati dal database perché se ho dei file di inclusi con la traduzione funziona male se estratti la database ot tengo quello che mi serve sufficientemente. Può darsi che ciò sia sbagliato ma funziona per il mio scopo. In Google vengono visualizzati tutti i dati di cui ho bisogno e nel modo in cui mi aspetto. se devi riscrivere tutto il sito consiglio di rivolgerti a qualcuno che sappia il fatto suo in quanto potrei darti soluzioni non precise per il tuo scopo o meglio poco professionali. Comunque credo che richiamare la lingua attraverso il rilevamento automatico in base alla lingua del browser non sia un problema, non l'ho testato ma lu RL che richiama una lingua specifica deve essere riscritto secondo gli standard dei motori nella maniera più semplice e leggibile dagli spider. Continuiamo magari a tenerci in contatto per eventuali soluzioni Io sto testando un altro modo che pare funzioni ancora meglio e ti farò sapere. Grazie per aver risposto dopo tempo. Marco
 
Peterrey, in realtà il mio errore è stato quello di quotarti, mentre dovevo quotare il post sopra al tuo.
In realtà la mia domanda era rivolta a lui e non a te, la cui risposta per te era già esauriente, tranne per il fatto che non aveva inserito l'attributo lang nell'elemento html della pagina.
 
A seconda della versione che avete. Ordinato da Sitechecker rende gratuito seo audit per sviluppare un biglietto da visita piccolo ed economico per un cosmetologo. Le condizioni obbligatorie erano il plurilinguismo. I ragazzi molto rapidamente sviluppato il sito, mi è piaciuto tutto, come il compito principale del sito - c'è una rappresentazione di me su Internet. Aiutato nell'acquisto dell'hosting e del dominio, ha condotto un training sulla gestione del pannello di amministrazione. Mi ha fatto molto piacere.
 
Peterrey, in realtà il mio errore è stato quello di quotarti, mentre dovevo quotare il post sopra al tuo.
In realtà la mia domanda era rivolta a lui e non a te, la cui risposta per te era già esauriente, tranne per il fatto che non aveva inserito l'attributo lang nell'elemento html della pagina.
Ciao Marco scrivo dopo tempo sono stato fuori dall' Italia. Scusa per l incomprensione precedente ma avevo una domanda.
Senza l utilizzo di alternate e hreflang ho fatto una prova che funziona benissimo ma volevo il parere di un esperto.
-Vari file PHP per ogni lingua es. it.php che vengono inclusi a seconda della lingua del brawser;
In questo caso Google raccoglie solo il default che è inglese.
Effettuando il rewrite es. miosito/it, metto nella index un if get il valore It raccolto dall' URL , quindi include il file It agli occhi di Google, mentre per l user raccoglie indipendentemente il file in base alla lingua del browser. Quindi inviando in sitemap gli URL ... /It,poi /es ecc. il file index viene visto nelle lingue specificate. Testato su search consolle e indicizzato , il sito compare su Google a seconda della lingua che cerco senza problemi e senza l uso appunto alternate ecc.
Come vedi questa soluzione?
Grazie e scusa
 
Ciao! Qui fondamentale è tenere a mente la distinzione tra codice ISO paese e lingua: a meno di non voler colpire paesi specifici, ti consiglio di utilizzare solo il codice ISO della lingua (es. en, it, fr...), così da intercettare navigazioni in lingua a prescindere del paese. Attenzione anche ai paesi multilingua (es. Canada, Svizzera)
 

Discussioni simili