2 hreflang sur le même domaine et dossier

WRInaute discret
Bonjour à tous,

Mon site actuel est en français, je prépare la version anglaise.

Pour des contraintes techniques que je ne vais pas détailler, je ne peux pas créer de sous domaine ni de dossier spécifique ni avoir un autre TLD pour distinguer mes 2 versions.

Je me pose donc la question de comment faire au mieux côté SEO pour distinguer ces 2 versions. Voici ce que je pense faire :

- avoir des pages différentes /index-fr /index-en ; /account-fr /account-en etc.
- avoir un hreflang et un rel="alternate" sur chaque page
Sur ma page /index-fr :
<link rel="alternate" hreflang="en" href="/index-en">

- avoir une sitemap pour chaque version
- ne rien spécifier dans la search console côté pays car il n'y a vraiment que des notions de langues et rien de spécifique à un pays

Est-ce que ça tient la route ? Est-ce que ça peut poser problème quelque part ?

Il y a une bdd avec quelques centaines de pages qui vont donc être dupliquées, j'aimerais ne pas me rater.
Oui je sais un sous domaine ou un dossier aurait été nettement plus simple :/

Un grand merci d'avance pour tout retour !
 
WRInaute impliqué
Oui je sais un sous domaine ou un dossier aurait été nettement plus simple

Comme tu dis. L'URL Rewriting est-il également exclu ? C'est moins élégant, mais cela permettrait de contourner le problème.

Sinon, et pour répondre à ta question :
- avoir des pages différentes /index-fr /index-en ; /account-fr /account-en etc.
Oui, si la technique de l'URL Rewriting ne te permet pas de contourner la difficulté. À noter qu'au delà de l'aspect user-friendly, on s'en fout un peu de voir comment les pages sont nommées. Mais c'est bien que ce soit dans l'URL (et avant un fragment, bien entendu).

- avoir un hreflang et un rel="alternate" sur chaque page
Sur ma page /index-fr :
<link rel="alternate" hreflang="en" href="/index-en">
Ne pas oublier que chaque page doit lister toutes les variantes linguistiques, y compris elle-même, et avec l'URL complète.
Code:
<link rel="alternate" hreflang="fr" href="https://www.example.com/index-fr">
<link rel="alternate" hreflang="en" href="https://www.example.com/index-en">

Il peut en outre être utile de prévoir une version en "x-default" plutôt qu'une autre. Si la version française du site est la plus pertinente (plus complète, plus consultée, correspond à la cible) vers la version fr, sinon, j'aurais tendance à préférer la version en, car plus internationale.

- avoir une sitemap pour chaque version
J'aurais plutôt tendance à faire une seule sitemap, dans lequel chaque <url> a un élément enfant avec toutes les variantes (si sitemap en XML, si c'est du TXT, alors oui, plusieurs sitemap).
 
WRInaute discret
@spout on est d'accord, mais cela n'est pas possible.
@emualliug MERCI !

L'URL Rewriting est-il également exclu ?
Il ne l'est pas, mais en quoi cela serait utile ? Je ne vois pas. A noter que la version anglaise n'existe pas encore, donc je peux créer les urls que je veux pour l'instant.


À noter qu'au delà de l'aspect user-friendly, on s'en fout un peu de voir comment les pages sont nommées.
Oui c'était plus pour la compréhension de l'exemple, ça sera peut être /compte et /account, vais voir.

Mais c'est bien que ce soit dans l'URL (et avant un fragment, bien entendu)
Qu'est-ce que tu appelles par "fragment" exactement ? en-index serait mieux ??


Ne pas oublier que chaque page doit lister toutes les variantes linguistiques, y compris elle-même, et avec l'URL complète.
Ah bon ? Je ne savais pas, merci beaucoup :)

J'aurais plutôt tendance à faire une seule sitemap, dans lequel chaque <url> a un élément enfant avec toutes les variantes (si sitemap en XML, si c'est du TXT, alors oui, plusieurs sitemap).
Sitemap XML, oui.
Une raison pour privilégier ce choix ?
2 sitemaps me simplifieraient la vie, et c'est intéressant également pour voir facilement les pb et différences d'indexation.
 
