Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Auteur : Neal Poole (Smartys) (Voir la version originale)
Traducteur : yemgi
Crée un fichier sitemap de vos sujets et forums pour Google Sitemaps
Hors ligne
Pourrait-on avoir un aperçu ??
(parce que là, je vois pas trop ce que ça veut dire^^)
Dernière modification par BN (24-06-2006 21:33:36)
Hors ligne
il n'y a pas d'aperçu à voir car cette mod permet de générer un fichier qui sera lu par les robots Google du programme sitemap de Google
Hors ligne
Comme l'a dit vin100, ce plugin génère un fichier xml qui est analysé par le programme Google Sitemaps. Il est possible de voir ce fichier en entrant l'url du fichier sitemap.php si on a choisi une génération dynamique
Hors ligne
même chose que pour la mod de détection de robot, ce n'est pas un plugin même si pour le coup il n'y a pas de modifs à appliquer aux forums
je le met dans "Autres vues" à défaut d'avoir mieux
Hors ligne
Ce script ne fonctionne hélas pas avec un site comportant la mod rewrite.
Ou du moins, le script ne tiens pas compte de l'url rewriting.
Ne pas l'utiliser avec des forums rewrités car cela créerait des incohérences pour les robots.
----------
RVB - Aviation & Maquettisme
Hors ligne
Justement, y a pas une âme charitable codeuse pour le rendre compatible mod rewrite ? 
Apparemment ce n'est que deux ligne de code qu'il faut changer, mais je m'y suis cassé le nez.. aïe !
Hors ligne
Alors le sitemap rewrité compatible PunOogle doit être ça :
<?php
define('PUN_QUIET_VISIT', 1);
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
// false = écriture dans un fichier, true = affichage dynamique
$dynamic = true;
// Nom du fichier destination, utilisé uniquement si $dynamic=false
$filename = 'sitemap.xml';
// Récupération des topics
$result = $db->query('SELECT t.id as topic_id, subject, last_post, sticky, num_replies FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=t.forum_id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY last_post DESC') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());
// Récupération des forums
$result2 = $db->query('SELECT f.id as forum_id, forum_name, last_post, num_topics FROM '.$db->prefix.'forums AS f LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY f.id DESC') or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());
$output = '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$output .= '<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">'."\n";
// Le forum
$output .= "<url>\n";
$output .= "\t<loc>".$pun_config['o_base_url']."/</loc>\n";
$output .= "\t<lastmod>".gmdate('Y-m-d\TH:i:s+00:00', time())."</lastmod>\n";
$output .= "\t<priority>1.0</priority>\n";
$output .= "</url>\n\n";
// Création des informations sur les forums
while ($cur_forum = $db->fetch_assoc($result2))
{
$lastmodified = gmdate('Y-m-d\TH:i:s+00:00', $cur_forum['last_post']);
$viewforum = 'forum-'.$cur_forum['forum_id'].'-'.pun_url($cur_forum['forum_name']);
$priority = '1.0';
$output .= "<url>\n";
$output .= "\t<loc>".$pun_config['o_base_url']."/".$viewforum."</loc>\n";
$output .= "\t<lastmod>$lastmodified</lastmod>\n";
$output .= "\t<priority>$priority</priority>\n";
$output .= "</url>\n\n";
if ($cur_forum['num_topics'] >= $pun_config['o_disp_topics_default'])
{
$num_pages = ceil($cur_forum['num_topics'] / $pun_config['o_disp_topics_default']);
//Ajoute les numéros de pages pour les pages suivantes
for ($i = 2; $i <= $num_pages; $i++)
{
$output .= "<url>\n";
$output .= "\t<loc>".$pun_config['o_base_url']."/".$viewforum."&p=".$i."</loc>\n";
$output .= "\t<lastmod>$lastmodified</lastmod>\n";
$output .= "\t<priority>$priority</priority>\n";
$output .= "</url>\n\n";
}
}
}
// Création des informations sur les sujets
while ($cur_topic = $db->fetch_assoc($result))
{
$lastmodified = gmdate('Y-m-d\TH:i:s+00:00', $cur_topic['last_post']);
$viewtopic = 'sujet-'.$cur_topic['topic_id'].'-'.pun_url($cur_topic['subject']);
$priority = ($cur_topic['sticky'] == '1') ? '1.0' : '0.5';
$output .= "<url>\n";
$output .= "\t<loc>".$pun_config['o_base_url']."/".$viewtopic."</loc>\n";
$output .= "\t<lastmod>$lastmodified</lastmod>\n";
$output .= "\t<priority>$priority</priority>\n";
$output .= "</url>\n\n";
if ($cur_topic['num_replies'] >= $pun_config['o_disp_posts_default'])
{
// On ajoute 1 car le 1er message n'est pas compté comme une réponse alors qu'il faut
// le prendre en compte pour l'affichage
$num_pages = ceil(($cur_topic['num_replies'] + 1) / $pun_config['o_disp_posts_default']);
for ($i = 2; $i <= $num_pages; $i++)
{
$output .= "<url>\n";
$output .= "\t<loc>".$pun_config['o_base_url']."/".$viewtopic."&p=".$i."</loc>\n";
$output .= "\t<lastmod>$lastmodified</lastmod>\n";
$output .= "\t<priority>$priority</priority>\n";
$output .= "</url>\n\n";
}
}
}
$output .= "</urlset>\n";
// Si on choisit Dynamic, on affiche le sitemap
// Sinon, on l'écrit dans le fichier
if ($dynamic)
{
header('Content-type: application/xml');
echo $output;
}
else
{
$file = fopen($filename, "w");
fwrite($file, $output);
fclose($file);
echo "Done";
}
?>Hors ligne
Lu tout le monde,
Y'a t'il des news pour savoir si le plugin fonctionne avec des forums rewrités.
Est-ce que le sitemap est mis à jour à chaque post d'un article ou à chaque création d'une rubrique ?
Amicalement,
Rémy
Hors ligne
Est-ce que le sitemap est mis à jour à chaque post d'un article ou à chaque création d'une rubrique ?
Le mode "dynamique" (en mettant la vriable à true) permet cela.
Pour l'url-rewrite, il faut le faire soi-même (ça dépend de l'url-rewrite choisi).
Hors ligne
Je viens d'installer ce module, mais je ne suis pas bien sûre de la stratégie à adopter ... 
- en mode dynamique, le sitemap est mis à jour à chaque nouveau post ... mais il est stocké nulle part ? Comment est-il donc utilisé ?
- en mode statique, il faut le créer soi-même en exécutant sitemap.php puis soumettre le .xml correspondant ? Il faut lancer l'exécution manuellement à chaque fois ?
J'ai vu que Google acceptait les flux RSS comme sitemap. Est-ce à dire que, une fois un premier sitemap initial soumis, toutes les mises à jour ultérieures peuvent être prises en charge par rss.php ? ... auquel cas l'extension devient inutile ?
Désolée pour cette foule de questions en un seul post, mais je suis un peu perplexe sur le mode de fonctionnement de "la chose" et j'aimerais pouvoir l'utiliser au mieux (un forum qui démarre, c'est pas forcément facile à faire référencer
)
Merci pour votre aide.
Hors ligne
Salut Tosca,
- en mode dynamique, le sitemap est mis à jour à chaque nouveau post ... mais il est stocké nulle part ? Comment est-il donc utilisé ?
A chaque passage de google, le fichier va piocher dans la bdd et ressortira les donnés les plus récentes. Pas besoin de stockage, le script va piocher dans les topics déjà stockés.
- en mode statique, il faut le créer soi-même en exécutant sitemap.php puis soumettre le .xml correspondant ? Il faut lancer l'exécution manuellement à chaque fois ?
Le mode statique permet de gagner en ressource et ceux afin d'éviter de faire des appels à la bdd à chaque passage de google, le hic, c'est qu'il faut le tenir à jour manuellement.
J'ai vu que Google acceptait les flux RSS comme sitemap. Est-ce à dire que, une fois un premier sitemap initial soumis, toutes les mises à jour ultérieures peuvent être prises en charge par rss.php ? ... auquel cas l'extension devient inutile ?
Bah non, le script est toujours utile, tout dépend du fichier que tu laisse en lien sur google sitemap.
Attention, google n'aime pas trop les doublons, donc il est préférable de ne pas lui laisser des liens qui pointent sur des fichiers avec des sorties similaires.
Cette mod fonctionne très bien et est encore utilisable...
Je ne sais pas si j'ai pu t'avancer, mais n'hésite pas si tu as d'autre questions 
[img]http://blog.ludikreation.com/wp-content/ban_fofo_ludikreation_400.png[/img]
[img]http://www.chaodisiaque.com/files/123084651278515/1230938952-41022.png[/img]
[img]http://www.chaodisiaque.com/files/123084651278515/1230938980-40906.png[/img]
[img]http://blog.ludikreation.com/wp-content/themes/mag-style/images/ico.png[/img] MyReferencing
Hors ligne
Merci pour ces réponses ... qui appellent quelques questions subsidiaires 
A chaque passage de google, le fichier va piocher dans la bdd et ressortira les donnés les plus récentes. Pas besoin de stockage, le script va piocher dans les topics déjà stockés.
Dois-je comprendre que lors du passage de Google, le script se lance tout seul sans qu'on ait besoin de rien lui dire ?
C'est magique ?
Là je l'ai mis en statique pour obtenir le .xml que j'ai soumis manuellement ; je pourrais donc le repasser en dynamique, et ne plus m'occuper de rien d'autre ?
Je ne sais pas si j'ai pu t'avancer, mais n'hésite pas si tu as d'autre questions
En réponse à la soumission du flux RSS, j'obtiens cet avertissement :
Fichier XML incorrect : nombre de balises trop important
Nombre trop important de balises décrivant cette balise. Corrigez le problème et réessayez. Aide Aide Balise parent :
Tag :
Problème détecté le : channel
link
21 déc. 2008Si le sitemap fait tout le boulot, je vais pouvoir retirer le flux rss, mais pour mon information personnelle, j'aimerais quand même comprendre ce qui cloche.
Hors ligne
Dois-je comprendre que lors du passage de Google, le script se lance tout seul sans qu'on ait besoin de rien lui dire ? roll C'est magique ?
Là je l'ai mis en statique pour obtenir le .xml que j'ai soumis manuellement ; je pourrais donc le repasser en dynamique, et ne plus m'occuper de rien d'autre ?
Oui, c'est tout à fait ça 
Concernant ton pb avec le flux, je ne peux pas trop te répondre étant donné que je préfère utiliser un flux xml adapté pour du sitemap pour soumettre un sitemap et que le flux rss je l'utilise pour ce à quoi il est destiné : du flux rss.
Voilou 
[img]http://blog.ludikreation.com/wp-content/ban_fofo_ludikreation_400.png[/img]
[img]http://www.chaodisiaque.com/files/123084651278515/1230938952-41022.png[/img]
[img]http://www.chaodisiaque.com/files/123084651278515/1230938980-40906.png[/img]
[img]http://blog.ludikreation.com/wp-content/themes/mag-style/images/ico.png[/img] MyReferencing
Hors ligne
Eh bien, merci beaucoup pour tes explications.
J'ai repassé le mod en dynamique, et supprimé les flux rss des outils Google.
A une prochaine 
Hors ligne
Bonjour,
Je viens d'installer ce mod.
Rien à signaler mais j'ai cependant 2 questions :
1) Comment être sûr que tous les postes sont dans le sitemap ?
2) Le sitemap ressemble à ça :
<url>
<loc>
http://www.la-genealogie-entre-amis.com … c.php?id=3
</loc>
<lastmod>2008-01-15T20:36:04+00:00</lastmod>
<priority>0.5</priority>
</url>
Qu'est ce qui apparaitera dans google : le titre du post ou l'adresse avec 'viewtopic.php?id=3' ?
Merci et à bientôt,
Alexis
Dernière modification par tab59 (27-01-2009 19:48:39)
Hors ligne
Bonjour,
Je viens d'installer ce mod, mais contrairement à la préconisation du fichier lisez-moi, le fichier sitemap.php, fait plus de 200 ko.
voila ce qui est dit dans ce mod:
Ceci ne soumet pas votre site à Google Sitemaps, c'est à vous de le faire
## Par ailleurs, Google ne regarde pas les URLs de plus de 50ko donc
## si vous avez plus de 50ko de sujets et forums, il vous faudra modifier cette mod.
Suis-je ceertain que toutes les pages vont etre lues?
Sinon, que faire ?
Merci d'avance,
frami
Hors ligne
Bonjour,
Je viens d'installer ce mod.
Rien à signaler mais j'ai cependant 2 questions :
1) Comment être sûr que tous les postes sont dans le sitemap ?
2) Le sitemap ressemble à ça :<url>
<loc>
http://www.la-genealogie-entre-amis.com … c.php?id=3
</loc>
<lastmod>2008-01-15T20:36:04+00:00</lastmod>
<priority>0.5</priority>
</url>Qu'est ce qui apparaitera dans google : le titre du post ou l'adresse avec 'viewtopic.php?id=3' ?
Merci et à bientôt,
Alexis
1/ Le sitemap va chercher TOUS les topics (visibles pour les invité il me semble) donc tu n'a rien a faire 
2/ Ca dépend de la recherche, Google sais comment traiter ces infos
Il faut savoir que cet outils va juste dire a Google: va voir ce topic stp t'y est jamais allé, ou il a changé depuis ton dernier passage.
(En très simplifié)
@Frami, j'avais un fichier de +de 100Ko, il a fallut du temps, mais google a tous regardé...
Hors ligne

- cette soi-disant "limitation" me semble périmée (mais je n'ai pas d'infos précise sur le sujet...).
- en revanche, il est clair que Google n'indexe PAS FORCEMENT TOUTES les pages fournies dans le sitemap, mais je ne crois pas qu'il s'agit d'une limitation de taille du fichier lui-même. L'algorithme est complexe et doit tenir compte de nombreux paramètres...
Il est possible par exemple d'avoir la page 10 d'un topic indexée et pas la page 11. Pourquoi ? je ne sais pas...
Hors ligne