Créer un sitemap sans plugin avec WordPress

Un plan de site – sitemap en anglais, est très utile pour vos visiteurs et les moteurs de recherche qui visualisent en un coup d’œil la structure de votre site. Avec WordPress, quelques lignes de code suffisent en utilisant les modèle de pages.

N.B : ce tutoriel a été mis à jour le 21/11/2012. Le principe expliqué dans la vidéo ne change pas pour autant, seuls les codes sources font l’objet d’évolutions importantes.

Étape n°1 – Création du modèle de page PHP

A l’aide du Bloc-note de votre choix, créez un nouveau fichier que vous intitulerez template-sitemap.php. Si vous le pouvez, optez pour un encodage UTF-8 pour une meilleure compatibilité.

Collez dans un premier temps les lignes de code suivante :

<?php
/*
Template Name: Sitemap
*/
?>

Elles indiquent le nom du modèle de page qui sera affiché dans l’outil de création de pages de WordPress.

Ensuite, nous allons reconstituer la structure de la page. Cette structure est facile à reprendre car il suffit d’ouvrir le fichier page.php et dans coller la structure conformément au thème. Au minimum, il nous faut au moins récupérer l’en-tête :

<?php get_header(); ?>

Pour finir, copiez / collez les lignes de code PHP suivantes :

<div id="content">
<h2><?php _e('Pages', 'textdomain'); ?></h2>
<ul><?php wp_list_pages("title_li=" ); ?></ul>
<h2><?php _e('RSS Feeds', 'textdomain'); ?></h2>
<ul>
<li><a title="Full content" href="feed:<?php bloginfo('rss2_url'); ?>"><?php _e('Main RSS' , 'textdomain'); ?></a></li>
<li><a title="Comment Feed" href="feed:<?php bloginfo('comments_rss2_url'); ?>"><?php _e('Comment Feed', 'textdomain'); ?></a></li>
</ul>
<h2><?php _e('Categories', 'textdomain'); ?></h2>
<ul><?php wp_list_categories('sort_column=name&optioncount=1&hierarchical=0&feed=RSS'); ?></ul>
<h2><?php _e('All Blog Posts', 'textdomain'); ?></h2>
<ul><?php $archive_query = new WP_Query('showposts=1000'); while ($archive_query->have_posts()) : $archive_query->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a>
(<?php comments_number('0', '1', '%'); ?>)
</li>
<?php endwhile; ?>
</ul>
</div>
<?php get_footer(); ?>

Dans un souci d’internationalisation de votre thème, il est important de spécifier le textdomain par celui correspondant à votre thème. Vous le retrouverez directement dans l’en-tête de la feuille de styles ou dans la plupart des fichiers PHP.

Envoyez à présent le fichier dans le dossier de votre thème localisé dans /wp-content/themes/NOM_DU_THEME/

Étape n°2 – Création de la page Sitemap

Rendez-vous maintenant dans l’administration de votre site WordPress puis créez une nouvelle page via le menu Pages puis Ajouter.

Commencez par lui donner un nom. Par exemple, Plan du site.

Dans la section Attributs, déroulez la liste des modèles de page puis indiquez Sitemap. Il s’agit bien du nom que nous avons fourni dans le fichier template-sitemap.php.

Capture d'écran - Définition d'un modèle de page Plan du site
Le modèle de page Sitemap utilisera donc le code du fichier sitemap.php

Faites donc Publier puis visualisez la page pour constater le résultat.

Très important, le plan du site est un élément important de votre stratégie de référencement mais également pour permettre à vos visiteurs de se localiser sur votre site. Et vous amis lecteurs, avez-vous créé votre plan de site ?

Crédits photo : boxman

