| Résumé | Permet d’importer un sitemap pour mapper automatiquement les titres de pages aux liens du forum, de manière similaire au fonctionnement des « Mots surveillés ». | |
| Lien du dépôt | GitHub - multidimension-al/discourse-sitemap-autolink: Turn sitemaps into automatic links in discourse. · GitHub | |
| Guide d’installation | Comment installer des plugins dans Discourse |
Fonctionnalités
Il s’agit d’une alternative à l’utilisation de la fonctionnalité « Mots surveillés ». Elle vous permet de prendre le sitemap de votre site web externe et de l’importer, d’assigner les mots à faire correspondre automatiquement, puis de les lier lors de la prochaine recuisson (rebake). Très similaire au fonctionnement des Mots surveillés, mais avec l’ajout de l’étape d’ingestion des sitemaps et d’extraction des mots-clés.
Idéal pour les forums techniques disposant d’une section Wiki séparée, par exemple, ou pour un forum associé à un site d’actualités ou une boutique en ligne.
Vous prenez le sitemap de votre Wiki :
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://www.example.com/wiki/soldering-iron-maintenance</loc><lastmod>2026-07-02</lastmod></url>
<url><loc>https://www.example.com/wiki/mosfet-driver-board</loc><lastmod>2026-07-05</lastmod></url>
<url><loc>https://www.example.com/wiki/li-ion-battery-pack</loc><lastmod>2026-07-11</lastmod></url>
<url><loc>https://www.example.com/wiki/pcb-etching</loc><lastmod>2026-07-19</lastmod></url>
<url><loc>https://www.example.com/wiki/flux</loc><lastmod>2026-07-23</lastmod></url>
</urlset>
Le plugin téléchargera le sitemap, récupérera le titre de la page, puis générera les mots à faire correspondre. Ceux-ci seront automatiquement liés la prochaine fois que des messages contenant ces mots seront cuits, ou le plugin recherchera ces messages et les recuira automatiquement.
Titre <title> récupéré |
Titre stocké |
|---|---|
| Soldering Iron Maintenance - Example Wiki | Soldering Iron Maintenance |
| MOSFET Driver Board - Example Wiki | MOSFET Driver Board |
| Li-Ion Battery Pack - Example Wiki | Li-Ion Battery Pack |
| PCB Etching - Example Wiki | PCB Etching |
| Flux - Example Wiki | Flux |
Chacun de ces titres devient une expression de correspondance, avec des mécanismes de sécurité.
| Titre stocké | Expressions générées | État |
|---|---|---|
| Soldering Iron Maintenance | soldering iron maintenance(s) | actif |
| MOSFET Driver Board | mosfet driver board(s) | actif |
| Li-Ion Battery Pack | li-ion battery pack(s) | actif |
| PCB Etching | pcb etching(s) | actif |
| Flux | flux, fluxes | en attente de révision — mot unique court |
Ensuite, tout message contenant une correspondance avec l’expression sera automatiquement lié vers le wiki de votre site, avec un maximum de 1 fois par message.
Ainsi, si j’ai un message disant :
J’étais en train de lire la page Soldering Iron Maintenance et j’ai remarqué un problème avec ce qu’elle disait…
Le terme « Soldering Iron Maintenance » sera lié à la page qui lui est associée dans le sitemap.
Configuration
Une fois installé, de nombreux paramètres peuvent être configurés, ainsi qu’une page Catalogue dédiée qui affiche vos sitemaps en cours d’importation et la liste des expressions qui seront correspondantes avec l’URL.
Trouvez le fichier XML de votre sitemap que vous prévoyez d’importer et assurez-vous que vous pouvez vous connecter à ce serveur sans restrictions depuis votre installation Discourse. Localisez le préfixe ou suffixe de site commun et définissez les suffixes de titre de sitemap autolink avec la partie du champ que vous ne souhaitez pas. Un exemple pourrait être « - Discourse Meta » si vous ne souhaitez pas qu’il corresponde à ce titre de page. Vous pouvez également spécifier d’ignorer certains mots courants qui peuvent apparaître fréquemment sur votre site. La plupart des paramètres n’ont pas besoin d’être activés, mais vous permettent d’ajuster le timing et le délai, le temps autorisé pour vérifier le sitemap, et le délai entre chaque URL.
Une fois l’URL importée, elle sauvegarde l’heure lastmod et ne vérifie à nouveau que si le champ lastmod change. Vous pouvez assigner ou supprimer manuellement des expressions de correspondance, et il vous demandera automatiquement concernant les correspondances en un seul mot.
Paramètres
Liaison
| Paramètre | Défaut | Objectif |
|---|---|---|
sitemap_autolink_enabled |
désactivé | Interrupteur principal. |
sitemap_autolink_max_links_per_destination_per_post |
1 | Nombre de fois qu’une destination peut être liée par message (les premières mentions gagnent). 0 = illimité. |
sitemap_autolink_max_links_per_post |
0 | Total des liens automatiques par message. 0 = illimité. |
sitemap_autolink_skip_quotes |
activé | Ne jamais lier à l’intérieur de contenu cité. |
sitemap_autolink_include_private_messages |
désactivé | Lier également dans les messages privés. |
sitemap_autolink_excluded_categories |
– | Ne jamais lier dans ces catégories (sous-catégories incluses). |
sitemap_autolink_enabled_types |
– (tous) | Restreindre les types de contenu pouvant être liés. |
sitemap_autolink_type_priority |
manual |
Ordre de priorité en cas de collision, du plus fort au plus faible ; les types non listés sont en dernière position. |
Catalogue & expressions
| Paramètre | Défaut | Objectif |
|---|---|---|
sitemap_autolink_sources |
– | Sitemaps à ingérer, un par entrée : https://example.com/sitemap.xml,content_type. Les index s’étendent automatiquement. |
sitemap_autolink_manual_mappings |
– | Règles manuelles expression,url,type. Les URL relatives sont résolues par rapport au forum. |
sitemap_autolink_min_phrase_length |
5 | Les expressions générées plus courtes passent en révision. |
sitemap_autolink_min_phrase_words |
2 | Les expressions générées avec moins de mots passent en révision (les jetons de numéro de modèle lettre+chiffre sont exemptés). |
sitemap_autolink_generate_plurals |
activé | Génère également des variantes plurielles simples. |
sitemap_autolink_title_suffixes |
– | Textes génériques supprimés à la fin des titres récupérés. Une entrée ne peut pas contenir le ` |
sitemap_autolink_excluded_url_patterns |
– | Ne jamais ingérer les URL de sitemap correspondantes (sous-chaîne ou joker *, ex. */checkout*). |
sitemap_autolink_excluded_terms |
– | Expressions exactes qui ne doivent jamais être générées automatiquement. Les alias manuels prennent le pas. |
Synchronisation
| Paramètre | Défaut | Objectif |
|---|---|---|
sitemap_autolink_sync_enabled |
désactivé | Exécuter le travail quotidien sitemap→catalogue. |
sitemap_autolink_page_fetch_delay_ms |
500 | Pause de courtoisie entre les récupérations de titres (nouveaux/URL modifiées uniquement). |
sitemap_autolink_sync_time_budget_minutes |
30 | Minutes maximales par exécution ; l’exécution s’arrête proprement en tant que Partiel et la prochaine reprise le travail restant. |
sitemap_autolink_fetch_host_rewrites |
– | Récupérer un hôte public via une cible interne (voir ci-dessous). |
Recuisson (Rebaking)
| Paramètre | Défaut | Objectif |
|---|---|---|
sitemap_autolink_auto_rebake_on_changes |
désactivé | Après une synchronisation, recuire les messages susceptibles d’être affectés par des changements d’expression — un travail de fond groupé par synchronisation. |
sitemap_autolink_auto_rebake_max_phrases |
50 | Si une synchronisation change plus d’expressions que cela, ignorer complètement le recuit automatique (afin qu’une importation initiale ne déclenche pas un recuit quasi-total du forum). |
sitemap_autolink_auto_rebake_max_posts |
500 | Nombre maximum de messages qu’une vague de recuit d’une synchronisation peut toucher. |
sitemap_autolink_max_rebakes_per_job_run |
200 | Taille de lot par exécution de tâche ; les grandes vagues continuent dans des tâches de suivi à une minute d’intervalle. |
Analytique
| Paramètre | Défaut | Objectif |
|---|---|---|
sitemap_autolink_analytics_enabled |
activé | Envoyer des événements internal_auto_link_click à Google Analytics via gtag ou dataLayer lorsque les liens générés sont cliqués. Sans effet si aucun des deux n’existe. |
J’utilise cela pour aider à lier mon site web principal avec mon forum Discourse. Ainsi, un sujet dans notre Wiki ou Boutique peut générer automatiquement un lien.
Si quelqu’un parle d’un produit en particulier, tant qu’il mentionne un mot-clé que vous assignez ou le nom du produit lui-même, le lien sera automatiquement ajouté au moment de la cuisson.
De même, si vous avez un site Wiki, vous pouvez prendre les titres de pages du Wiki et les lier automatiquement. Disons que vous avez un site d’histoire et que quelqu’un mentionne « La guerre de 1812 », qui coïncide avec un article du Wiki du même nom, il sera automatiquement lié.
J’espère que vous apprécierez !
