Bonjour,

je voudrai quelques renseignements SVP, car je vais bientôt publier mon site.

Dans un premier temps il y aura seulement une version Française.
Mais vu que je sais que plus tard j'ajouterai une version Anglaise, je me doit donc d'adapter mon projet des aujourd'hui, y compris mes URL.
Vu que c'est mon 1er site multi-lingue, je ne sais pas trop ce qui est le mieux comme format d'URL.

Je pensais à des URL comme ceci :

Version Française :
www.mon-site.com/fr/slug-article

Et le jour où j'ajouterai une version Anglaise, il y aura aussi des URL comme ceci :
www.mon-site.com/en/slug-article


_Est ce que ça risque de poser problème(s) que l'URL de ma page d'accueil soit comme ceci ? :
www.mon-site.com/fr/

Je pense que non étant donné que des gros site (OVH par exemple) ont des URL comme ceci.
Mais vu que je vois que dans Google les sites (y compris multi-lingue) ont des URL comme ceci :
www.mon-site.com/

Je préfère donc demander vos avis.

PS : J'ai configuré mon Router que si un visiteur aissaie tout de meme d'accéder à cette URL :
www.mon-site/

qu'il soit redirigé en 301 à cette URL :
www.mon-site.com/fr/


Merci beaucoup.
Modifié par stephweb (25 Aug 2016 - 19:25)
La règle c'est d'avoir une seule url par page. Concernant la forme de l'url c'est juste une question de préférence.
Modérateur
Pas tout à fait, il est important de ne pas avoir de duplicate content, donc dans le cas d'url multiples, on aura soit une redirection, soit une balise meta avec l'URL canonique (principale) sur la page en doublon.

Par contre la redirection (qui est le plus propre) peut être plus évoluée, généralement dans cet ordre d'importance: url(si présent) > session utilisateur > préférence utilisateur (headers) > langue par défaut du site. Bien entendu certains point peuvent être laissé de côté, (La session, particulièrement si il y a une redirection que sur la page d'accueil)

Sinon le format choisi des URL est une convention très courante sur le web et donc une bonne pratique.
Ok, merci pour vos réponses.

En fait, à la base j'hésiter entre ce format :

Version Française (langue par défaut) :
www.mon-site.com/slug-article

Version Anglaise :
www.mon-site.com/en/slug-article


Et ce format :

Version Française :
www.mon-site.com/fr/slug-article

Version Anglaise :
www.mon-site.com/en/slug-article


L’avantage de la 2ème solution par rapport à la 1ère, c'est que j'aurai pas de problème de lien relatif. J'aissai d'utiliser un maximum possible les liens absolues, mais parfois je suis obligé d'utiliser des liens relatif (Dans des fichiers JS par exemple).

Merci.
Modifié par stephweb (26 Aug 2016 - 14:38)
Modérateur
Le nom domaine est plutôt utilisé pour la localisation que pour l'internationalisation normalement.

.fr ne signifie pas «en français» mais «en France».
kustolovic a écrit :
Le nom domaine est plutôt utilisé pour la localisation que pour l'internationalisation normalement.

.fr ne signifie pas «en français» mais «en France».


ouaip je suis d'accord dans un sens mais la localisation implique forcément l’internationalisation de mon point de vue
Modérateur
Du tout, mais c'est une erreur commune quand on n'a pas l'habitude. Mais si on ne prend pas l'habitude des bonnes pratiques un projet qui est amené à grandir rencontrera des problèmes.

On peut avoir plusieurs langues pour une seule localisation, on peut avoir plusieurs localisations pour une seule langue, ou plusieur langues pour chaque localisation. truc.fr/fr, truc.fr/en, truc.be/fr, etc.

Une localisation concerne les gens auxquels on s’adresse et/ou la localisation du service. Souvent, un changement de localisation entraîne la plupart du temps des changements de contenus: mentions légales propre à la législation, monnaies, services et produits disponible, news localisées, etc. Alors que l'internationalisation ne concerne que la traduction.
Merci encore pour vos réponses.