WRInaute impliqué
mais en quoi cela serait utile ? Je ne vois pas

Et bien ça simulerait parfaitement le sous dossier (ou le sous-domaine) du point de vue de l'URL :
Très rapidement comme ça, un truc du genre (à adapter bien entendu suivant la structure du site) :
Code:
RewriteRule ^([a-z]{2})/?(.*) /?lang=$1&page=§2 [QSA]

Du point de vue utilisateur / moteur de recherche ton URL sera "https://www.example.com/fr/account" (ou "https://www.example.com/en/account", ou n'importe couple de deux lettres).

Qu'est-ce que tu appelles par "fragment" exactement
Ce qui serait après un '#', par exemple "https://www.example.com/account#fr", ce qui serait une mauvaise pratique à ne pas suivre. À noter que Google ne recommande pas non plus de passer la valeur dans les paramètres de l'URL (donc après un '?'), mais je pense que c'est surtout pour une bonne reconnaissance automatique (avec des hreflang, je ne pense pas que ce soit un soucis).

Je ne savais pas
Du coup je laisse ça là, au cas où : https://support.google.com/webmasters/answer/189077?hl=fr

Une raison pour privilégier ce choix ?
Plusieurs mêmes :
  • un seul crawl du sitemap suffit pour toutes les variantes linguistiques ;
  • les différentes versions linguistiques sont répertoriées dès la sitemap, sans un crawl spécifique de chaque page ;
  • c'est à mon sens plus simple à maintenir, mais je veux bien croire que c'est subjectif ;
  • c'est l'un des intérêts des sitemaps XML (ce serait donc dommage de s'en priver).
Est-ce que cela fera une différence en terme de SEO ? Probablement pas.
 
WRInaute discret
Et bien ça simulerait parfaitement le sous dossier (ou le sous-domaine) du point de vue de l'URL :
Très rapidement comme ça, un truc du genre (à adapter bien entendu suivant la structure du site) :

Waaaaah mais c'est fantastique cette option, oui ça c'est possible ! (quand je pense que je peux faire de l'url rewriting mais pas créer un dossier...).
Un énorme merci.
Je ne sais pas faire mais je trouverai la solution, je sais qu'on peut en tous cas. C'est côté serveur c'est ça les url rewriting, donc impact perf limité pour l'user c'est ça ?


Ce qui serait après un '#', par exemple "https://www.example.com/account#fr", ce qui serait une mauvaise pratique à ne pas suivre. À noter que Google ne recommande pas non plus de passer la valeur dans les paramètres de l'URL (donc après un '?'), mais je pense que c'est surtout pour une bonne reconnaissance automatique (avec des hreflang, je ne pense pas que ce soit un soucis).
Ah oui ok, non effectivement j'avais exclus ça de base je sais que c'est pas recommandé, même si c'était possible dans mon cas.

Oui je l'ai parcouru tout à l'heure après ton indication ^^
Je suis à jour désormais :)

Plusieurs mêmes :
  • un seul crawl du sitemap suffit pour toutes les variantes linguistiques ;
  • les différentes versions linguistiques sont répertoriées dès la sitemap, sans un crawl spécifique de chaque page ;
  • c'est à mon sens plus simple à maintenir, mais je veux bien croire que c'est subjectif ;
  • c'est l'un des intérêts des sitemaps XML (ce serait donc dommage de s'en priver).
Est-ce que cela fera une différence en terme de SEO ? Probablement pas.
Pour un léger surcout de maintenance, je trouve vraiment intéressant de voir les différences d'indexation dans la search console, mais je vais creuser ça, merci pour les pistes.

Encore merci !
 
WRInaute impliqué
Waaaaah mais c'est fantastique cette option, oui ça c'est possible ! (quand je pense que je peux faire de l'url rewriting mais pas créer un dossier...).
Un énorme merci.
Je ne sais pas faire mais je trouverai la solution, je sais qu'on peut en tous cas. C'est côté serveur c'est ça les url rewriting, donc impact perf limité pour l'user c'est ça ?

Oui, 100% côté serveur (dans le .htaccess en général) et tout à fait transparent pour l'internaute. Niveau performance, ça reste très raisonnable, après c'est comme tout, il ne faut pas en abuser (surtout éviter les redirections en fait).

Perso, la structure de mes URL n'a rien à voir avec la structure des mes fichiers sur le serveur, à part les fichiers fournis "tels-quels" (les images, les CSS) et encore pas tous. Découper une URL en dossiers / sous-dossiers est assez simple.
 
WRInaute discret
Merci encore à toi.
Mais bon, ça ne sera pas par le .htaccess dans mon cas, ça serait trop simple. Si je ne peux pas créer de sous-domaine/dossier, je peux faire de l'url rewriting mais ça sera par un script que je peux mettre dans le header, ça j'y ai accès. Mais ça devrait le faire aussi pour le google bot je crois bien.
 
WRInaute impliqué
Je ne vois pas trop comment tu envisages un script dans le header, mais je vois mal comment ça ne se dirigera pas vers des difficultés plus grandes encore.

Si tu ne peux pas créer de chemins virtuels par URL Rewriting, il sera plus simple de faire sans. Avoir une structure example.com/xx/page (avec xx comme code de langue) n'est en rien un impératif. Par contre, avoir des URL stables qui délivrent directement du contenu sans redirections inutiles, si.

Bien entendu, fais comme tu les souhaites, et de la façon qui te semblera pertinente et compatible avec les contraintes qu'on ne peut changer. Toutefois je me demande comment peut se conduire un projet sur lequel le webmaster / developeur a aussi peu la main sur le serveur.
 
WRInaute discret
Avoir une structure example.com/xx/page (avec xx comme code de langue) n'est en rien un impératif.

Mmh, c'est sur que je peux aussi faire comme ça, ça peut éviter l'usine à gaz et les risques de l'url rewriting.

Donc ça voudrait dire avoir dans le même dossier plein de pages avec des langues différentes, mais tant que chacune ont bien leur link rel alternate et l'hreflang bien défini, qui renvoie à sa copine dans l'autre langue (toujours dans le même dossier), en gros Google ne crachera pas dessus et je peux quand même espérer ranker en SEO, c'est ce que tu me dis ?
Ca peut me faciliter la vie, c'est sur.
Avec la / les sitemaps qui vont bien.
 
WRInaute impliqué
La doc Google (https://support.google.com/webmasters/answer/182192?hl=fr) recommande « de définir des URL distinctes pour chaque version linguistique de cette dernière ». C'est tout.

Bien que la même documentation indique d'« envisager » d'utiliser certaines « structures d'URL ». Aucune ne semble avoir d'incidence pour le référencement.

Je fais l'hypothèse qu'une structure claire aide peut-être Google à mieux comprendre la structuration d'un site multilingue en l'absence des hreflang (ou avec des hreflang mal formés), mais avec des hreflang mis en place, je ne pense pas que c'est un intérêt en référencement pur (bien que ça en ait d'autre : clarté de l'URL, facilité de la mise en place, suivi statistique, etc.).
 
WRInaute discret
La doc Google (https://support.google.com/webmasters/answer/182192?hl=fr) recommande « de définir des URL distinctes pour chaque version linguistique de cette dernière ». C'est tout.

Bien que la même documentation indique d'« envisager » d'utiliser certaines « structures d'URL ». Aucune ne semble avoir d'incidence pour le référencement.

Je fais l'hypothèse qu'une structure claire aide peut-être Google à mieux comprendre la structuration d'un site multilingue en l'absence des hreflang (ou avec des hreflang mal formés), mais avec des hreflang mis en place, je ne pense pas que c'est un intérêt en référencement pur (bien que ça en ait d'autre : clarté de l'URL, facilité de la mise en place, suivi statistique, etc.).

Merci encore à toi, je vais donc faire cela, c'est moins risqué et plus simple, ça devrait donc bien faire le job.
 
Discussions similaires
Haut