2010-01-28 16 views
11

J'ai développé un site multilingue dans ASP.NET, qui détecte la culture système de l'utilisateur et affiche le contenu dans la langue appropriée.Implications SEO d'un site multilingue avec détection de culture système

Tout cela fonctionne très bien, mais mon client a depuis fait un audit SEO. L'agence de référencement a exprimé son inquiétude sur le fait que ce n'est pas une bonne pratique SEO, car il n'y a pas d'URL uniques pour chaque langue.

Ils ont suggéré que le site pourrait être accusé de dissimulation, et que Google pourrait ne pas indexer le site correctement pour chaque langue différente.

Des idées sur la question de savoir si ces préoccupations sont valides et s'il y a un avantage à avoir des URL uniques pour chaque version linguistique du site?

+0

Déclarez-vous la langue du document de manière appropriée? – Gumbo

Répondre

8

Bien que vous ayez fait un beau travail de changement de langue automatiquement, l'agence de référencement est correcte!

Google peut ne pas indexer le site correctement pour chaque langue différente.

Ceci est vrai! Google n'envoie pas l'en-tête de langue d'acceptation la dernière fois que j'ai coché. Cela signifie que Google indexera uniquement la langue par défaut.

Ils ont suggéré que le site peut être accusé de cloaking,

Ceci diffère de l'implémentation excact, mais il est possible que votre site recevra une pénalité!

Il est avantageux d'avoir des URL uniques (pour chaque version linguistique) sur le site!
Tout d'abord, pour vos utilisateurs: ils peuvent créer un lien vers la langue qu'ils préfèrent.Secondaire pour les moteurs de recherche car ils peuvent indexer votre site correctement.

Je conseille la plupart du temps de rediriger l'utilisateur uniquement sur la page d'accueil pour un changement de langue en utilisant une redirection 302 vers l'URL correcte (et donc la langue correcte). (edit: Vous pouvez passer en revue le poste par Matt Cutts "SEO Advice: Discussing 302 redirects")

Pour vérifier mon conseil: installer fiddler et surfer sur http://www.ibm.com. Comme indiqué ci-dessous, j'ai reçu une redirection 302 vers la langue appropriée, en arrivant à www.ibm.com/be/fr.

Result Protocol Host URL Body Caching Content-Type  
4 302 HTTP www.ibm.com/ 209  text/html 
5 200 HTTP www.ibm.com /be/en/ 5.073 no-cache text/html;charset=UTF-8 

Il y a quelques solutions que vous pouvez résoudre ce problème:

  • Démarrer Réécriture urls (par exemple l'ajout d'un répertoire en utilisant la langue)
  • Si vous ne voulez pas passer par les tracas de ajouter des répertoires (ou réécrire des url) ajouter une QueryString serait la solution la plus simple (bien que vous essayiez de les limiter à un maximum de 2 paramètres)
  • Une autre option consiste à utiliser différents sous-domaines! www.website.com pour la langue par défaut, es.website.com, fr.website.com

Assurez-vous de fournir à chaque fois le même contenu pour la même URL.

Bonne chance avec ça!

+0

Merci pour l'info. Nous sommes arrivés à la même conclusion après avoir regardé les autres grands sites, comme ceux que vous et @yar ont mentionnés. Nous implémentons maintenant des dossiers pour chaque locale, avec une redirection 302 sur la page d'accueil. Heureusement, nous avons un puissant moteur de réécriture implémenté dans le framework de site, utilisé pour aliaser toutes les pages pilotées par des bases de données vers des URL conviviales, donc ce ne sera pas un gros problème. Je garderai cependant à l'esprit de nouveaux projets. – Matt

3

Espérons que nous verrons certaines personnes répondre qui connaissent les internes de Google (quelqu'un?). Mais la plupart des suppositions sur la façon dont Google et les autres robots sont ... suppositions, et sujet à changement. Je suppose que vous devriez utiliser des URL séparées pour les langues, même si elles ont juste une différence ?language= (bien que ce serait une URL vraiment différente). Je crois cela parce que quand vous allez à google.it il est dit, google.com in English et ce lien va à ... google.com. En d'autres termes, Google lui-même utilise différentes URL pour différentes langues.

En outre, un autre grand site, Microsoft (ils savent probablement sur le référencement) utilise

http://www.microsoft.com/en/us/default.aspx

US-anglais et

http://www.microsoft.com/it/it/default.aspx

pour l'Italie-italienne donc il est probablement meilleure pratique pour différencier selon la langue (et le pays).

En tout cas, je suis totalement ennuyé quand je suis sur un ordinateur en anglais et je ne peux pas voir un site en italien ou en espagnol, et vice versa. Comme une stratégie de convivialité, pas de référencement, l'utilisateur devrait être en mesure de remplacer la suggestion de la langue. C'est ainsi que la plupart des grands sites traitent les langues.

+0

Juste pour clarifier, l'utilisateur peut remplacer la langue de défaut, en le sélectionnant dans une liste déroulante. Ceci ajoute lang = {code de culture} à la chaîne wuerystring et définit un cookie pour que la sélection de la langue soit conservée. – Matt

+0

@Matt, personnellement, je ne pense pas que ce soit mauvais, et je doute que Google (par exemple) ignore simplement les paramètres de requête. Cela dit, BEAUCOUP DE PERSONNES ne sont pas d'accord avec cela et pensent que l'URL doit être différente. Cependant, faire des "URL conviviales" est une traduction d'expressions régulières triviales et tous les frameworks web ont une sorte de provision pour cela. –