160 commentaires

  1. Mealin

    Je pense que je vais m’y mettre quand j’aurais un peu de temps demain…

    Au niveau référencement c’est sensé être mieux que le fameux pluggin Google XML Sitemaps ? Peuvent-ils fonctionner de concert ou risque-t-on un quelconque duplicate contents ?

    Article utile et clair en tout cas !

    1. Helene

      Bonjour,

      Personnellement, j’aurais plus fait un rapprochement avec Dagon Design Sitemap Generator.
      Est-il envisageable d’en prendre une partie pour personnaliser la page erreur 404?

      Heu, vous êtes chez quel hébergeur??? J’ai un gros soucis avec le mien
      Merci d’avance

      1. Aurélien Denis auteur de l’article

        Je suis chez Mavenhosting qui est mon hébergeur favori !

        Je ne comprends pas bien le rapport avec la page d’erreur 404 qui peut être crée manuellement.

        En effet, je n’ai pas évoqué l’utilisation de plugins… mais c’était bien le but de l’article !

    2. Aurélien Denis auteur de l’article

      Pour moi les 2 plugins doivent fonctionner en parallèle. Un fichier XML Sitemap n’est pas du tout conçu de la même manière et contient d’autres informations (notamment les fréquences de mises à jour, etc.).

      Côté référencement, les 2 solutions sont bénéfiques.

  2. Helene

    Mavenhosting…..déjà lu ce nom-là. Je ne vais pas tarder du tout à voir ça
    je ne peux notamment même pas faire de sauvegarde de base de données quotidienne, à moins de passer su serveur.
    Mon blog pèse lourd et impossible de compresser…………tout ça découvert récemment

    Sinon, pour la page 404, pour la personnaliser. J’y affiche à l’heure actuelle mes 50 derniers articles

    Là par exemple, je cherche juste une ligne de code pour afficher les articles relatifs.
    Simple tags est très très bien mais trop lourd. Je pensais trouver une simple ligne de code, comme celle-là par exemple:

    Mes connaissances sont juste un poil limitées

    1. Helene

      Hum, j’avais collé une ligne de code mais elle n’a ps été prise en compte
      ce n’est pas grave, mais c’est pour expliquer qu’il n’y ait rien après
      Simple tags est très très bien mais trop lourd. Je pensais trouver une simple ligne de code, comme celle-là par exemple:

      1. Aurélien Denis auteur de l’article

        Pour la ligne de code, il faut l’insérer entre les balises code comme indiqué au-dessus de la zone de commentaires.

        Sinon, tu peux me l’envoyer par le formulaire de contact.

        Pour afficher les articles relatifs, j’ai récemment découvert le plugin WordPress 23 Related Posts qui permet de lister les articles relatifs via une simple commande PHP et sans qu’il n’y ait trop d’options de configuration. Gros avantage : on peut choisir parmi la liste des champs personnalisés pour afficher une miniature.

    2. Helene

      Je suis partie, pour d’autres sites sur plantehoster.
      Faudra que je revienne ici pour ce type de plan.
      Mais Dagon design fait du bon boulot…..
      Je ne pense pas que ce soit le plugin le plus lourd.
      Mais bon, chacun son truc.

  3. Mealin

    C’est fait ! Aucun problème pour le tuto, reste à le personnaliser un peu si j’ai le temps …

    Merci les gars !

  4. Thierry Benquey

    Bjour
    Mis en place, fonctionne agréablement et légèrement.
    Remerciements du fond du cœur.
    Amitié
    Thierry

  5. DavidT

    Bonjour,

    J’ai suivi ce tuto, mais j’ai une erreur : serait-il possible que cela ne fonctionne plus une fois activé le multi-site de wp3 ?
    En tout cas Google XML Sitemaps ne fonctionne plus

    1. Aurélien Denis auteur de l’article

      Quelle est ton erreur ?

      Normalement, Google XMl Sitemaps fonctionne avec WordPress 3.0… du moins chez moi c’est côté avec WordPress multi-site.

      1. DavidT

        Voilà le code de mon erreur lorsque j’essaie d’ouvrir la page :
        Parse error: syntax error, unexpected $end in /homez.53/hoteldeb/www/affiliation-systeme.com/www/wp-content/themes/twentyten/sitemap.php on line 32

        1. Mealin

          Je confirme que googlexml sitemap fonctionne avec donc je dirais plutôt un petit problème dans ton fichier sitemap.php

          un  » qui manque ou en trop ?
          mais rien d’insoluble

      2. Benji

        Bonjour,

        J’ai suivi ce tuto et j’ai eu la même erreur que DavidT. Sous dream if have_posts() : se met en rouge. Ce qui est dingue c’est que j’ai regardé sur la page d’index, c’est exactement le même code et pourtant pas d’erreur… est-ce que vous auriez une idée, c’est super bizarre que ça marche chez certains et d’autres non.

          1. Benji

            Oups, ça n’a pas marché:
            if (have_posts()) :
            while (have_posts()) : the_post();
            /* A ajouter */ endwhile; endif

  6. Didou

    Super tutoriel !
    Par contre j’ai le même souci que DavidT…sauf que je suis toujours en train de courrir après mon unespected $end… php et moi on est pas encore très intime..lol

    merci d’avance pour le coup de main !!

      1. David

        Il fonctionne en effet très bien, je n’arrivai pas car je n’intégrait pas correctement vos bouts de codes dans le code page copié-coller.

        Maintenant que je suis plus à l’aise avec WordPress, c’est passé tout seul

        Merci Aurélien.

        David.

    1. Atorgael

      Il manque surement un :

      pour fermer le bloc de code :

      Présent dans le fichier page.php et non repris ici.

      Merci pour ce tuto en tout cas !

  7. yazhou

    Bonjour,

    si on veux absolument qu’une catégorie ou page n’apparaisse pas que doit ton ajouter ?

    merci

  8. DH

    Bonjour et merci pour l’article.

    Après quelques péripéties j’ai réussi à le faire fonctionner. Seulement il ne m’affiche que seulement 5 articles par cétagorie alors qu’il y en a une trentaine parfois. Sauriez-vous pourquoi ?

    Merci par avance.

  9. DH

    En fait pour que ça fonctionne comme il faut j’ai du copier la totalité de mon page.php, inclure le code PHP que vous fournissez à l’intérieur de la section dédiée à l’article mais oter la partie « affichage de l’article » (sinon après le plan il m’afficher le dernier article du plan…).

    Du coup ce chiffre 5 est peut-être dû au fait que mon blog n’affiche que 5 article par page. Mais je cherche dans le page.php quelle est la ligne qui fait ça.

    1. Aurélien Denis auteur de l’article

      Pour afficher la totalité des articles par catégorie, il faut modifier le code relatif par :

      <h3>Articles par catégories</h3>
      <?php $saved = $wp_query;
      $cats = get_categories();
      foreach ($cats as $cat) {
      query_posts(‘showposts=999&cat=’.$cat->cat_ID);
      ?>

      Le paramètre showposts fixe la limite du nombre d’article. En indiquant 999 tu es tranquille pour un moment.

      Tu peux donc restaurer tes différents fichiers PHP et reprendre les lignes de code du tutoriel.

      Et merci de ton commentaire ! Je vais modifier l’article en conséquence.

  10. Maître Mô

    Bonjour,

    J’utilise actuellement le plugin Dragon Sitemap, mais effectivement, votre script donne exactement la même chose, du coup en plus léger et en interne : que du bonheur…

    En revanche, il m’intéressait quant à moi, qui à « faire » un poil de code, d’obtenir , en plus de la liste par catégories, la liste de mes articles dans l’ordre chronologique (du plus récent au plus ancien), et tant qu’on y est avec pour chaque mention de ses catégorie, date, auteur, et nombre de coms…

    J’ai essayé cette nuit plusieurs combinaisons, tant avec query_post que get_post, mais je n’arrive pas à obtenir un truc propre avec toutes les infos souhaitées : je sais que c’est vous demander carrément un bon bout de code, mais auriez-vous une idée, d’abord de la fonction à utiliser, et ensuite de la façon de récupérer ces paramètres ?

    Merci d’avance pour votre éventuelle réponse !

      1. Maître Mô

        Je vois qu’on doit mal déjeuner tous les deux : merci, Aurélien, de ta réponse et de sa rapidité !

        J’avais loupé cet autre article, je vais regarder ça de plus près, et tâcher de récupérer tous mes petits détails… (Je t’avais déjà également piqué le nombre de commentaires, effectivement !)

        Merci encore – quand ce sera fini, vers 2012, je poste le code ici !

  11. olivier

    Hello ils se trouve que j’ai aussi une erreur : syntax error, unexpected $end in…

    J’ai bien contrôlé mon code et il me semble qu’il ne manque rien ?
    à tout hasard le voici, peut-être ai-je oublié un point ou une virgule ? merci bcp pour l’aide.

    <?php
    /*
    Template Name: Sitemap
    */
    ?>
    <?php get_header(); ?>
    <?php include (TEMPLATEPATH . ‘/sidebar_l.php’); ?>
    <div id= »content »>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    <h3><?php _e(‘Pages’) ?></h3>
    <ul>
    <?php wp_list_pages(‘depth=0&sort_column=menu_order&title_li=’ ); ?>
    </ul>
    <h3><?php _e(‘Catégories’) ?></h3>
    <ul>
    <?php wp_list_categories(‘title_li=&hierarchical=0&show_count=1’) ?>
    </ul>
    <h3>Articles par catégories</h3>
    <?php $saved = $wp_query;
    $cats = get_categories();
    foreach ($cats as $cat) {
    query_posts(‘showposts=999&cat=’.$cat->cat_ID);
    ?>
    <h4><?php echo $cat->cat_name; ?></h4>
    <ul>
    <?php while (have_posts()) : the_post(); ?>
    <li style= »font-weight:normal !important; »><a href= »<?php the_permalink() ?> »><?php the_title(); ?></a> – <?php _e(‘Commentaires’) ?> (<?php echo $post->comment_count ?>)</li>
    <?php endwhile; ?>
    </ul>
    <?php } $wp_query = $saved; ?>

    </div>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>
    

    1. Aurélien Denis auteur de l’article

      Si tu as recopié le code du tutoriel, tout devrait fonctionner à merveille…

      Il faudrait que tu t’aides du message d’erreur pour localiser la ligne fautive. Dépanner à l’aveuglette sans même l’URL… c’est un « peu » dur quand même !

      1. olivier

        hello oui effectivement désolé :
        l’url de mon sitemap est : http://gca.numero7.ch/sitemap

        par contre pour le message d’erreur, il me donne toujours la dernière ligne de mon code comme référence.
        Je me demande si ce n’est pas un problème avec le header et footer…

    2. Atorgael

      Il manque le : endwhile; endif;
      juste avant de fermer ton div content.

      Juste avant les sidebar et footer.

      Et là ça devrait marcher.

  12. Daniel

    Pas mal du tout pour créer rapidement une page plan de site.

    Le gros défaut cependant, c’est que le rendu visuel n’est pas très ergonomique pour l’utilisateur, notamment au niveau des catégories/sous catégories.

    Pour ceux que cela intéressent, j’avais réalise un tutoriel pour créer une page plan de site sur WordPress. Mais attention, cela requiert d’installer un plugin, et de modifier son thème.

    Par contre, la méthode donnée ici est parfaite pour le référencement naturel, puisque les moteurs auront accès en un seul clic à l’intégralité des contenus du site.

  13. gwen

    mais alors, plus besoin de plugin!Tous ces petit tutoriels que vous nous donnez sont extra! Ça allège considérablement le site ..c’est vraiment géniale je trouve! Merci beaucoup, quelle chance de vous avoir trouvé

  14. gwenm

    il m’est impossible de faire apparaitre ma sidebar. Soit elle apparait et mon sitemap est dans le footer, soit elle disparait et le sitemap est à sa place. J’ ai testé à plein d’endroit le script , mais y rien à faire. Je ne sais plus quoi tester…

  15. gwenm

    j’ ai testé sur le thème « Grassland », mais à la base il n’ a pas de page.php, mais qu’ une index.php, forcement ca ne fonctionne pas…ca veut dire qu’ on ne peut pas générez un « sitemap sans plugin » sur ce theme ou bien?

    PS: j’ ai bien sur testé avec le script index.php

    1. DavidT

      Bonsoir Gwenm,

      Moi aussi j’ai eu du mal au début.

      Je pense qu’il faut que tu récupères dans ton fichier index.php ce qui affiche une page. Pour cela le codex de WordPress peut beaucoup t’aider.

      Tu retrouves ce qui affiche une page comme indiqué dans ce codex et qui est dans le fichier de ton thème…

      Ne te décourages pas, et reviens y plusieurs fois si tu n’y arrive pas de suite, moi il m’a fallu plusieurs semaines pour y arriver (le temps de comprendre )

      C’est un travail de longue haleine, mais quand on y arrive c’est le bonheur!

      Bon courage.

      David

      1. gwenm

        Salut, DavidT! En effet j’ ai pu enfin créer mon sitemap, il ne me reste plus qu’ a trouver comment faire une marge. Je te remercie pour ton lien et ton encouragement

    2. Aurélien Denis auteur de l’article

      C’est excellent cette entraide qui règne ici !

      Je suis souvent très occupé – même si je réponds à tout le monde, et c’est donc merci à tous !

  16. dr

    bonjour,

    Je cherche à faire quelque chose de similaire : liste de tous les articles par catégorie et sous-catégories, mais pour l’intégrer comme menu dépliant dans la sidebar.
    Avez vous des pistes pour faire ça ?
    merci

      1. zampai

        mmm… si seulement c’était si simple.
        La seule piste après de nombreuses recherches c’est le plugin « wp superslider menu ». Mais je n’arrive pas à le faire fonctionner sous WP 3.0.3…

        1. Aurélien Denis auteur de l’article

          En même temps, est-ce vraiment nécessaire de lister tous les articles dans ta sidebar ? Ca risque de faire beaucoup à force non ?

          Désolé mais je n’ai pas d’idées pour faire de menu déroulant.

          Essaies des mots-clés tels que : links slider jquery etc.

          1. zampai

            C’est assez important quand on veut une navigation digne de ce nom. Ça donne un petit côté statique moins « bazar » qu’un flux de blog.
            Voilà un exemple de ce que ça donne sur un dotclear sans « sous catégories » : http://blognature.fr

  17. info2tele

    Bonsoir,

    Je tente de créer un sitemap et j’avoue que ce tuto est très instructif.
    J’ai donc suivi la procédure mais je me retrouve avec une erreur de syntaxe ligne 15.

    Je ne vois rien.

    Je joins le code de la page sitemap, peut-être trouverez-vous l’erreur.

    Merci pour l’aide.





    




    
Articles par catégories
    
cat_ID);
    
