2016-12-19 3 views
5

Je souhaite ajouter quelques URL à un sitemap ciblé pour un emplacement spécifique uniquement, mais je n'arrive pas à comprendre comment procéder. Il ya beaucoup de documentation sur la façon d'ajouter alternatives spécifiques à l'emplacement au sitemap (avec hreflang), mais je ne trouve aucune ressource sur la façon d'ajouter des pages pour un emplacement spécifique seulement. Ma première pensée était juste d'omettre la valeur <loc> et de ne spécifier que les balises <xhtml:link rel="alternate">, mais selon le specification<loc> est requis. Alors, quelle est la bonne façon d'ajouter des URLs spécifiques à un emplacement dans un asitemap?Comment ajouter des URL spécifiques au site?

Répondre

1

Remarque 1

S'il vous plaît noter qu'il existe d'autres moteurs de recherche que Google qui acceptent sitemaps. L'espace de noms xmlns:xhtml requis pour l'attribut hreflang dans les sitemaps est une extension de sitemap qui peut ne pas être acceptée par tous les moteurs de recherche. La spécification du sitemap ne mentionne pas cet attribut. Par conséquent, je ne l'utiliserais pas de toute façon.

Remarque 2

Dans votre question, vous utilisez les termes location et language. Je ne suis pas sûr de ce que vous voulez dire exactement par location. Mais veuillez noter qu'il existe une différence entre une langue à cibler, un certain lieu d'une langue à cibler et la zone à cibler (ce qui peut n'avoir rien à voir avec la langue ou les paramètres régionaux).

Ce sujet est légèrement hors-sujet, je ne donnerai donc pas une longue citation ici. La section "Valeurs linguistiques prises en charge" de la page que j'ai liée ci-dessous contient des informations à ce sujet.

Solution possible

Même si vous ne vous préoccupez Google, vous pourriez ne pas être en mesure de faire ce que vous voulez - à un premier coup d'oeil, je ne pouvais pas aussi bien trouver une réponse directe à votre question .

Mais heureusement, vous n'avez pas besoin d'insérer ce genre de méta-informations dans des sitemaps. Au lieu de cela, vous pouvez l'ajouter au <head> de vos fichiers HTML. De this document (Souligné par l'auteur):

Si vous avez plusieurs versions linguistiques d'une URL, chaque page de langue devrait identifier les différentes versions linguistiques, y compris lui-même >>>>>> < < < < < <. Pour exemple, si votre site propose un contenu en français, anglais et espagnol , la version espagnole doit inclure un rel = "alternate" hreflang = lien "x" >>>>>>pour lui-même < < < < < < en plus des liens vers les versions française et anglaise.De même, les anglais et français versions doivent comprendre chacun >>>>>> le même < < < < < < références au français, anglais, et en espagnol.

Il est clair qu'une page non seulement peut, mais même devrait contenir un lien rel="alternate" hreflang="<insert uri of page itself here>". Cela peut être inquiétant, car aucune personne raisonnable n'appellerait une certaine page donnée une alternative à cette même page; d'un autre côté, cela a du sens et simplifie les choses si toutes ces entrées <link> ont la même forme. De cette façon, vous pouvez insérer exactement le même groupe de <link> dans chaque page (par exemple en le copiant-collant ou en le laissant faire un outil ou un script).

Le point clé ici est que cela fonctionne ou non une page a quelque chose qu'une personne raisonnable pourrait appeler une «alternative». Si ce n'est pas le cas, la page est le seul "alternatif" de lui-même, il suffit donc d'ajouter celui-ci, approprié <link> à son <head>.

Maintenant, pour revenir à votre problème, vous pouvez

- supprimer tous les éléments xhtml:link et l'espace de noms xmlns:xhtml du plan du site

