web-dev-qa-db-fra.com

Plans Sitemap & <link rel = ... pour les sites Web quadri-directionnels

Je me rends compte qu'il y a beaucoup de questions similaires, mais je pense que cela consolide plusieurs points de confusion. Cette question découle de la grande conseil donné ici . J'ai un site qui a une version séparée pour mobile et une version de bureau, et chaque version a une version séparée en anglais et en polonais. Donc par exemple

  • Bureau anglais ~ http://www.example.com/index.html
  • Anglais Mobile ~ http://www.example.com/m/index.html
  • Bureau polonais ~ http://www.example.com/pl/index.html
  • Mobile polonais ~ http://www.example.com/m/pl/index.html

Je sais maintenant que chacun devrait avoir son propre sitemap et que chaque sitemap devrait renvoyer vers les autres pages. Mais est-ce que j'ai bien fait cela - et si je veux aussi utiliser une annotation de lien sur chaque page html, est-ce que je l'ai bien fait, des exemples de ma structure de sitemaps, tronquée à une page de destination uniquement, par exemple.

Site anglais sur le bureau:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
  <loc>http://www.example.com/</loc>
  <xhtml:link rel="alternate" hreflang="pl" href="http://www.example.com/pl/"/>
  <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/"/>
  <xhtml:link rel="alternate" hreflang="en" media="only screen and (max-width: 640px)" href="http://www.example.com/m/"/>
  <xhtml:link rel="alternate" hreflang="pl" media="only screen and (max-width: 640px)" href="http://www.example.com/m/pl/"/>
</url>

Site polonais de bureau:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
  <loc>http://www.example.com/pl/</loc>
  <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/"/>
  <xhtml:link rel="alternate" hreflang="pl" href="http://www.example.com/pl/"/>
  <xhtml:link rel="alternate" hreflang="en" media="only screen and (max-width: 640px)" href="http://www.example.com/m/"/>
  <xhtml:link rel="alternate" hreflang="pl" media="only screen and (max-width: 640px)" href="http://www.example.com/m/pl/"/>
</url> 

Mobile English Site:

<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
  <loc>http://www.example.com/m/</loc>
  <mobile:mobile/>
  <xhtml:link rel="alternate" hreflang="pl" media="only screen and (max-width: 640px)" href="http://www.example.com/m/pl/"/>
  <xhtml:link rel="alternate" hreflang="en" media="only screen and (max-width: 640px)" href="http://www.example.com/m/"/>
  <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/"/>
  <xhtml:link rel="alternate" hreflang="pl" href="http://www.example.com/pl/"/>
</url>

Mobile Polish Subsite:

<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
  <loc>http://www.example.com/m/pl/</loc>
  <mobile:mobile/>
  <xhtml:link rel="alternate" hreflang="en" media="only screen and (max-width: 640px)" href="http:/www.domain.com/m/"/>
  <xhtml:link rel="alternate" hreflang="pl" media="only screen and (max-width: 640px)" href="http://www.example.com/m/pl/"/>
  <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/"/>
  <xhtml:link rel="alternate" hreflang="pl" href="http://www.example.com/pl/"/>
</url>

Et puis la structure de lien suivante sur chaque page:

Sur toutes les pages du bureau anglais:

<link rel="alternate" hreflang="pl" href="http://www.example.com/pl/[corresponding page name].html" />
<link rel="alternate" media="only screen and (max-width: 640px)"  href="http://www.example.com/m/[corresponding page name].html" />

Sur toutes les pages du bureau polonais:

<link rel="alternate" hreflang="en" href="http://www.example.com/[corresponding page name].html" />
<link rel="alternate" media="only screen and (max-width: 640px)"  href="http://www.example.com/m/pl/[corresponding page name].html" />

Sur toutes les pages de mobile anglais:

<link rel="canonical href="http://www.example.com/[corresponding desktop page].html" />
<link rel="alternate" hreflang="pl" media="only screen and (max-width: 640px)" href="http://www.example.com/m/pl/[corresponding page name].html" />
<link rel="alternate" href="http://www.example.com/[corresponding desktop page].html" />

Sur toutes les pages polonaises de Mobile:

<link rel="canonical href="http://www.example.com/pl/[corresponding desktop page].html" />
<link rel="alternate" hreflang="en" media="only screen and (max-width: 640px)" href="http://www.example.com/m/[corresponding page name].html" />
<link rel="alternate" href="http://www.example.com/pl/[corresponding desktop page].html" />

Ai-je manqué quelque chose, ou mal compris? Il semble un peu bizarre que je devrais avoir le lien canonique pointant vers la page de bureau correspondante et aussi un lien alternatif pointant vers la même page. De plus, devrais-je inclure un lien alternatif dans chaque page de mobile vers la page de bureau dans la langue de remplacement et un autre lien dans chaque page de bureau vers le site mobile de langue alternative Déroutant? Oui! Tout conseil bienvenu!

