Le sitemap du site Web de la marque de mon entreprise semble bien se présenter au premier coup d’œil. Je ne vois pas particulièrement d'erreurs en tant que telles. Cependant, SEMrush, l'outil de référencement, indique que le format de notre sitemap n'est pas correct. SEMrush ne me dit pas ce qui ne va pas. Il dit simplement que le format est incorrect.
J'ai donc envoyé le plan du site à ce validateur en ligne:
Il dit pas de problèmes trouvés. Mais, quand je le passe à travers un autre outil:
http://tools.seochat.com/tools/site-validator/
Il renvoie plusieurs erreurs pour les balises lastmod
. En voici un:
<url><loc>http://www.photojaanic.com/photo-gifts/keychains</loc> <lastmod>2017-07-24T04:37Z</lastmod><changefreq>yearly</changefreq></url>
Erreur 1826: L'élément
'{http://www.sitemaps.org/schemas/sitemap/0.9}lastmod'
:'2017-07-24T04:37Z'
n'est pas une valeur valide du type d'union'{http://www.sitemaps.org/schemas/sitemap/0.9}tLastmod'
. en ligne: 5 colonne: 0
Cela pourrait-il être la raison pour laquelle le sitemap est erroné? Je me demande pourquoi le format date-heure est incorrect.
J'ai aussi essayé un autre validateur. Même celui-ci renvoie de nombreuses erreurs avec le problème lastmod
:
http://freetools.webmasterworld.com/tools/site-validator
Je ne suis pas tellement préoccupé par les autres erreurs car elles sont liées à la vidéo ou aux images. Cela pourrait être rectifié. Ce qui me préoccupe concerne la balise lastmod
.
Un moyen de contourner le problème lastmod
pourrait être d'exclure simplement le temps. Cependant, j'aimerais savoir pourquoi il y a une erreur.
Selon le schéma, tLastMod
est l'union de xsd:date
et xsd:dateTime
.
Puisque vous fournissez des heures, vous n'êtes pas dans le premier cas, votre chaîne doit donc être conforme au type XSD dateTime
, ce qui n'est pas le cas: vous devez spécifier la pièce avec les secondes.
Voir https://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#dateTime-lexical-mapping pour le format complet.
Donc, si vous essayez avec 2017-07-24T04:37:00Z
l'erreur de validation sur cet élément devrait disparaître.
Assurez-vous qu'aucune de vos valeurs n'est vide. J'ai résolu ce problème pendant un moment et me suis rendu compte que le champ "dernière date de modification" de certaines entrées était vide et que cela provoquait des erreurs de balisage dans le fichier XML en raison de l'absence de remplissage pour certaines URL.
L'outil http://tools.seochat.com/tools/site-validator/ ne donne aucune erreur en spécifiant également les secondes:
<lastmod>2017-07-24T04:37:00Z</lastmod>
Les secondes sont-elles requises pour une date/heure? Il y a un conflit entre la spécification et le schéma:
Selon la spécification pour lastmod
, la spécification des secondes n’est pas requise pour les dates-heures. L'élément lastmod
utilise le " format de date/heure W3C ", selon lequel votre date et heure est valide.
Selon le schéma XML, il est nécessaire de spécifier les secondes pour les dates-heures ( comme le souligne la réponse de Patrick Mevzek ).