| 摘要 | 允许您导入站点地图,以类似于“监控词”(Watched Words)的方式,将页面标题自动映射到论坛链接。 | |
| 代码库链接 | GitHub - multidimension-al/discourse-sitemap-autolink: Turn sitemaps into automatic links in discourse. · GitHub | |
| 安装指南 | 如何在 Discourse 中安装插件 |
功能特性
这是“监控词”功能的一种替代方案。它允许您导入外部网站的站点地图,自动分配匹配关键词,并在下次重新烘焙(rebake)帖子时建立链接。其工作原理与“监控词”非常相似,但增加了摄取站点地图并提取关键词的步骤。
非常适合拥有独立 Wiki 部分的技术论坛,或者与新闻或电子商务商店相关联的论坛。
您可以导入您的 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>
该插件将下载站点地图,从页面中获取标题,然后生成用于匹配的关键词。当任何包含这些关键词的帖子被烘焙时,这些关键词将自动链接,或者插件会自动查找这些帖子并仅重新烘焙它们。
获取的 <title> |
存储的标题 |
|---|---|
| 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 |
每个标题都将成为匹配短语,并设有安全限制。
| 存储的标题 | 生成的短语 | 状态 |
|---|---|---|
| Soldering Iron Maintenance | soldering iron maintenance(s) | 活跃 |
| MOSFET Driver Board | mosfet driver board(s) | 活跃 |
| Li-Ion Battery Pack | li-ion battery pack(s) | 活跃 |
| PCB Etching | pcb etching(s) | 活跃 |
| Flux | flux, fluxes | 待审核 — 短单词/单个词 |
然后,任何包含匹配短语的帖子都会自动链接回您网站的 Wiki,每篇帖子最多链接 1 次。
例如,如果我有一篇帖子写道:
我正在阅读 Soldering Iron Maintenance 页面,并注意到其中说的一些问题……
短语“Soldering Iron Maintenance”将链接到站点地图中与之关联的页面。
配置
安装后,您可以配置许多设置,还有一个专用的目录页面,显示正在导入的站点地图以及将匹配的短语列表及其 URL。
找到您计划导入的站点地图 XML 文件,并确保您可以从 Discourse 安装中无限制地连接到该服务器。找到常见的站点前缀或后缀,并设置“站点地图自动链接标题后缀”,排除您不想要匹配的部分。例如,如果您不想匹配该页面标题,可以是“- Discourse Meta”。您还可以指定跳过某些在您网站上常见的单词。大多数设置无需启用,但允许您调整时间和延迟、检查站点地图允许花费的时间,以及每个 URL 之间的延迟时间。
一旦 URL 被导入,它会保存 lastmod 时间,除非 lastmod 字段发生变化,否则不会再次检查。您可以手动分配或删除匹配短语,对于单单词匹配,它会自动询问您。
设置
链接
| 设置项 | 默认值 | 用途 |
|---|---|---|
sitemap_autolink_enabled |
关闭 | 主开关。 |
sitemap_autolink_max_links_per_destination_per_post |
1 | 每个目标在每篇帖子中可链接的次数(首次提及优先)。0 = 无限制。 |
sitemap_autolink_max_links_per_post |
0 | 每篇帖子的总自动链接数。0 = 无限制。 |
sitemap_autolink_skip_quotes |
开启 | 永远不在引用内容内部链接。 |
sitemap_autolink_include_private_messages |
关闭 | 也在私信中链接。 |
sitemap_autolink_excluded_categories |
– | 永远不在这些分类中链接(包括子分类)。 |
sitemap_autolink_enabled_types |
– (全部) | 限制哪些内容类型可以链接。 |
sitemap_autolink_type_priority |
manual |
冲突优先级顺序,最强者优先;未列出的类型排在最后。 |
目录与短语
| 设置项 | 默认值 | 用途 |
|---|---|---|
sitemap_autolink_sources |
– | 要摄取的站点地图,每行一个:https://example.com/sitemap.xml,content_type。索引会自动扩展。 |
sitemap_autolink_manual_mappings |
– | 手动 phrase,url,type 规则。相对 URL 针对论坛解析。 |
sitemap_autolink_min_phrase_length |
5 | 较短的生成短语将进入审核。 |
sitemap_autolink_min_phrase_words |
2 | 单词数少于此值的生成短语将进入审核(字母+数字型号令牌除外)。 |
sitemap_autolink_generate_plurals |
开启 | 也生成简单的复数变体。 |
sitemap_autolink_title_suffixes |
– | 从获取的标题末尾剥离的样板文本。条目不能包含 ` |
sitemap_autolink_excluded_url_patterns |
– | 永远不摄取匹配的站点地图 URL(子字符串或 * 通配符,例如 */checkout*)。 |
sitemap_autolink_excluded_terms |
– | 绝不应自动生成的确切短语。手动别名可覆盖。 |
同步
| 设置项 | 默认值 | 用途 |
|---|---|---|
sitemap_autolink_sync_enabled |
关闭 | 运行每日站点地图→目录任务。 |
sitemap_autolink_page_fetch_delay_ms |
500 | 标题获取之间的礼貌暂停(仅限新/更改的 URL)。 |
sitemap_autolink_sync_time_budget_minutes |
30 | 每次运行的最大分钟数;运行将作为部分(Partial)干净停止,下次运行将恢复剩余工作。 |
sitemap_autolink_fetch_host_rewrites |
– | 通过内部目标获取公共主机(见下文)。 |
重新烘焙
| 设置项 | 默认值 | 用途 |
|---|---|---|
sitemap_autolink_auto_rebake_on_changes |
关闭 | 同步后,重新烘焙可能受短语更改影响的帖子——每次同步一个批处理后台任务。 |
sitemap_autolink_auto_rebake_max_phrases |
50 | 如果一次同步更改的短语超过此数量,则完全跳过自动重新烘焙(因此初始导入永远不会触发近乎全论坛的重新烘焙)。 |
sitemap_autolink_auto_rebake_max_posts |
500 | 一次同步的重新烘焙波可能触及的最多帖子数。 |
sitemap_autolink_max_rebakes_per_job_run |
200 | 每次任务运行的批处理大小;较大的波将在间隔一分钟的后续任务中继续。 |
分析
| 设置项 | 默认值 | 用途 |
|---|---|---|
sitemap_autolink_analytics_enabled |
开启 | 当生成的链接被点击时,通过 gtag 或 dataLayer 向 Google Analytics 发送 internal_auto_link_click 事件。如果两者都不存在,则无操作。 |
我使用此插件来帮助链接我的主网站和我的 Discourse 论坛。因此,我们 Wiki 或商店中的主题可以自动生成链接。
如果有人在谈论某个特定产品,只要他们提到您分配的关键词或产品名称本身,链接就会在烘焙时自动添加。
同样,如果您有一个 Wiki 网站,您可以获取 Wiki 的页面标题并自动链接它们。假设您有一个历史网站,有人提到“1812年战争”,而这恰好与同名 Wiki 文章相符,它将自动链接。
希望您喜欢!