?>
    
cat_name; ?>


    
<a href= » »> – (comment_count ?>)

    



  18. info2tele

    DSL, ça n’a pas fonctionné pour le code :





    




    
Articles par catégories
    
cat_ID);
    
?>
    
cat_name; ?>


    
<a href= » »> – (comment_count ?>)

    



  19. info2tele

    Bon finalement j’y suis arrivé, mais ce n’est pas très joli.

    Le footer a disparu pourtant il est appelé dans le fichier sitemap.php.

    En revanche, le fond blanc a lui disparu.

    Une idée ?

        1. gwen

          à priori cela viendrais du plugin Go Press Tools, qu’ il faut désinstaller, ainsi que la page sitemap.php( s’il elle a été déjà créer) bref tout recommencer de zero sans le plugin Go press Tools..

  20. info2tele

    Bonsoir,

    Je cherche la procédure pour réaliser exactement la même présentation que le sitemap de ce site…

    Pour l’instant, je n’arrive à rien, simplement à lister l’ensemble de mes articles…

    Merci

        1. info2tele

          Pour ce qui est de l’organisation, tout va bien. Mais question look, sur mon site, ce n’est pas comme ici.

          Ce doit être une question de CSS mais je ne sais pas comment l’améliorer…

          Faut-il un code spécial ?

          1. Aurélien Denis auteur de l’article

            Oui c’est un problème CSS… mais les commentaires ne sont pas faits pour obtenir du support sur-mesure… sinon, il me faudrait faire cela à temps plein ce qui ne me permets pas de gagner ma vie !

  21. info2tele

    Sinon, je suis à la recherche d’un tuto ou d’un plugin qui puise m’aider à fabriquer une page « vidéo ».

    Explication :

    Je voudrais que sur la home apparaisse un module avec 1 Vidéo plein format et dessous 3 petites. En dessous, je voufrais mettre un lien « Toutes les vidéos » qui pointe vers la page « Vidéo » où les internautes retrouvent toutes celles misent en ligne (les archives en quelques sorte). Ces vidéos se positionnent 3 par ligne sur 10 lignes par exemple et ainsi de suite. Quand l’internaute clicke dessus, avec lightbox ?, le site devient gris et la Vidéo choisie se joue.
    Compliqué ?

  22. info2tele

    Merci pour tes réponses. Mon tuto m’a bien servi et maintenant je vais me mettre au css.
    Concernant la page VDO, je me doutais bien que les plugins ne me seraient d’aucun secours.
    Pour ce genre de prestation, quel est le montant des honaraires ?
    Cordialement

  23. Cécile

    Bonjour,

    J’ai voulu utliser ce code, tout s’est apperemment ien déroulé, pas d’erreur, et je jubilais déjà.
    MAIS, quand j’ai affiché la page avec le modele, la page est toute blanche !

    pour info : le theme que j’utilise contenanit déjà un fihier sitemap, que j’ai viré du serveur pour mettre celui-ci à la place.
    dans la page.php, il y avait déjà tout un blabla, et j’ai collé le code d’Airélien à la suite.

    Si quelqu’un avait une idée de ce que j’ai du oublier de faire..;

    Merci

    1. Cécile

      Bon, j’ai trouvé le souci, c’est juste moi qui m’était plantée en route…J’ai relu attentivement le mode d’emploi, recommencé la manip, et tout s’est déroulé normalement !

      Merci

        1. Cécile

          arf, non finalement je n’avais pas vu, mais cela faisait disparaitre les widgets et le footer de toutes les pages du site, alors tant pis, j’ai laissé tomber et j’utlise le site map de mon template même si je préférais le tien Aurélien…
          je pense que c’est parceque un fichier sitemap.php était déjà prévu, sans doute avec le code de page.php écrit en conséquence, enfin je n’en sais trop rien car je ne developpe pas.
          Snif !

  24. Fred

    Merci pour ce code qui fonctionne parfaitement.
    Est-il possible d’afficher ce plan sur 2 colonnes pour gagner en lisibilité ?

    Fred

  25. Arnaud

    Merci pour ce code : il fonctionne parfaitement.
    Il ne reste plus qu’à mettre les mains dans le CSS pour en améliorer la présentation.

  26. Cyrkou

    Merci pour ce tuto, très simple et efficace pile ce que je cherchais

    Seul petit bémol, j’ai du coup un onglet « plan du site » dans mon menu horizontal (j’utilise le thème twenty ten), comment l’enlever ? Histoire de le rendre accessible seulement par le footer…
    Merci !

  27. Info2tele

    J’avais le même problème dans le menu mais avec ce bout de code ça fonctionne (il exclut la page sitemap)

  28. Cyrkou

    Désolé j’ai pas vraiment compris où est ce qu’il fallait mettre l’ID de la page sitemap.
    Qu’est ce que tu entends par remplacer les xxx ?

    1. info2tele

      Je ne comprends pas comment envoyer le code. Donnes-moi une adresse mail, ce sera bien plus simple.

      Je l’envoies un peu plus tard car que j’ai dîner. Où je me trouve, il est 20H

      A+

  29. Cyrkou

    t’as toujours pas réussi

    -> ( Vous devez remplacez les «  » respectivement par < et > )

    jcomprenais pas ce que tu voulais dire avec « pre »…

  30. John

    Merci pour l’article.

    J’ai du rajouter « à la main » des balises div avec les bonnes classes pour que le CSS global du site soit appliqué correctement.

    Si ça peut aider quelqu’un qui a le même problème.

    1. Steph455

      Bonjour,
      j’ai suivi ce tuto (trèsinteressant) mais malheureusement j’ai une erreur lorsque je lance la page du Plan de site :

      « Parse error: syntax error, unexpected $end in /www/blog/wp-content/themes/platform/sitemap.php on line 31 »

      J’ai recopié le code à l’identique de ce qui est dit car le code que j’ai dans mon fichier page.php est le suivant :

      < ?php /* This theme is Copyright (C) 2008-2010 Andrew Powers, PageLines.com (andrew AT pagelines DOT com) */setup_pagelines_template();il n'y a même pas de balise ?>

      Je suis sous WordPress 3.1.2 et j’utilise le thème Platform (et mon blog est sur une boutique prestashop)

      Quelqu’un voit le problème ?

      Merci.

      1. Aurélien Denis auteur de l’article

        Je pense que ton problème vient de ton thème. Non pas que ce dernier soit bugué mais que tu ne dois pas l’insérer au bon endroit.

        La structure des thèmes premium est généralement plus complexe que sur les thèmes de base.

        1. Steph455

          Pour l’insérer, je l’ai récupéré « directement » via le BO de wordpress, dans l’onglet « installer des thèmes ». J’ai fait ma recherche et je l’ai installé à partir de là.
          Et j’ai bien le dossier Platform situé dans /blog/wp-content/themes/

          Il n’est pas installé au bon endroit ou il est mal installé ?

          (au cas où ça peux aider, j’avais initialement installer le plug-in suivant : Dagon Design Sitemap Generator. Ca marchait très bien, jusqu’à ce que j’installe le plug-in suivant : DashBoard Google Analitycs (parce que j’avais aussi besoin d’un sitemap au format XML). Comme Dagon Design Sitemap Generator ne fonctionnait plus, je me suis tourné vers ta solution…)

          Merci encore pour ton aide.

        2. Steph455

          Bon, je galère toujours…
          je vois que tu parles des thèmes Premium et thèmes de base.
          Comme c’est bcp plus galère avec les thèmes Premium (PlatForm en fait visiblement parti), est-ce que tu pourrais me suggérer un ou deux thèmes de base stp ?
          Parce que si je galère comme ça à chaque install de plug-in, autant que je change dès maintenant de thème.

          Je te remercie pour tes conseils.

  31. info2tele

    Bonjour,

    Je viens de réinstaller une page Sitemap en suivant à la lettre le tuto.

    Quand je lance la page, j’ai ce message :

     » Error 404 – Not found

    Le fichier requis n’a pas été trouvé. Il peut s’agir d’une erreur technique. Veuillez réessayer ultérieurement. Si vous ne pouvez pas accéder au fichier après plusieurs tentatives, cela signifie qu’il a été supprimé.  »

    Ci-dessous le code du sitemap.php

    Articles par catégories
    cat_ID);
    ?>
    cat_name; ?>

    <a href=" »> – (comment_count ?>)

    1. info2tele

      <pre>

      Articles par catégories
      cat_ID);
      ?>
      cat_name; ?>

      <a href=" »> – (comment_count ?>)

      <pre/>

  32. flet le kid

    Bonsoir,

    j’ai suivi ce tuto et je vous tire le chapeau. J’ai rencontré l’erreur …$end à la ligne … et en lisant tout les commentaires j’ai vu qu’il fallait ajouter &lt?php endwhile; ?&gt et &lt?php endif; ?&gt (je le mets pour ceux qui n’auront pas la patiente de tout lire.
    J’exhorte ceux qui ont des soucis à lire tous les commentaires car d’autres ont déjà eu et résolu les problèmes que vous rencontrez.
    J’ai découvert cet article et ce site hier et je sens que je vais rapidement progresser sur WordPress grâce à vous.

    Félicitations encore pour le travail abattu et à bientôt.

  33. Créer une page « Plan du Site » sur un blog Wordpress | EBOOKS-GAGNANTS

    […] lignes de codes et quelques bricolages dans le modèle de page du blog (comme celle proposée sur WordPress Channel), ce qui peu, à mon avis, rebuter pas mal de […]

  34. bhobbit

    Simple et de bon goût et last but not least : sans plugin …

    Je n’ai eu aucune difficulté à mettre en oeuvre ce code :

    1) J’ai renommé le fichier page.php en template-sitemap ; l’avantage, c’est que toutes les classes du site et les appels à fonction et variables spécifiques au thème sont en place.
    2) J’ai rajouté le code juste en fin de la du contenu (càd de la boucle)
    3) Modifié quelques lignes du code pour que le « é » de catégorie s’affiche correctement

    That’s it.

    Merci à Aurélien et à son blog qui fourmille d’astuces intéressantes …

  35. Geo

    Bonjour,

    petite question au sujet de ce tuto. Pour créer le fichier « sitemap.php », je dois y copier l’intégralité du code présent dans le fichier « page.php » ??

    Merci de votre réponse

    1. Aurélien Denis auteur de l’article

      Le fichier sitemap.php ressemble à peu de choses près au fichier page.php qui contient la structure standard d’une page classique du site. Donc, oui il faut en reprendre le code.

  36. Créer une page « Plan du Site » sur un blog WordPress « ADMIN18 Secrétaire Libérale / Télésecrétaire

    […] de codes et quelques bricolages dans le modèle de page du blog (comme celle proposée sur WordPress Channel), ce qui peu, à mon avis, rebuter pas mal de […]

  37. gwen

    Bonjour, l ‘onglet affiche un autre titre que celui que j’ ai nommé..trop bizzard, j’ ai pourtant refait mon sitemap et renommé ma page ‘tous-les-jeux’, mais j ‘ai toujours ce faut titre..vraiment je ne comprend pas. Est ce mon thème?

  38. Céline

    Bonjour,
    J’ai voulu tenté ce tuto qui me semblait simple, et c’est vrai qu’avoir une page map est super important. Mais j’ai un problème, il n’y a quasiment rien dans ma page page.php. Et du coup, lorsque je publie ma page site map, elle est vide…
    Voilà le code de page.php:

    Je crois qu’en fait c’est le modèle pour une page vs article… pouvez-vous m’aider?!

      1. Céline

        Rassurez-vous, je ne disais pas qu’il y a une erreur dans le tutoriel! C’est juste que mon fichier page.php est quasi vide, et du coup je me dis que ca peut expliquer la page blanche créée. Je crois que je vais utiliser un plugin ca sera plus simple! Merci en tout cas pour toutes ces astuces!

  39. Thierry

    Une telle page est désormais présente sur WordPress Channel dans le pied de page.

    Bonjour,

    Il me semble que ce n’est plus d’actualité et de plus le lien est rompu (direction 404)

    Thierry

  40. stef

    bonjour,

    cette page marche bien sauf que :
    j’ai un menu qui pointe sur des pages… celles-ci sont bien dans le sitemap, sans soucis. mais j’ai aussi des sous-menus ! ( qui sont en fait d’autres pages ) et là ben, ces autres pages ne s’affiche pas du tout dans le sitemap ! une idée ?

  41. Stef

    OK , merci beaucoup de l’info. en fait j’ai réussi à résoudre le problème autrement : j’ai mis les pages des sous-menus « enfants » des pages du menu… ( c’est peut-être une mauvaise solution, mais ça semble marcher !)

  42. Tom.C.

    Bonjour,
    j’ai réalisé cette manipulation sans aucun problème, le résultat est très satisfaisant hormis deux points :
    -Les accents n’apparaissent pas, ils sont remplacés par un petit losange marqué d’un « ? », sauriez vous comment y remédier ?
    – Comment faire en sorte que cette page soit reconnaissable en .xml pour les moteurs de recherche ?

    Merci d’avance pour votre réponse, et bravo pour votre site, j’y vient très régulièrement trouver les réponses à toutes mes questions

    Bien à vous,
    Tom.C.

  43. Delphine Desmarets

    Bonjour,
    Merci beaucoup pour ce tutoriel.
    Tout fonctionne parfaitement, sauf que mon plan de site s’insère dans ma barre de menu et non dans mon footer, pouvez vous me dire comment d’une part l’enlever du menu et d’autre part comment le mettre dans le footer ?
    un grand merci
    Delphine

  44. Pierre

    Merci beaucoup pour cette article toujours d’actualité 2 ans après sa publication. Ça marche sur mon site pour un plan que je suis en train de mettre en page.

  45. wildwise

    Bonjour, très bon article; des pages sans plugin c’est toujours mieux pour l’efficience d’un site.
    Bon après avoir intégré ce code dans un nouveau template tout tourne parfaitement mais je souhaiterai savoir comment créer des listes décalées selon le niveau des pages ou elles sont.
    Page
    sous page
    sous – sous page
    sous – sous page
    Page
    etc….
    si vous avez des pistes je suis preneur.

    merci par avance.

    1. wildwise

      ah les espaces n’ont pas fonctionné, j’utilise donc l’underscore, donc je voulais dire:
      Page
      __sous page
      ____sous – sous page
      ____sous – sous page
      Page

  46. Pablo

    Bonjour, merci pour ce tuto qui rend bien service.
    J’ai quand même un léger souci, à savoir que j’aimerai exclure une catégorie de la section:

    Articles par catégories
    cat_ID);
    ?>

    Et là franchement je butte, j’ai joué du ‘exclude’,du (‘cat=-99’), et testé l’idée de Djib’s ici https://wpchannel.com/exclure-categorie-loop-wordpress/#comment-16798
    Le problème avec cette dernière c’est que je ne sais pas lui faire dire:

    if ($query->is_page(‘505’))

    La catégorie à exclure est un peu comme la « non-classé » qui me sert à classer des trucs en back office, et donc dans le sitemap j’y trouve des doublons de posts. Pas terrible…

  47. Benji

    Petite question:

    Est-il possible d’adapter ce code afin de générer depuis le PHP un fichier XML pour soumettre le sitemap à google?

    Merci d’avance!

  48. Sylvain

    Je vais peut-être passé pour un c.. mais dans mon installation la page (page.php) n’y figure pas?
    Que faire j’utilise Atahualpa 3.7.8 et je ne trouve pas cette page.

    Merci!

  49. miss Pakou

    bonjour,
    j ai appliqué les consignes et suis arrivée à un bon résultat. sauf que les points ( li ) sont un peu « mangés ». ils n apparraissent pas complètement. et cela ne fait pas très propre. il faudrait faire un saut de ligne entre l affichage des pages et des pages/enfants. comment faire ?
    dans l espoir que qqn a eu le même problème que moi !

  50. Philippe

    Merci, cela me conforte dans l’idée d’utiliser une bonne 404 personnalisée avec l’intégration d’un SiteMap propre ( au lieu d’une 301 ) dans le cas de pages obsolètes par exemple .

  51. rabolo

    Bonsoir,
    Merci pour le code, fonctionne parfaitement sur le site principale mais rien sur les sous domaine (je suis en wpmu) pourtant je renseigne bien le thème enfant à la place de « textdomain ». Merci d’avance si vous avez une sollution.

  52. Louis Grandjean

    Bonjour,

    Je viens de mettre le bout de code mai, j’ai un souci par raport au placement sur la page en ligne, tous s’affiche bien mai a gauche alors que si on regarde les autre pages tous est écrit au milieu, comment faire….

    Lien : http://www.clubing-night-radio.com/plan-du-site/

    Code :

    

    <a title="Full content" href="feed: »>
    <a title="Comment Feed" href="feed: »>

    have_posts()) : $archive_query->the_post(); ?>

    <a href=" » rel= »bookmark » title= »Permanent Link to « >
    ()

  53. pixys

    Tout fonctionne à merveille, sur thème principal comme sur thème enfant. Il n’y a qu’a styliser l’affichage. Merci pour ces explications précises !

  54. Louis

    Bonjour Aurélien,

    Petite question comment faire si le nom du post choisit s’appelle : book (Attention ce n’est pas une catégorie). Je ne veux pas afficher mes articles. Que dois-je modifier dans la ligne suivante ?

    have_posts()) : $archive_query->the_post(); ?>

    Cordialement,
    Ps : je débute sur WordPress

  55. Mammie Net

    Super, cet article, en fait je cherche un moyen d’afficher en liste le contenu d’un (long) menu, est il possible de le faire par ce biais ? Si oui, comment faire pour limiter le sitemap à un seul menu ?

    1. Aurélien Denis auteur de l’article

      Afficher le contenu d’un menu dans un sitemap ? Euh oui en utilisant des fonctions pour afficher les menus et en faisant du CSS… mais ce n’est plus vraiment un plan de site…

  56. damiendlm

    Bonjour Aurélien,
    Merci pour ce tuto. J’ai une question :
    Si on a activé le plugin SEO Yoast et la partie Sitemap, ce n’est plus la peine d’installer ce plugin ?
    Cordialement,
    Damien

  57. Dominique Fortier

    Bonjour Aurélien,
    J’ai fait ce que tu dis pour faire mon Plan du site. Ça marche en partie, mais j’aimerais l’avoir dans l’ordre d’apparition de mes onglets de mon Header. Aussi, je n’ai jamais trouvé la section ‘div wrapper2’ dans le fichier ‘page.php’ comme on le voit dans le tutoriel. Je travaille dans la version 3.8 du thème Fortytwentyfour. Tu peux me conseiller?

      1. Dominique Fortier

        Merci pour ta réponse. J’ai pas réussi à placer la liste dans l’ordre de mon menu (personnalisé), mais en tout cas, je peux voir mon plan de site correctement disposé. C’est un début.

  58. clo

    Bonjour,
    le sitemap marche bien, en revanche je suppose que je dois l’affiner, car il s’agit d’un site marchant et que mes produits ne sont pas visibles par catégories, seuls les articles et les pages.
    Par ailleurs, je suppose qu’on peut y ajouter un peu de CSS, car pour le moment tout est « ramassé » sur le côté gauche de ma page et c’est imbitable. J’ai essayé via le custom. css de mon thème, et aussi avec Easy Js/CSS un petit plugin que j’aime beaucoup et qui marche normalement très bien, mais là ça reste inopérant.

    à signaler quand même que j’ai eu un peu de mal à trouver le fameux texdomain… pour les néophytes tout n’est pas évident

    merci pour votre réponse sur le CSS

Les commentaires sont fermés.