Sitemap dynamique

WRInaute discret
Bonjour,

J'ai mis un sitemap dynamique sur mon site, grâce à un article que j'ai trouvé sur ce site. Cependant je m'appercois que ça peux poser des petits soucis.

Le site map est généré grâce aux pages visitées. Mais si par exemple je tape dans mon url : monsite.com?sdgffsddsf

Et bien mon sitemap générera cette url

qu'en pensez vous ?

Clara
 
WRInaute discret
Bonjour Clara,

Pourrais tu préciser de quel article il s'agit ?

@zeb: veux tu dire que la technique est risquée ?
 
WRInaute accro
Le site map est généré grâce aux pages visitées. Mais si par exemple je tape dans mon url : monsite.com?sdgffsddsf
Et bien mon sitemap générera cette url
Faut combien de temps pour pourrir le sitemap et ainsi pénaliser le site a ton avis ? C'est un bon truc a ranger dans les outils NSEO il me semble.
 
WRInaute accro
Je trouve personnellement la technique un peu pourrie.

Il y a à mon sens plusieurs cas de figure :

- site totalement statique -> Un sitemap.xml peut tout à fait être généré à la mano à chaque création de page, en utilisant un outil tiers. Voire il peut également être possible de créer un script dynamique pour inclure ces pages dans un fichier xml (ca ne demande pas de grosses compétences en dev)

- site dynamique, bâti sur un CMS connu -> à 99% du temps, il y a un plugin pour gérer le sitemap, si ce n'est pas déjà prévu nativement

- site dynamique bâti sur une techno propriétaire -> il faut envisager la création d'un script dédié. Mais en général, quand on part sur ce type de solution, on a soit en interne un webmaster qui connaît parfaitement son système (quand il ne l'a pas développé), soit un contrat de maintenance avec le presta qui a développé le site
 
WRInaute discret
@clara : merci pour le lien
@usagi : je vois que tu as participé à ce post en juillet 2011, veux tu dire que des adaptations du fait de l'arrivée de certains algos google s'imposent ? Dans ce cas sans rentrer dans le code, qu'est ce qui prose problème dans la méthode à laquelle se réfère Clara selon toi ?

En tout cas l'idée de créer un sitemap qui fait autre chose que lister simplement toutes les pages d'un site, et qui va soit indiquer les pages dernièrement crées ou les plus recherchées par les internautes a un intérêt.
En affirmant cela je fais référence au dernier paragraphe ce det article : "Intérêt des sitemaps" https://www.webrankinfo.com/dossiers/sitemaps/tutoriel-fichier-sitemap
notamment la fin :
"les sitemaps peuvent aider à accélérer l'indexation. Utilisez-les donc pour lister les dernières pages que vous avez publiées sur votre site ! [...] Pour ma part j'ai développé mes propres outils plus efficaces et surtout plus complets."

Certes j'interprête un peu mais bon
 
WRInaute accro
Drinato a dit:
les plus recherchées par les internautes a un intérêt.
Bah non, si ils les ont trouvées ces pages c'est qu'elles sont déjà indexés ou se trouve l'intérêt alors ?

C'est amusant le nombre de gens qui se focalisent sur le sitemap. Faut pas oublier que s'il présente des avantages liés a la vitesse d'indexation (qui présente plus ou moins d'intérêt en fonction du type de site), il ne présente en revanche aucun intérêt pour le visiteur qui lui a besoin de liens pour naviguer. Hors tant que vos pages sont liées les bots sont capables de trouver vos pages donc n'ont pas besoin de sitemap. De plus il y a des outils tels que les "ping" qui sont bien plus pratiques pour indiquer rapidement une maj de page autant qu'une création.

et pour reprendre la remarque judicieuse de UsagiYojimbo :
* Si le site est statique et lié un sitemap reviens a "pisser dans un violon"
* Si le site est un petit site (moins de 500 pages) dynamique ou pas idem
* Si le site est dynamique, un simple script ou plugin est largement plus efficace.

Notez aussi que c'est pas pour rien que les gros sites reprennent l'actu du site en home et sur les pages clés qui sont fortement crawlées ...

ça fait 10 ans que je me passe de sitemap et j'ai jamais eu de souci d'indexation rapide ou pas, le truc est d'avoir quelques chose a indexer souvent et là les moteurs savent faire le reste.
 
WRInaute discret
zeb a dit:
Drinato a écrit:les plus recherchées par les internautes a un intérêt.


Bah non, si ils les ont trouvées ces pages c'est qu'elles sont déjà indexés ou se trouve l'intérêt alors ?
ok c'était un racourci ... une technique consiste semble t il à mettre dans le header de la home un flux rss contenant les derniers produits / ou articles ajoutées et comme GWT accepte les rss en quise de sitemap je pose la question sur l'intérêt de cette pratique

Drinato a dit:
ça fait 10 ans que je me passe de sitemap
Pareil pour moi pour le moment

Drinato a dit:
Si le site est dynamique, un simple script ou plugin est largement plus efficace
Peux tu développer ?

zeb a dit:
De plus il y a des outils tels que les "ping" qui sont bien plus pratiques pour indiquer rapidement une maj de page autant qu'une création.
pareil, que conseilles tu à ce niveau ?
 
WRInaute accro
Se baser sur la navigation pour construire un xml de type sitemap alors qu'une requête sur la base de données d'un site dynamique le fait aussi bien est pas cohérent. de plus les scripts "maison" ou les plugins capables de générer un sitemap sont toujours à jour avec les dernières pages publiés (c'est vis a vis de la technique proposée que je dis cela).

Pingomatic peut être sollicité via un simple script côté serveur et un bouton qui le sollicite en ajax par exemple. J'ai ça sur toutes les pages de mes sites dans le front office. Bref quand je publie une nouvelle page ou que j'en met une a jour un simple clic et tous le monde est prévenu y compris les moteurs. Du coup le sitemap .... 8)

