2009-02-10 5 views
0

J'ai une URL qui contient des caractères spéciaux. Par exemple:Dois-je encoder des caractères spéciaux dans mes sitemaps?

http://www.example.com/bléèàû.html 

Si vous tapez cette URL dans un navigateur, mon serveur web témoignerait de la bonne page (il peut gérer un caractère spécial).

J'ai regardé le sitemaps specs et il n'est pas clair si le fichier sitemaps peut contenir des caractères spéciaux. D'après ce que je comprends du protocole, si l'URL fonctionne correctement et que le serveur sert la bonne page et que le fichier XML est codé en UTF-8, alors c'est bon.

Par exemple, cette entrée est une entrée de sitemaps valide:

<url> 
     <loc>http://www.example.com/bléèàû.html</loc> 
     <changefreq>weekly</changefreq> 
    </url> 

Tout le monde peut le confirmer? [Mise à jour] La raison pour laquelle je suis réticent à encoder les caractères spéciaux est que je ne veux pas introduire d'URL en double pour le même contenu. Par exemple

http://www.example.com/bl%C3%A9%C3%A8%C3%A0%C3%BB.html 

et

http://www.example.com/bléèàû.html 

servirait la même page. Je suppose que Google attraperait les deux URL avec son indexation normale et les sitemaps. Malheureusement, Google a tendance à dégrader le classement des sites dont les URL en double pointent vers la même page.

Répondre

4

La spécification Sitemaps ne dit pas. Il montre des exemples d'URL dans diverses formes échappées mais ne dit pas définitivement si le premier exemple (caractères bruts) est autorisé. Il ne les appelle que «URL», sans référence à une définition particulière de «URL» ou RFC qui préciserait si elles signifient URI ASCII old-school, ou IRI (qui peut contenir des caractères non-ASCII).

Il serait donc plus sûr de supprimer le codage UTF-8 de l'URL. Le lien fonctionnera alors globalement, et devrait être présenté à l'utilisateur comme un caractère Unicode dans tous les navigateurs modernes.

<loc>http://www.example.com/bl%C3%A9%C3%A8%C3%A0%C3%BB.html</loc> 
0

La spécification indique que les sitemaps doivent être être codés en UTF-8. Si l'URL est correcte et utilisée sur votre site, alors incluez-la dans votre sitemap.

2

S'il est vrai qu'un sitemap doit être codé en UTF-8, cela ne signifie pas que toutes les URL contenues dans celui-ci disposent de tout l'UTF-8.

Les URL sont supposées être un sous-ensemble de US-ASCII comme spécifié dans la RFC 1738. Je ne crois pas votre exemple URL:

http://www.example.com/bléèàû.html 

sont valables selon cette référence et devrait plutôt être encodées/URL échappai.

0

Pour les utilisateurs qui n'ont pas la possibilité d'entrer facilement des caractères spéciaux **, je vous suggère d'accepter également le plus proche approximation du côté du serveur. (c'est-à-dire alias ou transférer /bleeau.html à/bléèàû.html)

** Par exemple, les navigateurs de téléphones portables avec des claviers limités et les personnes avec différentes dispositions de langage de clavier.

Questions connexes