Bon du coup, j'hésite entre 2 solutions. Je me donne encore quelques jours de réflexion.
Mon site, s'agit d'un même site dans deux langues (par exemple, dans mon dossier "lang" de mon MVC pour les contenus en dur que j'affiche dans mes vues, j'ai des sous-dossier "fr" et "en". et pour les contenus en BDD, j'aurai des tables avec par exemples des préfixes "fr_nom-de-ma-table" et "en_nom-de-ma-table").

J’hésite entre ceci :

 www.mon-site.com/fr/slug-article-francais
 
 www.mon-site.com/en/slug-article-english
 

Et ceci :

 www.mon-site.fr/slug-article-francais
 
 www.mon-site.com/slug-article-english
 

La 1ère solution, est pour moi la + simple (mon Routing est déjà configuré pour ce format). Mais je crois que la 2ème solution est un peu mieux pour le référencement en France.

La 1ère solution, 1 seul site suffit pour faire du multi-langue, c'est un gros avantage.

_Avec la 2ème solution, ça m'oblige vraiment de faire 2 sites ?
_Ou je peut faire en sorte que les extensions ".fr" (version Française) et .com (version Anglaise) fonctionnent sur le même site ?
Car je crois que chez un hebergeur qu'on peut faire seulement des alias (par exemple que le ".fr" redirige vers le ".com". Mais je crois pas qu'on peut faire fonctionner 2 domaines sur un site en faisant en sorte que le ".fr" charge les vues de la version Française, et que le ".com" charge les vues de la version Anglaise.

Merci.
Modifié par stephweb (29 Aug 2016 - 04:55)
Modérateur
Les deux sont possibles techniquement, c'est vraiment une question de contenu.

Si le site propose des services en France, et que la version anglaise est juste une traduction:

  www.mon-site.fr/fr/slug-article-francais  (ou  www.mon-site.fr/slug-article-francais)
 
  www.mon-site.fr/en/slug-article-english
 


Si le site propose des services à l'international et que la localisation française est de moindre importance:

  www.mon-site.com/fr/slug-article-francais
 
  www.mon-site.com/en/slug-article-english
 

ou

  www.mon-site.fr/slug-article-francais
 
  www.mon-site.com/slug-article-english
 


à noter que dans le dernier cas, si le site a vocation à grandir et s'étoffer en langues/localisations, il faudrait préférer:


  www.mon-site.fr/fr/slug-article-francais
 
  www.mon-site.com/en/slug-article-english
 


a écrit :

_Avec la 2ème solution, ça m'oblige vraiment de faire 2 sites ?
_Ou je peut faire en sorte que les extensions ".fr" (version Française) et .com (version Anglaise) fonctionnent sur le même site ?
Car je crois que chez un hebergeur qu'on peut faire seulement des alias (par exemple que le ".fr" redirige vers le ".com". Mais je crois pas qu'on peut faire fonctionner 2 domaines sur un site en faisant en sorte que le ".fr" charge les vues de la version Française, et que le ".com" charge les vues de la version Anglaise.

Non non c'est possible. Les domaines pointent vers le même serveur, qui les récupère dans un même vhost. (Même chez un hébergeur mutualisé, ce genre de config courante est généralement possible). Si tu utilise un CMS populaire, c'est déjà prévu (généralement) de router la langue par nom de domaine. Si c'est du code personnel, à toi de lire le nom de domaine appelant et réagir en fonction.

pour le .fr / .com : alsacreations.fr est une agence web qui s'adresse principalement à une clientèle française, l'extension fr coule de source. Par contre alsacreations.com est une communauté d'apprentissage des standards du web et n'a que peu à voir avec la France. C'est en français et ça s'adresse à des francophones mais pas forcément français (moi-même ne l'étant pas Smiley smile )
Modifié par kustolovic (29 Aug 2016 - 07:56)
Ok merci pour ta réponse.

Cette structure d'adresse est à éviter je pense :

 www.mon-site.fr/slug-article-francais
 

 www.mon-site.fr/en/slug-article-english
 

ça risque de poser quelques problèmes de "relativitée" avec des fichiers JS par exemple.

Je suis tombé sur cette vidéo qui est pas mal https://www.youtube.com/watch?v=ZWvia9fdvrg

Je suis en train de faire mon site avec un Framework MVC maison que j'ai développé (qui ressemble à Laravel 5).
Je viens de configurer mon Routing pour qu'il puisse faire fonctionner l'internationalisation avec ces différentes structures d'adresse :

 www.mon-site.com/fr/slug-article-francais
 
 www.mon-site.com/en/slug-article-english
 

 www.mon-site.fr/slug-article-francais
 
 www.mon-site.com/slug-article-english
 

 www.fr.mon-site.com/slug-article-francais
 
 www.en.mon-site.com/slug-article-english
 

Donc soit en me basant avec le "sous-dossier", ou le "domaine", ou le "sous-domaine".
Et dans un de mes fichiers de config, j'ai juste une ligne à modifier pour choisir quelle structure d'adresse à utiliser pour faire fonctionner l'internationalisation.

Mon site sera pour mon site pro de développeur PHP, je ne suis pas encore Anglophone donc ce sera surtout pour des services en France pour le moment.
Et sur ce même site il y a aura aussi mon portfolio, des articles que je publie (en Français et en Anglais), des librairies open source que j'ai développé (avec des documentations en Français et en Anglais)...

Donc voilà pourquoi je veut le publier avec une version Française et aussi une version Anglaise. Il me reste juste le contenu qui est en BDD à traduire, la structure PHP est fini.

Faut juste que je me décide sur quelle structure d'adresse à utiliser.

J'ai fait pas mal de lecture. Il y en a qui disent qu'en ".fr" et ".com" sans sous-dossiers ça sera mieux référencé (surtout en France avec ".fr" c'est mieux que ".com/fr/". Et d'autre disent que non car avec les attributs HTML lang et hreflang ça suffit pour indiquer à Google la langue et le pays du site.

Merci.
Modifié par stephweb (29 Aug 2016 - 08:42)
kustolovic a écrit :
Du tout, mais c'est une erreur commune quand on n'a pas l'habitude. Mais si on ne prend pas l'habitude des bonnes pratiques un projet qui est amené à grandir rencontrera des problèmes.

On peut avoir plusieurs langues pour une seule localisation, on peut avoir plusieurs localisations pour une seule langue, ou plusieur langues pour chaque localisation. truc.fr/fr, truc.fr/en, truc.be/fr, etc.

Une localisation concerne les gens auxquels on s’adresse et/ou la localisation du service. Souvent, un changement de localisation entraîne la plupart du temps des changements de contenus: mentions légales propre à la législation, monnaies, services et produits disponible, news localisées, etc. Alors que l'internationalisation ne concerne que la traduction.


Merci pour les précisions Smiley cligne j'essaierais d'avoir cette vision pour les ndd à l'avenir merci encore !