首頁指南方案還停在 Basic,Squarespace 就跑不了任何第三方留言區

方案還停在 Basic,Squarespace 就跑不了任何第三方留言區

先確認方案,再到 Code Injection 貼一次,最後在文章裡放一個 Code Block。

更新

第三方 JavaScript 在 Squarespace 上只有 Core 以上的方案跑得動,所以在複製任何一段程式碼之前,先看清楚這個網站用的是哪一檔方案:停在 Basic,留言區根本沒有機會出現。方案是 Core、Plus 或 Advanced,剩下的就是兩次貼上,一次把載入器的 <script> 放進全站共用的 Code Injection,一次把一行掛載元素放進留言區該落腳的那個 Code Block。登入、儲存和審核都由 BootSignal 一起帶過來,你的網站不必為它多做什麼。

裝不裝得成,方案先說了算

Squarespace 賣四檔方案,這篇文章要講的那條線就落在頭兩檔之間。Basic 也給你 Code Block,可是那個區塊只收純文字、HTML、Markdown 和 CSS。把 <script> 標籤放進去,什麼都不會執行。全站共用的 Header 和 Footer 兩個欄位,也就是 code injection,Basic 同樣沒有。

Squarespace 把這件事寫在兩個地方。價格對照表把 code injection 和進階的程式碼區塊標成 Basic 不含、Core 與 Plus 與 Advanced 包含。說明中心說的一樣:code injection 可用於 Core、Plus、Advanced 以及部分舊的收費方案;程式碼區塊裡的 JavaScript 或 iframe 可用於 Core、Plus、Advanced,再加上已經停售的 Business 和 Commerce 幾檔。

Squarespace 方案價格(USD)Code injection程式碼區塊裡的 JavaScript
Basic每月 $25 或每年 $228不行不行
Core每月 $39 或每年 $348可以可以
Plus每月 $65 或每年 $588可以可以
Advanced每月 $139 或每年 $1,188可以可以
2026-08-25 在 squarespace.com/pricing 和 Squarespace 說明中心讀到的數字。跑得動任何一個第三方小工具的最低方案是 Core,這個留言區也在裡面。

Business、Commerce Basic 和 Commerce Advanced 在那幾篇說明文章裡還留著名字。它們是不再販售的舊方案。你的網站要是正好在其中一檔上,自訂程式碼你早就能用,下面的內容原樣適用。

先看見留言區,再去動面板

預覽

2 則評論

新增評論…
以 Alex 身分留言發佈
  • M
    Maya2 小時前

    真的一行就搞定,沒想到安裝這麼簡單!

  • J
    Jordan昨天

    連登入都是共用的,不用再額外接入。👍

用範例留言畫出來的一段對話。放進 Squarespace 的區段裡,它會繼承頁面的寬度和背景,像其他區塊一樣排在內容流裡。

兩個面板,兩件不同的事

Squarespace 把全站共用的程式碼和頁面裡的程式碼分在兩個地方管,這次安裝兩邊各用一個。載入器得出現在任何可能長出小工具的頁面上,所以它進 Code Injection。掛載元素標的是留言區落腳的那一點,所以它以 Code Block 的形式進頁面正文。

第一次裝壞,多半就壞在把這兩樣對調。把掛載用的 div 放進全站的 Footer 欄位,每個頁面底部都會長出一個留言區,而且它們共用同一段對話。順帶交代一下本文的寫法:Squarespace 的帳號介面語言沒有中文可選,說明中心也只有英語、德語、西班牙語、法語、義大利語、日語、韓語、荷蘭語、葡萄牙語和土耳其語,所以這裡的面板名一律保留英文原樣,括號裡寫的是那個欄位在做什麼,不是中文標籤。

要貼的程式碼貼進哪裡生效範圍
載入器 <script>Website > Website Tools > Code Injection > Footer站內每個頁面,注入在 body 結束標籤之前
掛載用的 <div>頁面或文章正文裡的一個 Code Block只有那一個頁面,只在版面上的那一點
只給單一頁面的載入器Pages > (那個頁面) > Settings > Advanced只有那個頁面,用它自己的頁面級注入欄位
之後不管掛上幾個小工具,每個頁面有一個載入器就夠了。

