web-dev-qa-db-fra.com

Question de référencement sur un site multilingue

Je sais que ce genre de questions a reçu des réponses mille fois, mais vous savez que chaque question est différente d'une manière ou d'une autre :)

J'ai donc des problèmes avec Google Indexant mon site correctement. Le plan du site est comme suit:

| - exemple.com
| --- exemple.com/es
| --- exemple.com/en

mysite.com agit comme un pont redirigeant en fonction de l'en-tête "HTTP_ACCEPT_LANGUAGE" vers l'un ou l'autre ("en" est défini par défaut). On m'a dit que googlebot n'envoie pas assez souvent cet en-tête, donc cela pourrait être un problème (?).

Jolie configuration commune, non? Eh bien, le problème est que, malgré l'intégration des hreflangs sur chaque page et des versions alternatives dans les sitemaps, Google continue d'indexer, quelle que soit la langue du navigateur, toujours la version anglaise (incluant ainsi la description de la page et le titre, à côté de l'URL). ). De plus, il affiche toujours le domaine racine au lieu des sites linguistiques (comme le fait Ryanair par exemple).

Pour mieux comprendre ce que j'essaie de faire, je vais décrire comment je souhaite que Google affiche les résultats:

Lors de la recherche à partir d'un navigateur Web espagnol, j'aimerais afficher le contenu espagnol: titre et description (assez évident duh: P) ainsi que l'URL espagnole: "exemple.com/es". Et la même chose avec la version anglaise avec les navigateurs n'étant pas espagnol. Pour être juste, je ne comprends même pas non plus pourquoi il remplace sans cesse les titres par "MYNAME: REST OF TITLE" au lieu de "MYNAME - REST OF TITLE".

J'ai ce sitemap dans le domaine racine (c'est un index de sitemap):

   <sitemap>
      <loc>https://example.com/es/sitemap.xml</loc>
   </sitemap>

   <sitemap>
      <loc>https://example.com/en/sitemap.xml</loc>
   </sitemap>

Et voici le plan du site en anglais juste que vous pouvez voir comment cela se passe:

<urlset
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:example="http://www.example.com/schemas/example_schema"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<!-- namespace extension -->

<url>
    <loc>https://example.com/en/</loc>
    <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/"/>
</url>
<url>
    <loc>https://example.com/en/linkEnglish/</loc>
    <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/linkSpanish/"/>
</url>
<url>
    <loc>https://example.com/es/</loc>
</url>

Et puis cela est écrit dans chaque page à l'intérieur de l'en-tête:

<!-- hreflang -->
<link rel="alternate" href="https://example.com/es" hreflang="es" />
<link rel="alternate" href="https://example.com/en" hreflang="en" />

Toute suggestion dans comment puis-je accomplir cela?

Merci beaucoup d'avance!

2
Guillermo López

Je vois 3 questions ici.

1. Il manque le hreflang de l'auto-référencement des sitemaps XML.

Comme pour l'utilisation des balises dans le code source des pages, vous devez référencer toutes les versions alternatives de la page, , y compris lui-même.

Donc, cela devrait ressembler à:

<url>
    <loc>https://example.com/en/</loc>
    <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/"/>
</url>

2. Vous utilisez les balises hreflang dans le code source et dans les sitemaps XML.

Vous ne devriez utiliser que l'un ou l'autre, pas les deux. Il semble donc que la balise soit correcte dans le source, mais pas dans les sitemaps XML comme mentionné ci-dessus, alors peut-être que Google utilise la balise dans le sitemap XML et ignore la balise dans le code.

Peu importe ce que vous utilisez, code source ou sitemaps XML, choisissez celui qui est le plus facile à gérer, mais choisissez seulement 1.

3. Balise X-default href lang manquante

Lorsque vous avez des pages d'accueil à redirection automatique, vous devez implémenter le balise hreflang "x-default" pour ces pages. Cette balise doit figurer sur chaque version alternative et disposer d'un auto-référencement, comme indiqué ci-dessus.

La mise en œuvre ressemblerait à

<link rel="alternate" href="http://example.com/" hreflang="x-default" />
<link rel="alternate" href="https://example.com/es" hreflang="es" />
<link rel="alternate" href="https://example.com/en" hreflang="en" />

Vous pouvez utiliser x-default dans le code source ou dans l'implémentation de sitemaps XML.

1
Max