Adding a Comment Widget to an Imweb Site
One line in the site settings, one div in a code widget. The Korean labels for both are below.
A hosted comment thread runs on Imweb, and the reason matters before you touch anything: Imweb writes the code you paste into the HTML of every page, in its own words "모든 페이지의 HTML에 공통으로 삽입됩니다", so the widget reads your own hostname when it checks where it is running. Nothing is wrapped in a sandbox. The install lives on two screens. The loader line goes into Footer Code, under 환경설정 > SEO(검색엔진최적화) > 고급 설정 > 공통 코드 삽입, and the mount element goes into a 코드 위젯 (code widget) on the page that needs the thread. Read the plan and domain section first, because both decide whether the widget can answer for your address at all.
There is no free Imweb site to test this on
Start with what Imweb does not say. No page consulted for this guide states that code insertion requires a particular tier. The pricing comparison table has no row for scripts or custom code, and neither of the two help articles that walk through the tiers mentions one. So "which plan switches the boxes on" stays unverified here rather than being guessed at, which is the honest position when a vendor is silent.
Two documented facts settle the practical question anyway. The free tier was retired on July 30, 2025, so a new site runs on a 14-day trial and then has to be paid for: Starter at 16,000 KRW a month, Pro at 24,000, Global at 40,000. And connecting your own address is spelled out: "Free 버전 사이트에서는 개인 도메인 연결이 불가하니, Starter 버전 이상의 요금제로 결제 후 개인 도메인을 연결해 주세요." Roughly: a free site cannot connect a personal domain, so pay for Starter or above first. A widget that answers only on domains you registered therefore starts at Starter, whatever the code panel itself would have allowed.
What lands on the page
The widget is running here, on this page, so you can see the finished state before deciding whether the click path is worth it. On an Imweb page it looks the same, because by then it is one div in your own document.
2 comments
- M
One line and done, did not expect setup to be this easy!
- J
Shared sign-in means nothing else to wire up. 👍
A thread filled with sample replies for the preview. Google sign-in and moderation from your dashboard arrive with the install, not with this box.
Nothing here is sandboxed, and Imweb keeps saying so
This is the question that decides whether a hosted widget can work on a builder at all, so it is worth answering with the vendor's sentences rather than a guess. Imweb describes the placements by position in your document: Header Code sits inside <head> on every page, Body Code goes immediately after <body> opens, Footer Code goes just above </body>. Those are coordinates in your page, not in a frame drawn on top of it.
The code widget documentation says the same thing from another angle. Imweb tells you not to declare jQuery or Bootstrap again because the site already loads them, which is only true of code sharing one document with the site. It warns that code touching the built-in widgets can misbehave after an Imweb update. And the troubleshooting article says a tag left open or closed in the wrong order causes trouble for "사이트의 전체적인 레이아웃과 기능", then tells you to check widget id and class names and CSS priority. Code locked inside a cross-origin frame could not reach far enough to cause any of that.
Builders split hard on this point, which is why one widget needs a different guide per platform. Wix routes pasted HTML into a sandboxed iframe on a Wix origin, so a widget that checks its hostname is finished before it starts and the fix there is a different panel entirely: the Wix install is that story. On Imweb the ordinary door is the right door.
| Box under 공통 코드 삽입 | Where Imweb puts it | What it is for |
|---|---|---|
| Header Code 상단 | Above the rest of the head | Ownership meta tags for Naver and Google webmaster tools |
| Header Code | Inside <head> on every page | Anything that has to be parsed before the body |
| Body Code | Immediately after <body> opens | Markup that has to precede your page content |
| Footer Code | Just above </body> | The loader line for this install |
The install
Two hostnames answer for one Imweb site
Every Imweb site is given a
(domain).imweb.meaddress when it is created, and Imweb states that this basic domain cannot be deleted. Connect your own domain and the imweb.me address keeps answering: the help center says automatic forwarding from the basic domain is not supported, "아임웹 기본 도메인(*.imweb.me)에서 개인 도메인으로 자동연결은 지원하지 않습니다", and the 대표 도메인 setting only forwards between two or more personal domains. So the site really does answer on two hostnames. Add both in the BootSignal dashboard, exactly as they appear in the address bar, and the dashboard hands back the site id the loader needs. Register only one and a visitor who arrives on the other reads a page with no thread on it, with no error to explain why. Both addresses are managed under 환경설정 > 도메인.Paste the loader into Footer Code
In the site admin, open 환경설정 > SEO(검색엔진최적화), scroll to 고급 설정, and find 공통 코드 삽입. Put the line below into Footer Code, then press 저장. Imweb's instruction for JavaScript here is to declare it between
<script>and</script>, which this tag already satisfies.data-langdecides the language of the widget interface itself, and Korean, English and Japanese are available.<script src="https://bootsignal.com/bootsignal.js" data-site-id="YOUR_SITE_ID" data-lang="ko" defer></script>Give the thread a home with a code widget
Imweb recommends this exact division of labour: keep a code widget to "HTML 정도만" and load shared CSS and JavaScript from the common code boxes, calling them from the widget. So the widget holds one div and nothing else. In 디자인 모드, click the 위젯 추가 + icon at the top left, choose 코드 위젯, right-click the widget that appears on the canvas, choose 위젯 설정, paste the div, and press 저장 at the bottom right. The
data-thread-idvalue is what separates one conversation from another, so give each page its own.<div data-bootsignal="comments" data-thread-id="blog/hello-imweb"></div>Check it in 미리보기, then on the live address
The canvas will look empty, and that is documented behaviour rather than a failed paste: Imweb renders a code widget only in 미리보기 (preview) mode, to keep pasted code from colliding with the editor. Use 미리보기 at the top right, then open the published address and scroll to the widget. Open it on the personal domain you registered. The imweb.me address stays quiet unless you added that hostname too, which is step one doing its job.
When you would rather not type a thread id per page
Hand-written ids are fine for a handful of pages and tiresome after that, and a duplicated id quietly merges two conversations into one. The alternative is to leave the attribute off the div and let one snippet fill it in from the path. Paste this above the loader tag in the same Footer Code box: it runs while the page is parsed, and the loader tag is deferred, so the ids are in place before anything scans for mounts.
<script>
(function () {
function stamp() {
var sel = '[data-bootsignal="comments"]:not([data-thread-id])';
var list = document.querySelectorAll(sel);
for (var i = 0; i < list.length; i++) {
list[i].setAttribute('data-thread-id', location.pathname);
}
if (list.length && window.BootSignal && window.BootSignal.activate) {
window.BootSignal.activate();
}
}
stamp();
document.addEventListener('DOMContentLoaded', stamp);
})();
</script>What the code widget will not do
Imweb draws the boundary itself, and it is a short list worth reading before you spend an evening on the wrong idea. The code widget supports client-side languages only: HTML, JavaScript and CSS run, while PHP, JSP and ASP do not. A widget accepts up to one million characters, which no embed will ever approach. Comments are removed on save. And because Imweb already loads jQuery and Bootstrap, adding your own copies is work that buys nothing.
The comment widget wants none of what is missing. It is a hosted service: sign-in, storage and moderation live on our side, and the page only needs a div and a deferred script. That is the whole reason this install fits inside a text box in an admin panel.
Two boxes on two screens, one site id, and replies start landing in your dashboard.
What it costs on top of Imweb
Imweb bills per site plan, from 16,000 KRW a month at Starter. BootSignal bills per registered domain: $20 per month or $200 per year per registered domain. That covers all 38 widgets in the catalog and the ones added after you subscribe, and nothing about the bill moves when traffic does. Your imweb.me address and your own domain are two entries in the same site's domain list rather than two subscriptions, so the pair costs what one costs. The pricing page has the rest.
Competitor prices are not on this page on purpose, because a number that goes stale inside a guide is worse than no number. The alternatives section carries those with a source and a date attached to each one.
The second widget is a shorter job
The loader in Footer Code already knows how to mount everything else in the catalog, so the next widget is one more code widget with a different data-bootsignal value. Feedback earns its place quickly on a Korean small-business site: the visitor who would never post in public will often send one private line about a price or a delivery date.
Private: only the owner reads it
The Feedback widget, with sample entries standing in for real ones. Details on the Feedback page.
When the published page shows nothing
- Are you looking at the canvas? A code widget draws in 미리보기 mode and on the live site, and nowhere else.
- Is
bootsignal.jsin the Network tab of the live page? If it is missing, the Footer Code entry was never saved. - Does the address bar show a hostname you registered? An imweb.me address you skipped renders nothing at all, which is the allowlist working as intended.
- Did part of the page layout break at the same time? Imweb warns that tags left open or closed in the wrong order affect the whole site layout and its features, so re-read the paste before suspecting the widget.
- Does the div carry a
data-thread-id? Without one the loader writes a console warning and draws nothing. - Did anything server-side go into the widget? Client-side languages only, so PHP, JSP and ASP never run there.
Questions people ask
- Which Imweb plan unlocks the common code boxes?
- No Imweb page consulted for this guide names one, and the feature comparison table has no row for scripts, so that specific answer is unverified rather than known. What is written down is the domain requirement: a free site cannot connect a personal domain, and Starter or above can. Since the widget answers only on hostnames you registered, Starter is the practical floor.
- The canvas is empty where the code widget sits. Did the paste fail?
- Probably not. Imweb renders a code widget only in 미리보기 mode inside 디자인 모드, deliberately, so that pasted code does not collide with the editor. Switch to 미리보기 first, and confirm on the published address afterwards.
- My HTML comments disappeared from the saved code. Is something rewriting it?
- That is documented behaviour: Imweb strips comments when the code is stored for the live site. It is harmless in itself, and it matters only if you planned to leave a comment in the markup and find it later with a script. Attach to a real element instead.
- Do I have to add the imweb.me address if I already connected my own domain?
- Yes, if anyone reaches the site that way. The basic domain cannot be deleted, and Imweb does not support automatic forwarding from it to a personal domain, so both addresses stay reachable. A visitor who lands on the unregistered one sees the page without the thread.
- Can the widget code call anything on the server?
- Not from a code widget. Imweb runs client-side languages there, so PHP, JSP and ASP are out. This widget needs none of them: the sign-in, the stored replies and the moderation screen are hosted, and the page contributes one div and one deferred script tag.
- Imweb already loads jQuery. Does the loader want its own copy?
- No. The loader is self-contained and asks for no library, which is convenient here because Imweb ships jQuery and Bootstrap with the site and says as much. Leave both alone. Loading a second copy of either is a well-known way to break widgets that were working.
Add the personal domain and the imweb.me address. One site id ties both to one install.
Where these numbers come from
- Imweb FAQ: 사이트에 공통으로 CSS, 스크립트를 삽입하고 싶어요. (환경설정 > SEO(검색엔진최적화) > 고급 설정 > 공통 코드 삽입; Header Code 상단, Header Code, Body Code, Footer Code; "모든 페이지의 HTML에 공통으로 삽입됩니다") (checked 2026-08-26)
- Imweb FAQ: 코드 위젯 (디자인 모드 > 위젯 추가 + > 코드 위젯 > 위젯 설정; 클라이언트 사이드 언어만 지원, jQuery/Bootstrap 기탑재, 주석 제거 저장, 미리보기 모드에서만 렌더) (checked 2026-08-26)
- Imweb FAQ: 삽입한 코드가 제대로 동작하지 않아요. (태그 열고 닫힘이 사이트 전체 레이아웃과 기능에 영향, 위젯 ID, 클래스명 확인, CSS 우선순위) (checked 2026-08-26)
- Imweb 요금 안내 (Starter 월 16,000원, Pro 24,000원, Global 40,000원; 기능 비교표에 스크립트, 코드 삽입 행 없음) (checked 2026-08-26)
- Imweb FAQ: 아임웹 요금제 알아보기 (Free 요금제 2025년 7월 30일 폐지, 14일 무료 체험) (checked 2026-08-26)
- Imweb FAQ: 아임웹 요금제별 차이점 (checked 2026-08-26)
- Imweb FAQ: 아임웹 기본 도메인 변경하기 ((domain).imweb.me 무료 제공, 삭제 불가, 개인 도메인 연결은 Starter 이상) (checked 2026-08-26)
- Imweb FAQ: 사이트 대표 도메인 설정하기 ("아임웹 기본 도메인(*.imweb.me)에서 개인 도메인으로 자동연결은 지원하지 않습니다") (checked 2026-08-26)
- Imweb 앱스토어: 스크립트 직접 삽입(고급 설정), 지면이 클라이언트 렌더라 본문은 읽지 못했고 meta description 만 확인했다 (checked 2026-08-26)