SPIP Forums

[ar] [ca] [cpf] [de] [en] [es] [fa] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (Système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.

Sujets : 22200 Sujets résolus :  40 %

47 visiteurs en ce moment


Accueil > Forums de discussion >  Création de squelettes > Problème de sitemap avec SPIP 3

Problème de sitemap avec SPIP 3 Résolu

par thierry - 8 août 2012 14:15 - Réponse(s) : 12

Bonjour,
j’ai récemment fait la migration de mon site de V2 en V3,
et je viens de m’apercevoir que le sitemap n’est plus digéré correctement par Google.
Dans Google webmaster, j’ai une erreur super claire dans la vérification du sitemap "Format de fichier non pris en charge".
J’ai testé mon sitemap V3 avec un autre site qui est toujours en V2, et là google, n’a pas de problème. D’autre part si je vais sur http://www.xml-sitemaps.com/validate-xml-sitemap.html pour tester mes 2 sitemaps, j’ai ok pour les 2.
Je n’ai pas vu de caractères spéciaux dans le fichier xml de la V3 susceptibles de poser problème.
J’ai également comparé les headers des 2 versions sur http://www.infowebmaster.fr/outils/entete-http.php, et là encore, les headers semblent identiques entre les 2 sites.
Bref, je sèche.

Quelqu’un aurait un problème similaire ? (avec la solution, c’est mieux)
ou un site permettant de vérifier le sitemap, façon Google mais avec un message plus clair que celui de Google ?


  • Précision : Aucun problème sur Bing.


  • < #2 > Problème de sitemap avec SPIP 3 ˆ
    par aleks - 8 août 2012 15:25

    Salut,

    Très bizarre... A tout hasard, le fichier est-il encodé en UTF-8 sans bom ? Le spip et la base sont en utf8 ?


  • Oui, le fichier est encodé en UTF-8 sans BOM,
    Le header contient ça

    HTTP/1.1 200 OK
    Date: Wed, 08 Aug 2012 14:09:56 GMT
    Server: Apache/2.2.14 (Unix)
    X-Powered-By: PHP/5.2.5
    Vary: Cookie,Accept-Encoding
    Composed-By: SPIP @ www.spip.net
    X-Spip-Cache: 0
    Cache-Control: no-cache, must-revalidate
    Pragma: no-cache
    Last-Modified: Wed, 08 Aug 2012 14:09:57 GMT
    Content-Type: text/xml; charset=utf-8
    Content-Language: fr
    Transfer-Encoding: chunked

    le fichier squelette est

    [(#REM)

            Exemple tres simple de sitemap.xml accessible via URL_SITE_SPIP/sitemap.xml
            (copier htaccess.txt en .htaccess pour en beneficier)

            Ce sitemap affiche la liste des rubriques, breves et articles, en se limitant a 1000 rubriques, 1000 breves et 2000 articles pour des raisons
            de performances.

            Duree de reindexation et priorite ne sont pas precisees,
            sauf pour l'accueil.

            Mais si date_modif est recente (1 jour) on l'indique, pour que ce
            soit reindexe en priorite

            (On pose un cache a zero pour echapper au test _IS_BOT)

    ]#CACHE{0}
    #HTTP_HEADER{Content-Type: text/xml; charset=utf-8}
    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
            <loc>#URL_SITE_SPIP/</loc>
       <priority>1.0</priority>
    </url>
    <BOUCLE_r(RUBRIQUES){!par date} {id_rubrique !IN 1,13,32,43,44,45} {0,1000}>[
    <url><loc>(#URL_RUBRIQUE|url_absolue)</loc><priority>0.8</priority></url>]</BOUCLE_r>
    [(#SET{recent,[(#VAL{Y-m-d H:i:s}|date{#VAL{"-1 day"}|strtotime})]})]
    <BOUCLE_a(ARTICLES){!par date_modif}{!par date}{id_rubrique !IN= 43,44} {0,2000}>[
    <url><loc>(#URL_ARTICLE|url_absolue)</loc>[(#DATE_MODIF**|>{#GET{recent}}
    |?{[<lastmod>(#DATE_MODIF**|date_iso)</lastmod>]})]<priority>0.6</priority></url>]</BOUCLE_a>
    <BOUCLE_b(ARTICLES){!par date}{id_rubrique = 44}{age<60} {0,2000}>[
    <url><loc>(#URL_ARTICLE|url_absolue)</loc>[(#DATE_MODIF**|>{#GET{recent}}
    |?{[<lastmod>(#DATE_MODIF**|date_iso)</lastmod>]})]<priority>0.4</priority></url>]</BOUCLE_b>
    </urlset>

    Le début du fichier XML, c’est

    <?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
            <loc>http://www.mydomain.com/</loc>
       <priority>1.0</priority>
    </url>

    <url><loc>http://www.mydomain.com/-rubrique1-.html</loc><priority>0.8</priority></url>
    ...
    <url><loc>http://www.mydomain.com/articlex.html</loc><priority>0.6</priority></url>
    ...
    <url><loc>http://www.mydomain.com/articley.html</loc><priority>0.4</priority></url>
    ...
    </urlset>

    Le site est en ISO-8859-1 mais au niveau du XML, ça ne change rien avec les URL propres2.
    Je n’ai rien changé au fichier sitemap.xml.html entre la V2 et la V3, mais alors qu’il fonctionne sans problème en V2, ça merdouille en V3, et seulement sur le Google webmaster.

    La seule différence au niveau du header, c’est le no-store en plus avec la V2
    Cache-Control : no-store, no-cache, must-revalidate

    Je vais bidouiller /ecrire/public/balises.php pour voir si ça pourrait venir de là.

    Edit : Bon, ça ne change rien avec le no-store.


  • < #4 > Problème de sitemap avec SPIP 3 ˆ
    par thierry - 2 octobre 2012 12:07

    Un petit up !
    Alors ? personne n’a eu le problème ? ou aurait une solution ?


  • < #5 > Problème de sitemap avec SPIP 3 ˆ
    par thierry - 2 octobre 2012 17:04

    ça y est, j’ai trouvé !
    Dans l’écran de sécurité, en ligne 259, il y a
    (function_exists('sys_getloadavg') AND $load = array_shift(sys_getloadavg()))
    or, sur mon hébergement (Amen WebPro+), la fonction sys_getloadavg() ne retourne pas un tableau, du coup, j’ai un warning sur le array_shift().
    Il suffit de mettre @array_shift(...) pour que googlebot ne s’en prenne plus plein la gueule.
    Mais bien sûr puisque la fonction ne fonctionne pas, autant définir _ECRAN_SECURITE_LOAD à 0.

    Edit :
    - Ce problème est actif sur toutes les pages, pas seulement sur la page sitemap, pour voir si vous avez le problème, le plus simple est d’installer le plugin User Agent Switcher pour Firefox et de se connecter à son site en tant que googlebot.
    - Sur la version 1.1.3 de l’écran de sécurité, c’est en ligne 283.


  • < #6 > Problème de sitemap avec SPIP 3 ˆ
    par troon - 18 février 2013 15:00

    merci, je venais de rencontrer le même problème et la modification sur l’écran de sécurité m’a été d’un grand service !

    l’écran de sécurité se trouve dans /config/ecran_securite.php pour ceux qui ne le sauraient pas.


  • m’enfin… elle retourne quoi du coup votre fonction sys_getloadavg() ?

    http://php.net/manual/fr/function.sys-getloadavg.php indique que ça retourne normalement TOUJOURS un tableau


  • < #8 > Problème de sitemap avec SPIP 3 ˆ
    par thierry - 23 février 2013 11:56

    false !
    Le problème a été corrigé (voir ici), mais la version 3.0.6 tarde à sortir.


  • Bonjour,

    Après certaines recherches j’arrive ici et je constate que le problème existe encore sur mon hébergement mutualisé OVH :

    <b>Strict Standards</b>:  Only variables should be passed by reference in <b>/homez.113/jefaisvo/www/config/ecran_securite.php</b> on line <b>283</b><br />
    ^

    Avez-vous des nouvelles sur la version 3.0.6 ?

    Ce message est fort bref car je pense qu’il faut que je remonte le problème mais je ne sais où :s


  • Bonjour,
    ce n’est malheureusement pas le même problème, en l’occurrence dans ton cas, tu es en mode E_STRICT et l’usage fait par le array_shift est incorrect (la fonction array_shift est censée modifier le contenu de la variable passée en paramètre, mais là, c’est pas possible puisque c’est une fonction).
    Ce que tu peux faire c’est :
    - Dans ton fichier php.ini, tu changes le error_reporting en error_reporting = E_ALL & E_NOTICE
    - Si tu es en mutualisé, je ne crois pas que tu as accès à ce fichier chez OVH, tu peux configurer ton fichier .htaccess comme c’est expliqué .
    - Si le problème c’est que tu es en version > 5.4.0 de php (ils ont changé les niveaux d’erreurs), tu peux aussi modifier le fichier spip.php en ajoutant au début avant le # Ou est l’espace privé ? une ligne qui contient

    1. error_reporting(E_ALL & ~(E_STRICT|E_NOTICE));

    - ou si t’en as rien à foutre du test de charge machine, tu peux aussi definir _ECRAN_SECURITE_LOAD à 0 (ecran_securite.php ligne 275).


  • Sinon, la nouvelle version contient les 2 correctifs (révision 19198 - problème php 5.4 - et 19945 - sys_getloadavg() ne renvoie pas un tableau -)
    Mais bon, je ne sais pas quand la nouvelle version va sortir, tu peux malgré tout la récupérer ici, ça corrige les problèmes et en même temps tu n’auras rien à faire de spécial lors de la prochaine mise à jour.


  • Bonjour Thierry et désolé pour ma lenteur à répondre (merci d’ailleurs pour ta rapidité).

    Tu as visé juste en parlant d’OVH, je n’étais pas au courant de l’activation du E_STRICT en 5.4.0. Le problème vicieux ici est que sitemap.xml accédé via un user-agent normal renvoie du contenu.
    Du coup malgré le fait que j’ai aussi E_STRICT en local, ça m’est passé complètement sous le nez.

    J’ai mis _ECRAN_SECURITE_LOAD à 0, car me passer des erreurs/warnings/notices me semblait "plus dangereux".

    Mais après réflexion, j’ai fait la mise à jour vers ecran_securité 1.1.5 ;)

    Encore merci pour ta réponse éclairée !


  •  


Répondre à la question

« Problème de sitemap avec SPIP 3 »

Mots-clés

Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :


Installation, mise à jour

Utilisation de l’espace privé

Administration, gestion, configuration du site

Créer ses squelettes

Qui êtes-vous ?

  • Tri multicritères ChampsExtras3

    par Teenoo
    18 avril 16:36

    Réponse(s) : 7

    Ah yé j’ai trouvé ! L’erreur était d’une bêtise... J’en ai honte ! Donc dans mon formulaire, j’ai changé le nom de mes variables à récupérer, elles ont la même sémantique que le champ extra à vérifier. Donc (...)

  • Un espace privé pour un travail collaboratif sur un site

    par Suske
    18 avril 14:11

    Réponse(s) : 1

    Plugin Accès retreint : http://plugins.spip.net/accesrestre...

  • niveau d'une rubrique

    par Xgenbooster
    17 avril 20:27

    Réponse(s) : 2

    En Effet, c’est bien ce que je cherchais. Par contre je dois définir la profondeur de la rubrique actuelle avant d’entrer dans mes boucles. avec #SET et #GET afin de pouvoir filtrer l’affichage plus (...)

  • mon premier squelette

    par YannX
    17 avril 15:15

    Réponse(s) : 2

    Bonjour, déjà il faut noter que ce tutoriel etait réalisé avec la version SPIP de l’epoque : une v2.0 ou 2.1.... les feuilles CSS ont changé ! Ensuite, tu veux modifier la taille du Logo du site : (...)

  • Filtre replace

    par drBouvierLeduc
    17 avril 14:38

    Réponse(s) : 1

    Bonjour, En expression régulière, la classe [:alpha:] représente les caractères alphabétiques. Donc en SPIP, ça donnerait ça : #SETregex,[[:alpha:]|][(#GETtexte|replace

  • Ajouter inserer_attribut à la balise #TRI

    par Chris
    16 avril 10:56

    Réponse(s) : 4

    Pour cette partie de l’exemple, les tris par défaut se font sur 3 champs différents. Le problème pour moi c’est que j’utilise 2 fois le champs date pour avoir les dates les plus récentes et les plus (...)

  • Afficher la date de dernière mise à jour du site

    par sgod
    16 avril 07:33

    Pas de réponse

    Bonjour, Je poste ici car les pistes trouvées en cherchant dans ce forum n’ont rien donné de concret... Je veux indiquer sur mon site la date la dernière mise à jour (sur les articles ou brèves (...)

  • Mosaïque d'images avec GD2 ?

    par Fa_b
    16 avril 00:21

    Réponse(s) : 1

    Tu peux aussi créer une page de vignettes classiques, que tu vas avec les css positionner en absolute height et width à 100% et avec un z-index bas. Puis mettre ta #page en relative avec un z-index (...)

  • target"_blank" dans un article spip ?

    15 avril 19:16

    Réponse(s) : 10

    Bonjour, merci pour cette info, mais mon souci c’est que l’image qui me sert de lien se trouve dans le portfolio de mon nivoslider et donc liens_ouvrant ne marche pas ! Merci tout de même. Une (...)

  • Afficher les rubriques dont les articles ont un mot clé

    par Moi Jean Michel
    15 avril 14:33

    Réponse(s) : 1

    Bonjour FredMast, dans ton cas, il y a probablement plusieurs solutions. Je t’en propose une. Le code suivant te permettra de récupérer le titre de chacune des rubriques du site contenant au (...)

  • tri multi critères champs extra 3

    par Teenoo
    15 avril 09:55

    Résolu - Réponse(s) : 4

    J’ai trouvé depuis la solution à mon problème, je ferai une petite contrib une fois le site mis en production.

  • variable spip et css

    par zatoune
    15 avril 09:50

    Pas de réponse

    Bonjour à tous, J’ai une rubrique qui affiche un certain nombre de vignettes, toutes cliquables vers un article différent ; mon souci est que chacune des vignettes est habillée par un style css (...)

  • Affichage des repères avec gis2 sur un spip en 2.1.10

    par Julo
    15 avril 09:31

    Pas de réponse

    Bonjour, Je souhaite afficher tous les repères de la rubrique 2 de mon site mais je n’y arrive pas. Avec ce code la carte s’affiche bien mais aucu point sur celle ci : (...)

  • changement style passages articles

    par Sylvine
    14 avril 16:43

    Résolu - Réponse(s) : 1

    C’est bon, j’ai la solution. J’ai mis des balises html et h4, h5,... avec le style associé dans mes feuilles css, pou éviter les doublons avec le p de spip.

  • Dysfonctionnement du critère id_rubrique dans une boucle DOCUMENTS

    par Moi Jean Michel
    14 avril 16:14

    Pas de réponse

    Bonjour, la version de SPIP avec laquelle je travaille est la 3.0.16. J’ai créé un modèle en vue de donner au client final la possibilité de glisser un slideshow ou il le souhaite au sein du champ (...)

  • boucle documents sans portfolio

    par adrienC
    14 avril 10:48

    Réponse(s) : 8

    Je pense que le site ne t’apprendra rien, car c’est un page simple avec un diapo et une liste de document (liste li par une boucle document), de plus le site n’est pas mis encore en ligne. Mais (...)

  • Problème de boucle

    par Moana
    11 avril 20:59

    Résolu - Réponse(s) : 2

    Merci de ta réponse Laure. Je n’ai pas réussi à mettre en place ton script, par contre j’ai mis en place le script suivant qui a l’avantage de fonctionner mais ce n’est pas souple, il doit sûrement y (...)

  • Plug in ancre douce.

    par casp
    11 octobre 2009 17:15

    Pas de réponse

    Bonjour, j’aimerai vraiment utiliser ce plugin .. mais dès que j’active ancre douce du couteau suisse. Mes ancres ne fonctionnent plus du tout :/ il ne se passe rien quand je clic dessus. Si je (...)

  • Conditions avec filtre match

    11 avril 09:58

    Résolu - Réponse(s) : 3

    Parfait ! Merci beaucoup !

  • #HTTP_HEADER et location, comment ajouter un argument stocké en #ENV ?

    par Pierre-Olivier Vares
    9 avril 12:27

    Réponse(s) : 2

    Pardon, il faut lire : [(#HTTP_HEADERlocation:#URL_ARTICLE&cible=#ENVcible]) et [(#HTTP_HEADERlocation:[(#URL_ARTICLE|parametre_urlcible,#ENVcible])])

  • Messages : 26736
  • 7586 44 %
  • Poser une nouvelle question

voir le squelette de cette page