Question simple, je demande juste pour être sûr.
Un générateur de sitemap Google a généré un fichier sitemap.txt avec des liens écrits comme suit:
http://www.domain.com/category.htm?name=some-name&cat_id=8
est-il correct d'utiliser le &
dans ces liens à la place du &
ou s'agit-il simplement d'une erreur du générateur de sitemap?
Merci.
C'est correct. Il s'agit de l'entité HTML pour une esperluette (&
]) et sa représentation en caractères appropriée dans une URL correctement codée. Les esperluettes (&
) ainsi que <
et >
sont des caractères spéciaux XML et HTML et doivent être affichés à l'aide de leurs entités de caractères spéciaux.
Votre fichier Sitemap doit être encodé en UTF-8 (vous pouvez généralement le faire lorsque vous enregistrez le fichier). Comme pour tous les fichiers XML, toutes les valeurs de données (y compris les URL) doivent utiliser des codes d'échappement d'entité pour les caractères.
Cela peut aider, http://sitemaps.org/protocol.php
Google rejette le sitemap comme cassé s'il comporte un caractère dans une URL. Il accepte quand vous remplacez par amp;
MAIS: si vous vérifiez ultérieurement la liste des erreurs d’analyse dans l’outil Google Webmasters, l’URL du fichier sitemap sera rompu, car il contient amp; au lieu de .
La solution correcte consiste donc à modifier l’URL de telle sorte qu’elle ne contienne pas. Ou signalez-le comme un bug à Google.
Vous pouvez aussi vous convaincre en vérifiant
Vous ne pouvez pas vraiment vous disputer contre la page officielle du protocole XML Sitemaps :)
Le codage d'URL et le codage d'entité XML ne sont pas la même chose. Vous avez besoin du codage d'URL pour remplacer les caractères spéciaux dans les URL, tels que ceux qui ne peuvent être utilisés que pour la séparation des paramètres de requête. Le codage d'entité XML sert à coder des caractères spéciaux au format XML (également XHTML). Cela signifie que si vous avez une URL dans un fichier XML (ou XHTML) et que cette URL contient des caractères, vous devez l'encoder en une entité. Donc, dans un sitemap.xml, vous aurez des URL comme dans la question de Marco Demaio.