- dans chaque page, ajoutez exactement les liens hreflang qui sont nécessaires; notamment, dans chaque page qui ne devrait cibler qu'une seule langue, il suffit d'ajouter un lien (avec l'attribut hreflang approprié) qui fait référence à cette page elle-même.

raisonnement très dangereux

Si vous souhaitez tout de même résoudre votre problème en utilisant simplement les fichiers sitemap, vous pourrait éventuellement conclure (par analogie) qui comprenant un seul lien alternatif par <loc> produira les mêmes résultats que si vous auriez cette <link> dans les pages respectives <head>.

À mon humble avis, cette conclusion est dangereuse, et je n'ai absolument aucune idée si elle est valide. Mais vous pouvez l'essayer avec une nouvelle page de test qui ne perturbera pas votre site Web de production et ne verra pas comment cela fonctionne.

Je n'irais pas de cette façon pour les raisons mentionnées ci-dessus, cependant.

+0

Les variantes du site Web ne s'excluent pas mutuellement pour les inclure dans le plan du site, et il existe des raisons impérieuses d'utiliser les deux (par ex. mettre des alternatives dans sitemap permet aux outils de raisonner sur l'internationalisation sans ramper, et les avoir dans le HTML permet au robot d'explorer des alternatives même si elles ne font pas partie du sitemap). Dans mon cas, j'utilise déjà les deux, précisément pour cette raison. Votre solution proposée malheureusement ne s'étend pas aux sitemaps: les sitemaps n'ont pas de substitut 'x-default' qui peut être omis, mais un élément * locl * obligatoire *. – Tiddo

+0

Eh bien, je vois les choses un peu plus détendues. Je suppose simplement que le sitemap fera en sorte que Google explore les URL, et c'est le moment où Google pourra prendre ses décisions. Mais bien sûr, je peux voir votre point de vue, et par conséquent, j'ai eu la section «Raisonnement très dangereux» dans ma réponse. Cette section propose exactement ce que vous faites maintenant selon votre propre réponse. – Binarus

+0

En pratique, Google n'effectuera pas l'exploration de toutes les URL trouvées dans le sitemap (à moins que vous ne disposiez que de quelques dizaines de pages). J'ai complètement mal lu votre dernière partie hier (on peut le blâmer d'être tôt lundi matin), mais vous avez raison. Je suis désolé d'avoir déjà donné la prime à l'autre réponse, mais j'ai au moins encore marqué votre réponse comme acceptée. – Tiddo

0

Réponse courte: Oui. Il est possible d'ajouter quelques urls/<loc> qui sont ciblés SEULEMENT pour un emplacement géographique spécifique.

Comment?

Créez une entrée spécifique aux paramètres régionaux, y compris une seule alternative pour les paramètres régionaux. C'est à dire.au lieu de l'habituel:

<url> 
    <loc>http://example.com/</loc> 
    <xhtml:link 
       rel="alternate" 
       hreflang="en" 
       href="http://www.example.com/" /> 
    <xhtml:link 
       rel="alternate" 
       hreflang="de-ch" 
       href="http://www.example.com/schweiz-deutsch/" /> 
</url> 

Do:

<url> 
    <loc>http://example.com/schweiz-deutsch/</loc> 
    <xhtml:link 
       rel="alternate" 
       hreflang="de-ch" 
       href="http://www.example.com/schweiz-deutsch/" /> 
</url> 

Cela semble être suffisant pour Google pour en déduire que la page est uniquement destiné aux utilisateurs de-ch et ne dispose pas d'une alternative représentation dans toute autre langue.

Il est également possible d'indiquer à Google que votre site Web (tous les urls) sont pour un pays via GeoTargeting

Références:

+0

Après avoir lu vos ressources et beaucoup plus de tests il * semble * être possible, voir ma propre réponse [ici] (http://stackoverflow.com/a/42766588/532901). Puisque votre réponse est celle qui m'a mis sur la bonne voie, je vais vous accorder la prime. – Tiddo

+0

D'accord, oui, alors je vais mettre à jour ma réponse pour éviter d'induire les autres en erreur. –