Pour la future version de ce site sous Joomla 4, je voulais une solution légère pour générer un fichier "sitemap.xml" pour les moteurs de recherche.

Basique, il correspond bien aux besoins d'un site utilisant principalement les fonctionnalités de Joomla. Il n'existe pas de plugin pour la prise en charge d'autres extensions.

Son rôle n'est pas d'afficher un plan de site. Des actions, comme jcontent-by-subcat, jcontent-by-categories font cela très bien.

🆙 sitemap : Création d'un fichier 'sitemap.xml' en racine du site

Cliquer pour lire la documentation

syntaxe {up sitemap}
@author: LOMART @version: UP-2.7 @license: GNU/GPLv3 @tags: Expert
  • sitemap: nom menutype exclus. séparateur: virgule
  • cron = +1 semaine: délai entre 2 générations automatiques
  • frequency: fréquence : always, hourly, daily, weekly, monthly, yearly, never
  • priority: priority de 0.1 à 1
  • menutype-exclude: nom menutype à exclure (idem option principale)
  • info: afficher le nombre de liens et la liste des pages non indexées
  • id: identifiant
Version 5.1
modification entête XML

Le concept

Le sitemap va contenir un lien vers :

  • tous les articles du site publiés avec un accès public et robots=index
  • tous les items de menu autres que les articles uniques

Le fichier sitemap.xml doit être régénéré régulièrement de façon automatique

Le shortcode

{up sitemap=invisible}

Ce shortcode va créer un sitemap toutes les semaines de tous les menus sauf le menu invisible

Les options

option principale (sitemap) ou menutype-exclude

Indiquer le nom des menus que vous ne voulez pas inclure dans le sitemap. Le séparateur est la virgule.

cron

Pour réaliser périodiquement un sitemap, il suffit d'indiquer ici la fréquence sous la forme +1 semaine 3 jours ou +1 week 3days .

La syntaxe est celle de la fonction PHP strtotime. Les mots reconnus sont : 'year', 'month', 'day', 'week', 'hour', 'second' et l'équivalent en français : 'année', 'an', 'mois', 'jour', 'semaine', 'heure', 'seconde'

Par défaut, la périodicité est d'une semaine.

Si uniquement un nombre est indiqué, on considère que c'est le nombre de secondes. 999 est équivalent à +999 secondes.

frequency
priority

Ces 2 options permettent de définir les options de même nom dans le sitemap. Il me semble que cette informations n'est plus prise en compte par les robots des moteurs de recherche.

info

Normalement, la création du sitemap est invisible sur la page à l'origine de la demande.

Toutefois, il peut être souhaitable de savoir le nom de liens créés et surtout les liens qui n'ont pas été retenus.

Pour cela, il suffit d'ajouter une option info qui va afficher un compte-rendu de ce type

La première ligne indique le nombre de liens ajoutés et les lignes suivantes montrent les liens nom repris. Dans l'exemple ci-dessus, le premier lien est en no-index et pour le dernier, nous sommes hors période de publication. Chaque ligne contient la raison, un lien vers l'élément, son id et la date de dernière modification.

Pour info, cette page utilise 5 action(s) :
upactionslist (1) readmore (1) csv2def (2) jcontent-info (1)
 
 
 
Détails