J'utilise WP SEO by Yoast pour générer des plans Sitemap. Le plan Sitemap généré pour les types personnalisés comporte au début une chaîne hexa qui invalide l'ensemble du fichier XML:
148e2
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//cabouge.tv5monde.com/main-sitemap.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Vous pouvez voir le fichier live ici (problème résolu sur le fichier live).
Les caractères au début des fichiers semblent être liés au contenu, car ils sont différents pour un autre type personnalisé.
J'utilise WPSEO v1.5.2.5, mais le bogue était présent avec la version 1.4.6. Il semble lié à la configuration de mon serveur, car je ne peux pas le reproduire sur un serveur de test sur lequel le même code Wordpress est installé. Le serveur de production exécute PHP 5.3.8.
J'ai essayé de désactiver tous les autres plugins, mais le problème est toujours présent.
Avez-vous une idée de l'endroit où je pourrais trouver le problème?
Cela semble être un problème avec l'appel de fonction header('HTTP/1.1 200 OK')
dans le plugin SEO de Yoast qui n'est pas compatible avec la configuration de mon serveur (Nginx avec une configuration de sécurité à l'avant, puis Apache pour le traitement php).
D'une certaine manière, je ne comprends pas très bien, cet appel de fonction php forçait le serveur à envoyer un en-tête HTTP/1.1 avec un corps codé HTTP/1.0. La fin de l'en-tête de la réponse a donc été interprétée comme le début du corps.
Commander le problème que j'ai créé sur wordpress-seo github repo pour plus d'informations.