1
asimovwasright

La solution que vous recherchez est en réalité beaucoup moins fastidieuse que votre exemple ne le laisse paraître. Je vais commencer par le haut et continuer mon chemin avec des explications. Par souci de facilité, je vais supposer que le site Web est construit à partir de fichiers statiques hébergés sur un serveur de fichiers distant.

Point n ° 1 - Structure: J'encourage fortement un peu de restructuration. Créez deux répertoires distincts dans la racine, l’un pour les pages anglais et l’autre pour les pages polonaises. La structure doit suivre cette forme générale: http://www.example.com/en/ et http://www.example.com/pl/. Si vous regardez des grandes marques comme Nike, des plates-formes de commerce électronique comme Etsy ou des organisations comme Mozilla, elles structurent leurs sites Web de la même manière, par pays, par langue ou par une combinaison des deux. En fonction de votre secteur d'activité et/ou de vos produits/services, cette configuration peut présenter de nombreux avantages si vous développez votre site Web et souhaitez inclure davantage de langues. Nourriture pour la pensée.

Point n ° 2 - Mobile: Dans le répertoire de chaque langue, créez un autre répertoire pour les pages mobiles. La structure doit suivre cette forme générale: http://www.example.com/en/m/ et http://www.example.com/pl/m/. Ceci établit une hiérarchie plus claire: Langue -> Type de périphérique.

Point n ° 3 - Les plans de site XML: Je suis fondamentalement en désaccord avec cette réponse . Quatre sitemaps XML ne valent pas mieux qu'un, car la séparation des préoccupations ne s'applique pas vraiment ici. Un plan du site est juste cela, une carte de l'ensemble du site. Oui, c'est encombrant. Et je ne dis pas qu'il n'y a pas de solution légitime lorsque plusieurs sitemaps ont du sens, mais c'est généralement le cas lorsque vous traitez avec plusieurs sous-domaines, ce que vous ne faites pas. Je ne vois donc pas pourquoi ce serait justifié ici. Il y a une raison pour laquelle vous pouvez spécifier annotations de langue et annotations mobiles dans un sitemap XML, évitez de vous déranger et mettez tout dans n soigné, document XML organisé et bien formé. Voici à quoi cela ressemblerait avec des annotations pour la langue et le mobile.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

<url>
    <loc>http://www.example.com/en/index.html</loc>
    <xhtml:link
           rel="alternate"
           media="only screen and (max-width: 640px)"
           href="http://www.example.com/en/m/index.html" />
    <xhtml:link
           rel="alternate"
           hreflang="pl"
           href="http://www.example.com/pl/index.html" />
    <xhtml:link
           rel="alternate"
           hreflang="en"
           href="http://www.example.com/en/index.html" />
</url>
<url>
    <loc>http://www.example.com/pl/index.html</loc>
    <xhtml:link
           rel="alternate"
           media="only screen and (max-width: 640px)"
           href="http://www.example.com/pl/m/index.html" />
    <xhtml:link
           rel="alternate"
           hreflang="en"
           href="http://www.example.com/en/index.html" />
    <xhtml:link
           rel="alternate"
           hreflang="pl"
           href="http://www.example.com/pl/index.html" />
</url>
</urlset>

Notes importantes:

  1. Vous devez uniquement ajouter des URL de bureau aux balises <loc>. Mobile est pris en charge par défaut lorsque vous ajoutez la balise <link rel="canonical"> à la page mobile. Toutefois, si vous envisagez d'ajouter plusieurs langues ultérieurement, vous devriez peut-être ajouter des URL de bureau et des URL mobiles au plan du site. Ceci est évidemment à votre discrétion.
  2. Chaque page mobile n'a besoin que d'une seule balise <link rel="canonical"> qui pointe vers la page de bureau correspondante.
  3. Chaque page mobile n'a besoin que d'une balise <link rel="alternate"> qui pointe vers la version linguistique correspondante (pour mobile, bien sûr). Encore une fois, si vous décidez d'ajouter d'autres langues, envisagez plutôt de l'ajouter dans le plan du site.
  4. Ajoutez le lien à votre sitemap XML dans la console de recherche Google.
  5. Ajoutez le lien vers votre sitemap XML à votre fichier robots.txt, pour le plaisir.

Conclusion

Il y a beaucoup de choses à penser ici. Comme je l’ai déjà mentionné, j’encourage fortement la restructuration pour tenir compte de la configuration proposée. Cela peut créer du travail supplémentaire à court terme pour vous, mais il y a des avantages à long terme. Je vous encourage également à examiner sérieusement mes points sur le sitemap XML, car cela peut être pénible si cela est fait de manière incorrecte ou inefficace. Comme pour la plupart des choses, il est préférable de faire les choses correctement dès la première fois et de ne pas avoir à perdre la tête.

2
nburr