一個面板一個面板地裝

  1. squarespace.com 的內建網址本身就算一個網域

    每個 Squarespace 網站一開始都帶一個 something.squarespace.com 的內建網址,在你接上自訂網域之前,它就一直用這個網址回應。所以在試用的網站上,或者在還沒把正式網域指過來的改版裡,網址列上那個地址和你將來上線的地址不是同一個。BootSignal 在載入留言區之前會拿 location.hostname 去比對登記在你 site id 名下的網域,因此那兩個地址在控制台裡是兩筆各自獨立的記錄,而不是一個網站的兩個名字。先把現在這個加進去,接上自訂網域那天再加上它,等內建網址上什麼都打不開了再把它刪掉。控制台會把 site id 排在網域旁邊,而這串字元是整篇文章裡唯一要從 BootSignal 抄過來的值。

  2. 把載入器貼進 Code Injection

    從 Squarespace 的後台依序打開 Website、Website Tools、Code Injection(全站共用的程式碼欄位)。標籤放進 FOOTER 那一欄再儲存,Squarespace 會把這一欄的內容注入到站內每個頁面的 body 結束標籤之前。放 Header 那一欄也跑得動,放 Footer 則不會擋在第一次繪製前面。

    程式碼
    <script src="https://bootsignal.com/bootsignal.js"
            data-site-id="YOUR_SITE_ID" data-lang="zh-tw" defer></script>
  3. 在留言區該在的位置放一個 Code Block

    把那個頁面或部落格文章切到編輯狀態,把游標移到正文下方的區段上,按 Add block 或 + 按鈕,從區塊選單裡挑 Code。點鉛筆圖示打開區塊編輯器,把掛載元素貼進文字欄位。page-key 換成一個只屬於這篇文章、以後也不會變的值,文章的 slug 就很合適。

    程式碼
    <div data-bootsignal="comments" data-thread-id="page-key"></div>
  4. 關掉 Display Source,再按 Apply 並儲存

    區塊編輯器裡有一個 Display Source 開關(把原始碼當成文字顯示出來)。開著,這段標記就被畫成看得見的文字;關掉,它才會執行。這裡要關掉。先給區塊按 Apply,再儲存頁面。

  5. 用無痕視窗驗收

    在沒有 Squarespace 登入狀態的地方打開公開網址。只有這個畫面說的才算數,理由寫在後面兩節裡。

Display Source 會把嵌入的程式碼變成文字

留言區該在的位置上直挺挺躺著一行角括號,原因就是它,沒有例外。Code Block 身兼兩職:它可以執行你的標記,也可以把標記當成給讀者看的程式碼範例畫出來,走哪一條由 Display Source 決定。開著不管,Squarespace 就會老老實實把 <div data-bootsignal="comments"> 印給訪客看。

這個開關不在網站設定裡,而在區塊編輯器內部,所以它一個區塊一份。三個月後你新加的 Code Block 也帶著自己的開關起步,能用同樣的方式再坑你一次。確認它花兩秒;從前台一路往回追原因,卻要賠上半天,因為根本沒有東西壞掉。

編輯畫面不是驗收的地方

Squarespace 對待登入狀態和訪客狀態並不一樣,而自訂程式碼正是兩者分岔的地方。在你斷定小工具壞掉之前,有四件事得先知道。

  • 登入狀態下腳本經常不執行。Squarespace 寫得很直白:這是一種安全措施,有時候你登入時看不到自己的程式碼,訪客卻看得到。
  • Code Block 的編輯器裡有一個 Preview in Safe Mode 按鈕(把嵌入的東西單獨渲染一次),至少能讓你確認標記本身是完好的。
  • 自訂程式碼要是把編輯器絆住了,你會看到 "We detected an error loading your site preview" 這則訊息,旁邊還有一個 Disable Scripts in Preview 按鈕(在編輯器裡停掉自訂程式碼)。按下去,登入期間自訂程式碼就不再渲染,訪客那邊照舊。Squarespace 不建議在預覽裡把腳本重新打開,因為那會妨礙你編輯網站。
  • 一個沒有 Squarespace 登入狀態的無痕視窗,是唯一能把這個問題了結的檢查。

訂閱只有一份,區塊以後想加幾個都行

留言區不單賣。一個已登記網域是 每月 $20 或每年 $200,這一行就涵蓋整份目錄:今天是 38 個付費小工具,旁邊還有 33 個免費的瀏覽器工具,以及你訂閱期間新上線的東西。這筆錢裡沒有哪一項在數瀏覽次數或留言則數,所以意外傳開的那篇文章和沒人讀的那篇文章付一樣的錢。再多一個 Squarespace 網站就是再多一個網域,網域在同一個控制台裡新增。

落到 Squarespace 上,這句話的意思是第二個小工具的代價只多一個 Code Block。載入器已經在 Code Injection 裡了,想在同一篇文章下面掛上評分,不過是在新區塊裡寫一個 div。

預覽
★★★★ 4.2 · 36 則評論
★★★★★

五分鐘搞定,介面也很乾淨。

Sam

評分與評論小工具,向同一位登入過的訪客收下一個分數和一小段評語。

這一類小工具裡有不少是反著來的,所以下面兩句要說出聲。用戶評價牆只用評分小工具真正收到的評語來砌牆,它根本沒有編造引文的機制。社會認同提示只把你網站上已經存下的真實動靜重播一次,所以它永遠不會生出「俄亥俄州的某人剛剛買了這個」那種彈窗。