coté serveur :
PHP:
<span class="syntaxdefault"><?php<br />     header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'Content-type: text/html; charset=iso-8859-1'</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">     pingomatic</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">urldecode</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">]),</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'url'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">    <br />    function pingomatic</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$title</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$url</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">        $content</span><span class="syntaxkeyword">=</span><span class="syntaxstring">'<?xml version="1.0"?>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'<methodCall>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">' <methodName>weblogUpdates.ping</methodName>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'  <params>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'   <param>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'    <value>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$title</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</value>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'   </param>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'  <param>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'   <value>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$url</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</value>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'  </param>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">' </params>'</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">            </span><span class="syntaxstring">'</methodCall>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">     <br />        $headers</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"POST / HTTP/1.0\r\n"</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)\r\n"</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">"Host: rpc.pingomatic.com\r\n"</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">"Content-Type: text/xml\r\n"</span><span class="syntaxkeyword">.<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">"Content-length: "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">strlen</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$content</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">     <br />        $request</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">$headers</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"\r\n\r\n"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$content</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        $response </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        $fs</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">fsockopen</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'rpc.pingomatic.com'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">80</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $errno</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $errstr</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">        if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$fs</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            fwrite </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$fs</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> $request</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            while </span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">feof</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$fs</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> $response </span><span class="syntaxkeyword">.=</span><span class="syntaxdefault"> fgets</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$fs</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            echo </span><span class="syntaxstring">"<xmp>"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$response</span><span class="syntaxkeyword">.</span><span class="syntaxstring">"</xmp>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            fclose </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$fs</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">            return</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> else </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">            echo </span><span class="syntaxstring">"<xmp>"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$errstr</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" ("</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$errno</span><span class="syntaxkeyword">.</span><span class="syntaxstring">")</xmp>"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">            return</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">        </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">?></span>

coté web via un onclick sur un <input type="button" onclick="pingPage();" value="Ping" /> :
Code:
	  functionpingPage(){
	 		var xhr=null;
	 		if (window.XMLHttpRequest) { 
	 			xhr = new XMLHttpRequest();
	 		}
	 		else if (window.ActiveXObject) {
	 			xhr = new ActiveXObject("Microsoft.XMLHTTP");
	 		}
	 		xhr.open("GET", "http://www.example.com/ajax/ping.php?title=Mon+titre+de+page&url=http://www.example.com/dossier/ma-page.php", false);
	 		xhr.send(null);
	 		// affiche la réponse
	 		alert(xhr.responseText);
	  }
 
WRInaute discret
zeb a dit:
Se baser sur la navigation pour construire un xml de type sitemap alors qu'une requête sur la base de données d'un site dynamique le fait aussi bien est pas cohérent. de plus les scripts "maison" ou les plugins capables de générer un sitemap sont toujours à jour avec les dernières pages publiés (c'est vis a vis de la technique proposée que je dis cela).

Si je comprends bien tu dis qu il faut générer dynamiquement le sitemap.Je ne comptais pas le faire à la main :) donc on est d'accord là dessus.

Aujourd'hui je n'ai pas de sitemap et google me crawl bien, mais parfois inutilement, en effet il crawl parfois des pages qui n'ont pas bougées, au lieu de crawler mes pages mises à jour. D'ou mon "idée" de créer dynamiquement 2 sitemap ou rss (avec un sript maison) que je soumets à gg: 1 avec mes derniers ajouts ou modifications et 1 avec les pages issues des recherches mais ou je controle a validité de l'url et l'inicité avant de l'ajouter au sitemap. Qu'en penses tu ?

zeb a dit:
Pingomatic peut être sollicité via un simple script côté serveur et un bouton qui le sollicite en ajax par exemple. J'ai ça sur toutes les pages de mes sites dans le front office. Bref quand je publie une nouvelle page ou que j'en met une a jour un simple clic et tous le monde est prévenu y compris les moteurs. Du coup le sitemap .... 8)

Merci pour le script c'est intéressant, l'as tu testé sur un site ou bcp de pages sont modifiées ou ajoutées chaque jour ? Dans ce cas j'imagine qu'il faut pinguer une seule fois et il doit y avoir moyen de joindre un rss avec toutes les url modifiées/ajoutées au lieu de signaler une seule page ?
 
WRInaute accro
google me crawl bien, mais parfois inutilement
ça, a mon avis tu n'y changera rien sitemap ou pas.
l'as tu testé sur un site ou bcp de pages sont modifiées ou ajoutées chaque jour ?
oui mais faut pas faire ça sur un forum a forte fréquentation comme ici car l'interval de ping pour une page est d'environ 5mn, mais ce type de page est bien connue de GG qui sait très bien repasser quand il faut.
moyen de joindre un rss avec toutes les url modifiées/ajoutées au lieu de signaler une seule page ?
bah c'est toute la différence entre le sitemap et le ping. Ping cas isolé (nombreux ou pas), sitemap groupe de page a prendre en compte.
 
WRInaute discret
ok merci, alors si j'ai 5000 ping à faire pour des pages différentes en une journée ca fait trop j'imagine
dans ce cas que faut il faire :
1)il ne faut pas le faire du tout (pour aucune des pages)
2)il ne faut pas le faire de façon simultané
3) il faut sélectionner les pages les plus importantes uniquement, quelle est la limite (combien de ping en meme tps) et combien au max par jour ?
4)autre ?
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut