web-dev-qa-db-fra.com

Pourquoi le validateur de sitemap renvoie-t-il une erreur pour la balise "lastmod"?

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:

https://www.xml-sitemaps.com/index.php?op=validate-xml-sitemap&go=1&sitemapurl=http%3A%2F%2Fwww.photojaanic.com%2Fsitemap.xml&submit=Validate+Sitemap

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.

3
Anish Kuriakose

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.

3
Patrick Mevzek

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.

2
Luke Richardson

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:

2
unor