Bonjour,

Je voudrais connaitre la meilleure solution pour référencer un site mulitlingue ?

Pour les mots clés par exemple, malgré leur faible importance, dois-je référencer toutes les langues ?

Au delà de ça, quand google indexe mon site que se passe-t-il ? Il l'indexe en français en anglais ?

Merci pour de m'apporter des d'éclaircissements Smiley murf
Modifié par laoseb (08 Mar 2009 - 16:08)
laoseb a écrit :
Je voudrais connaitre la meilleure solution pour référencer un site mulitlingue ?

Les pages dans l'une ou l'autre langue devraient être clairement séparées. Le plus courant est d'utiliser un dossier (ou un paramètre réécrit) à la racine, de la sorte:
http://example.org/en/
http://example.org/fr/
etc.

Il faut bien sûr utiliser correctement l'attribut lang dans le code HTML (notamment dans la balise <html>), et si possible utiliser aussi l'en-tête HTTP Content-Language avec la bonne valeur (selon la langue de la page).

laoseb a écrit :
Pour les mots clés par exemple, malgré leur faible importance

Leur importance nulle, tu veux dire?

laoseb a écrit :
Au delà de ça, quand google indexe mon site que se passe-t-il ? Il l'indexe en français en anglais ?

Ben ça dépend. Il est en français, en anglais, l'un ou l'autre de manière transparente via un cookie ou une détection de l'en-tête HTTP Accept-Language, ou bien encore il mélange allègrement les deux langues?
- S'il mélange les deux langues, ça va dépendre je pense de la langue déclarée dans les en-têtes HTTP et peut-être les attributs lang qui vont bien. Ou alors ça dépendra de la localisation du serveur, qui peut jouer aussi.
- S'il bascule sur l'une ou l'autre langue, ça dépend des requêtes HTTP des robots d'indexation (présence d'un Accept-Language ou non?), et de la langue que tu affiches par défaut.
Merci de cette réponse assez complète ! Smiley biggrin

Le site est affiché en anglais par défaut partout sauf en France. La langue est gérée dans des variables php contenu dans un dossier lang qui contient les sous dossiers (en et fr). Je ne sais pas si c'est le mieux , mais pour mon niveau c'est bien et facile pour la maintenance.

L'attribut lang est bien renseigné et les deux langues strictement séparées

Je récupère la langue avec HTTP Accept-Language et je créé un cookie...

a écrit :
S'il mélange les deux langues, ça va dépendre je pense de la langue déclarée dans les en-têtes HTTP et peut-être les attributs lang qui vont bien. Ou alors ça dépendra de la localisation du serveur


Apparemment c'est un truc complexe Smiley sweatdrop

Merci


Juste pour savoir au niveau de la langue : mon forum est en anglais. Cependant les gens peuvent poster en chinois (vu que c'est un site d'apprentissage du chinois), comment renseigner la langue en conséquence ?
Modifié par laoseb (08 Mar 2009 - 12:42)
laoseb a écrit :
Le site est affiché en anglais par défaut partout sauf en France. La langue est gérée dans des variables php contenu dans un dossier lang qui contient les sous dossiers (en et fr).

L'essentiel est d'éviter les situations suivantes:
- Une même URL peut être disponible en plusieurs langues, le contenu pour une URL donnée dépendant alors de la localisation du visiteur, du contenu de l'en-tête Accept-Language ou de l'âge du capitaine. Si tu veux une indexation correcte de tes contenus, chaque traduction d'une page doit avoir sa propre URL.
- Les différentes versions linguistiques sont séparées (URL distinctes), mais on ne permet pas à l'utilisateur de passer manuellement (via des liens en haut de page par exemple) de l'une à l'autre.

laoseb a écrit :
Juste pour savoir au niveau de la langue : mon forum est en anglais. Cependant les gens peuvent poster en chinois (vu que c'est un site d'apprentissage du chinois), comment renseigner la langue en conséquence ?

Vu que le forum est destiné à des anglophones et que la langue principale y est l'anglais, l'en-tête HTTP Content-Language (et éventuellement son équivalent en balise META dans le code HTML de la page) doit être "en". La valeur de l'attribut lang sur l'élément html sera également "en". Ensuite, chaque portion de texte en chinois devra être marquée comme telle avec un attribut lang et le bon code de langue ("zh" il me semble, même s'il faudra peut-être utilisé un sous-code comme "zh-cn" pour le chinois officiel de République Populaire de Chine par exemple).

Le gros problème est que les passages en chinois sur un forum ou dans tout contenu proposé par des non-experts en HTML ne seront probablement pas balisés et marqués comme étant en chinois via un attribut lang. Sauf en prévoyant un BBcode spécial pour des extraits en chinois, par exemple:
[example lang=zh]...[/example]
[example lang=en]...[/example]

En associant ce BBcode à un code HTML qui va bien, mis en forme de manière esthétique en CSS, on peut inciter les utilisateurs à utiliser ce balisage pour leurs messages. Un peu comme, sur ce forum, les citations ou les blocs de code qui rendent un message long plus facilement lisible.

Ceci dit, le balisage très précis des langues dans les différentes parties d'un document est surtout utile aux logiciels de synthèse vocale (pour les utilisateurs de lecteurs d'écran, qu'ils soient aveugles ou malvoyants), et moins critique pour les moteurs de recherche qui vont considérer la langue comme un paramètre global au niveau du document, et pas (à ma connaissance) au niveau des contenus fins du document.
Modifié par Florent V. (08 Mar 2009 - 15:29)
Ok merci. Je ne savais pas pour les urls. C'est pas trop un souci juste un petit changement de structure devrait régler l'affaire..

Merci

ps : oui j'ai mis un bbcode. Après les gens l'utilisent ou pas. Pas très important;
Modifié par laoseb (08 Mar 2009 - 16:08)