幫我的 Squarespace 文章加上留言區

Core 以上的方案,Code Injection 貼一次,每篇文章一個 Code Block。

還在挑,而不是已經決定要裝哪一個?託管式留言系統的價格對照收在備選方案那一欄

一個月後才咬人的那幾件事

  • 一篇文章一個 thread id,永遠如此。兩個 Code Block 共用同一個 data-thread-id,對話也就共用了。直接拿文章的 slug 來命名,下一個來改站的人一眼就看得出規律。
  • 要是為了間距或寬度在區塊周圍寫 CSS,請寫進 CSS Editor,別寫進 Code Injection 的 header。Squarespace 提醒 Ajax 載入頁面會讓注入的 CSS 套不上去,並且指名這種情況要用 CSS Editor。
  • 一個 Code Block 最多裝 400 KB,換算成字元大約是 300,000 個。一行掛載元素離這個數還遠得很,不過以後要往裡貼更重的東西,天花板就在那裡。
  • 只對 7.0 版的網站成立:放在 Index 裡的頁面,上面的程式碼可能不會顯示。Squarespace 給的繞路方式是把這個頁面移出 Index,然後登出再看一次。
  • 自訂程式碼在 Squarespace 的支援範圍之外,他們也提醒平台更新可能弄壞這類以程式碼做的客製。改完版型之後的那次檢查,得你自己跑。

改版檢查清單裡可以多一個習慣:動過版型或區段之後,用無痕視窗打開一篇文章,確認留言區還在原地。版面一變,Squarespace 會挪動區塊,而掉進隱藏區段裡的 Code Block,會把留言一起帶走。

常見問題

Squarespace 頁面上,貼進去的程式碼為什麼變成一行文字?
Code Block 編輯器裡的 Display Source 開關開著。開著就把標記畫成看得見的文字,關掉才會執行。用鉛筆圖示打開區塊,把開關關掉,按 Apply 再儲存。這個設定一個區塊一份,所以新開的區塊還會再來一次。
在 Squarespace 編輯畫面裡看不到留言區,正常嗎?
多半看不到,而且這就是正常的。Squarespace 說明,出於安全考量,訪客看得到的程式碼在你登入期間可能不顯示,編輯器裡還有一個 Disable Scripts in Preview 按鈕可以把它整個關掉。想確認標記是否完好就用 Preview in Safe Mode,結論則要在無痕視窗裡打開公開網址才算數。
留言區的字型和我的版型不一樣,可以改嗎?
只能從外面改,而且是刻意做成這樣的。留言區畫在一個自帶樣式表的 shadow root 裡,你這邊換版型漏不進去,你的 Custom CSS 也伸不進來,文字用的是系統字型堆疊而不是你的內文字型。它確實會讀一樣東西,就是區塊背後的背景色,落在深色區段裡就換成深色配色,這也是它不必人教就不會在深色區段裡顯得突兀的原因。強調色可以在掛載元素上加 data-accent,值寫任何一種 CSS 色彩,例如 data-accent="#c9563f"。區塊周圍的間距和寬度是普通的頁面 CSS,那部分歸 CSS Editor 管。
掛載用的 div 和載入器一起放進 Code Injection 會怎樣?
每個頁面底部都會多出一個留言區,而且全部共用一段對話,因為 Footer 那一欄是全站共用的,複製出去的每個 div 又都帶著同一個 data-thread-id。這兩次貼上的職責不同:載入器要出現在任何可能長出小工具的地方,所以走全站;掛載 div 標的是某一個頁面上的某一點,所以它屬於那篇正文裡的 Code Block。把它從 Footer 欄位裡拿出來,在文章裡加一個 Code Block,再給它一個只屬於這篇文章的 thread id,文章的 slug 就行。
Squarespace 內建的部落格留言功能現在還在嗎?
這部分隨版型世代變過,與其信一篇講它的文章,不如直接打開自己部落格文章的設定去看。沒變的是這裡講的自訂程式碼這條路:只要方案在 Core 以上,它在 7.0 和 7.1 上表現一致,而你的對話跟著 site id 走,不跟著版型功能走。
放進 Index 裡的頁面為什麼完全看不到留言區?
Squarespace 把這種情況單獨寫了出來,而且限定在 7.0 版的網站上:嵌在 Index 裡的頁面,程式碼可能不會顯示。他們給的繞路方式是把頁面移出 Index,登出之後再讀一次公開網址。如果你的站是 7.1,這就不是原因了,那就去檢查那塊空白,因為版面變動會把 Code Block 挪進沒人看得見的區段裡。
登記我的 Squarespace 網域

填網域,抄下 site id,然後貼兩次。方案要 Core 以上。

數據來源