| 요약 | 사이트맵을 가져와서 '주시하는 단어(Watched Words)'와 유사한 방식으로 페이지 제목을 포럼 링크에 자동으로 매핑할 수 있게 해 줍니다. | |
| 저장소 링크 | GitHub - multidimension-al/discourse-sitemap-autolink: Turn sitemaps into automatic links in discourse. · GitHub | |
| 설치 가이드 | Discourse에 플러그인 설치 방법 |
기능
이것은 ‘주시하는 단어(Watched Words)’ 기능을 사용하는 대안입니다. 외부 웹사이트의 사이트맵을 가져와서 단어를 자동으로 매칭하도록 지정하고, 다음 재베이킹(rebake) 시 이를 링크합니다. 주시하는 단어와 매우 유사하지만, 사이트맵을 가져오고 키워드를 추출하는 단계를 추가합니다.
예를 들어, 별도의 위키 섹션이 있는 기술 포럼이나 뉴스 또는 이커머스 스토어가 연결된 포럼에 적합합니다.
위키 사이트맵을 가져옵니다:
<?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 | 검토 대기 — 짧고, 단일 단어 |
그 후 구문과 일치하는 내용이 포함된 게시글에는 사용자의 사이트 위키로 돌아가는 링크가 자동으로 추가되며, 게시글당 최대 1회까지 가능합니다.
예를 들어 다음과 같은 게시글이 있다고 가정해 보겠습니다:
I was reading the Soldering Iron Maintenance page and noticed a problem with what it said…
'Soldering Iron Maintenance’라는 단어는 사이트맵과 연결된 해당 페이지로 링크됩니다.
설정
설치 후에는 다양한 설정을 구성할 수 있으며, 가져온 사이트맵과 함께 매칭될 구문 목록 및 URL을 표시하는 전용 카탈로그 페이지도 있습니다.
가져오기를 계획 중인 사이트맵 XML 파일을 찾아 Discourse 설치 환경에서 해당 서버에 제한 없이 연결할 수 있는지 확인하세요. 공통 사이트 접두사나 접미사를 찾아 원하지 않는 필드 부분을 Sitemap autolink title suffixes에 설정합니다. 예를 들어, 해당 페이지 제목이 매칭되지 않도록 하려면 "- Discourse Meta"와 같은 값을 설정할 수 있습니다. 또한 사이트에 자주 나타날 수 있는 특정 공통 단어를 건너뛰도록 지정할 수도 있습니다. 대부분의 설정은 활성화할 필요가 없지만, 사이트맵 확인에 허용되는 시간, URL 간 지연 시간, 타이밍 및 지연을 조정할 수 있게 해 줍니다.
URL이 가져와지면 lastmod 시간이 저장되며, lastmod 필드가 변경되지 않는 한 다시 확인하지 않습니다. 매칭 구문을 수동으로 지정하거나 삭제할 수 있으며, 단일 단어 매칭에 대해서는 자동으로 확인을 요청합니다.
설정 항목
링크 설정
| 설정 | 기본값 | 목적 |
|---|---|---|
sitemap_autolink_enabled |
off | 마스터 스위치. |
sitemap_autolink_max_links_per_destination_per_post |
1 | 게시글당 각 대상이 링크될 수 있는 횟수 (첫 언급이 우선). 0 = 무제한. |
sitemap_autolink_max_links_per_post |
0 | 게시글당 자동 링크 총 수. 0 = 무제한. |
sitemap_autolink_skip_quotes |
on | 인용된 자료 내부에는 절대 링크하지 않음. |
sitemap_autolink_include_private_messages |
off | 개인 메시지도 링크함. |
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 |
– | 수동 구문,URL,유형 규칙. 상대 URL은 포럼에 대해 해석됩니다. |
sitemap_autolink_min_phrase_length |
5 | 더 짧은 생성 구문은 검토로 이동. |
sitemap_autolink_min_phrase_words |
2 | 단어가 더 적은 생성 구문은 검토로 이동 (문자+숫자 모델 번호 토큰은 예외). |
sitemap_autolink_generate_plurals |
on | 간단한 복수형 변형도 생성. |
sitemap_autolink_title_suffixes |
– | 가져온 제목 끝에서 제거되는 보일러플레이트. 항목에는 ` 포함 불가 |
sitemap_autolink_excluded_url_patterns |
– | 일치하는 사이트맵 URL은 절대 가져오지 않음 (부분 문자열 또는 * 와일드카드, 예: */checkout*). |
sitemap_autolink_excluded_terms |
– | 절대 자동 생성되면 안 되는 정확한 구문. 수동 별칭이 우선합니다. |
동기화
| 설정 | 기본값 | 목적 |
|---|---|---|
sitemap_autolink_sync_enabled |
off | 일일 사이트맵→카탈로그 작업 실행. |
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 |
off | 동기화 후 구문 변경으로 인해 영향을 받을 가능성이 있는 게시글을 재베이킹 — 동기화당 배치된 백그라운드 작업 1회. |
sitemap_autolink_auto_rebake_max_phrases |
50 | 한 번의 동기화에서 이보다 더 많은 구문이 변경되면 자동 재베이킹을 완전히 건너뜀 (초기 가져오기가 포럼 전체에 가까운 재베이킹을 트리거하지 않도록). |
sitemap_autolink_auto_rebake_max_posts |
500 | 한 번의 동기화 재베이킹 웨이브가 터치할 수 있는 최대 게시글 수. |
sitemap_autolink_max_rebakes_per_job_run |
200 | 작업 실행당 배치 크기; 더 큰 웨이브는 1분 간격의 후속 작업으로 계속됩니다. |
분석
| 설정 | 기본값 | 목적 |
|---|---|---|
sitemap_autolink_analytics_enabled |
on | 생성된 링크가 클릭될 때 internal_auto_link_click 이벤트를 gtag 또는 dataLayer를 통해 Google Analytics로 전송. 둘 다 없으면 아무 작업도 수행하지 않음. |
저는 이 플러그인을 사용해서 메인 웹사이트와 Discourse 포럼을 연결하는 데 도움을 줍니다. 이렇게 하면 위키나 스토어의 주제가 자동으로 링크를 생성할 수 있습니다.
누군가가 특정 제품에 대해 이야기할 때, 사용자가 지정한 키워드나 제품 이름 자체를 언급하기만 하면 베이킹 시점에 링크가 자동으로 추가됩니다.
마찬가지로, 위키 사이트가 있다면 위키 페이지 제목을 가져와서 자동으로 링크할 수 있습니다. 예를 들어 역사 사이트가 있고 누군가가 'The War of 1812’를 언급했는데, 이것이 동일한 이름의 위키 기사와 일치한다면 자동으로 링크됩니다.
즐겁게 사용하시길 바랍니다!
