第三方腳本拖慢網站速度:追蹤碼、客服外掛與廣告像素的去留決策表
第三方腳本太多時該依什麼順序決定去留
先問每一支腳本有沒有人在看它產出的資料,沒有人看的直接移除。有人看的再依是否影響成交分成立即載入、延後載入、互動後才載入三級。這個順序能在不動網站程式的前提下,拿回大部分被腳本吃掉的網站速度。
第三方腳本是指由外部服務提供、嵌在你網站上執行的程式碼,例如流量分析、廣告轉換追蹤、線上客服視窗、熱點圖錄影、彈出式訂閱表單。每一支都要連線到外部主機、下載、解析、執行,全部加起來常常比網站自己的程式還重。
這篇把我們在速度專案裡使用的決策表拆開來講。它適合行銷主管自己操作,不需要會寫程式,只需要代碼管理工具的檢視權限與一個下午。
腳本會越積越多是因為只有人裝沒有人拆
一個營運三年以上的網站,身上通常掛著前後三任行銷人員與兩家代理商留下的東西。每次試用新工具就加一段碼,試用結束沒有人記得拿掉。帳號停用了,腳本還在每一頁載入。
會議上最常聽到的一句話是:那個不要動,我怕拿掉會壞。這句話本身就是問題的核心。沒有人知道它在做什麼,所以沒有人敢拆。決策表的第一個作用,是把不知道變成知道。
盤點時每一支腳本要填滿六個欄位
打開試算表,一支腳本一列。資料來源有兩個:代碼管理工具裡的代碼清單,以及瀏覽器開發人員工具的網路面板。後者能抓到直接寫死在佈景裡、沒有經過代碼管理工具的腳本。
- 名稱與來源網域:這支腳本從哪個外部主機載入
- 用途:分析、廣告、客服、表單、影音、字型、其他
- 負責人:現在公司裡誰在用它的資料或功能,寫人名不寫部門
- 最後使用日期:負責人上次登入該工具後台是什麼時候
- 載入位置:全站、特定頁面、結帳流程
- 載入成本:檔案大小與執行時間,可從開發人員工具或 PageSpeed Insights 的第三方程式碼診斷項目取得
最容易卡住的是負責人欄位。常有三分之一的腳本填不出人名。我們的規則是,問過兩輪仍然沒有人認領的,一律列入移除候選,並在公司群組公告一週。
決策表的第一層先看有沒有人使用
第一層只有一個問題:過去九十天內,有沒有人打開這個工具的後台,並根據它做過任何決定。
沒有,就移除。這一層不談效能,只談有沒有用。熱點圖工具裝了兩年沒人看、已經停止投放的廣告平台像素、活動結束的問卷彈窗、前一家代理商的再行銷代碼,都在這一層出局。
移除前做一件事:把代碼的設定截圖存檔,或在代碼管理工具裡暫停而非刪除。暫停兩週沒有人來問,再正式刪除。這個緩衝能大幅降低同事的抗拒。
第二層看這支腳本是否必須在頁面一開始就執行
留下來的腳本,接著問:使用者看到第一個畫面之前,它需要先跑完嗎。多數腳本的答案是否定的。我們把它們分成三級。
- 立即載入:同意管理、流量分析的基礎設定、會改變首屏內容的測試工具,這些晚了會漏資料或造成畫面閃動
- 延後載入:廣告轉換像素、再行銷代碼、社群分享按鈕,等頁面主要內容顯示完成後再載入
- 互動後才載入:線上客服視窗、嵌入式影片播放器、地圖、評論元件,等使用者捲動到該區塊或點擊後才載入
客服視窗是爭議最大的一項。客服主管會說,晚出現就少接到對話。實務上可以先放一個靜態的對話按鈕圖示,使用者點下去才載入真正的客服程式。畫面上的入口沒有消失,程式的重量卻延後了。
第三層看載入範圍能不能從全站縮到特定頁面
很多腳本被設定成全站觸發,實際上只在少數頁面有用。表單工具只需要出現在有表單的頁面。結帳相關的轉換追蹤只需要在購物車之後觸發。問卷工具只需要在訂單完成頁。
在代碼管理工具裡把觸發條件從所有頁面改成指定網址路徑,是整張表裡投資報酬最高的動作。不用工程師,不影響功能,首頁與文章頁立刻變輕。
第四層處理功能重疊的工具並做出取捨
盤點後常發現同一種功能裝了兩三套。兩套分析工具、兩套熱點圖、三個廣告平台各自的轉換追蹤再加一套整合工具。每一套當初都有理由。
這一層沒有技術答案,要由主管裁決。我們會準備一頁對照,列出每一套工具誰在用、用來回答什麼問題、停用後哪一份報表會受影響。會議上請主管當場決定留哪一套。拖到會後通常就沒有下文。
把四層判斷收成一張可以直接照做的對照表
- 無人認領或九十天未使用:暫停兩週,無人反應即刪除
- 有人使用,且不影響首屏與資料完整性:改為延後載入
- 有人使用,屬於使用者主動才需要的功能:改為互動後載入,並放靜態入口
- 有人使用,只在少數頁面有意義:縮小觸發範圍
- 功能與另一套工具重疊:主管裁決留一套
- 涉及同意管理與隱私設定:維持原狀,變更前請法務或熟悉當地個資規範的專業人士確認
驗收時同時看速度數據與追蹤資料有沒有缺漏
速度的部分,調整前後各用 PageSpeed Insights 測首頁、一個分類頁、一個商品或服務頁、一篇文章,記錄主執行緒被阻塞的時間與第三方程式碼的診斷清單。實驗室數據當天就能看到差異。真實使用者的核心網頁指標要等大約四週才會完整反映,因為那份資料採用近二十八天的滾動統計。
資料完整性的部分更重要,也更常被忘記。延後載入廣告像素之後,要到廣告後台確認轉換事件仍然有進來,數量與調整前同一時段大致相當。GA4 的即時報表也要實測一次完整的購買或表單流程。
我們遇過的失誤是把轉換像素延後得太晚,使用者送出表單後立刻跳轉,像素還沒來得及載入。廣告後台的轉換數掉了一截,一週後才被發現。現在的做法是,轉換頁面上的追蹤一律維持立即載入,延後只套用在瀏覽型頁面。
交付文件除了決策表還要附上一條新增規則
清完一輪,半年後又會長回來。所以交付的最後一頁是新增腳本的申請規則,只有四行:誰申請、為了回答什麼問題、預計使用到什麼時候、到期由誰負責移除。
代碼管理工具裡的每一個代碼,名稱加上負責人與到期月份。每季由行銷主管花十五分鐘掃一次到期清單。這個習慣比任何一次性的效能優化都持久。
這張決策表在以下情況幫不上忙
網站慢的主因如果在主機回應時間、未壓縮的大圖或佈景本身的程式,清腳本的效果有限。動手前先看 PageSpeed Insights 的診斷,第三方程式碼的影響排在前幾項才值得從這裡下手。
廣告投放量很大、依賴多平台歸因的電商,像素之間有相依關係,延後或移除可能影響出價系統的學習。這類網站要與負責投放的人一起逐項評估,不適合由行銷主管單獨照表操作。
使用封閉式開店平台且無法控制載入時機的網站,能做的只剩移除與縮小範圍兩招。延後與互動後載入需要平台支援或工程協助。
常見問題
怎麼知道我的網站裝了哪些第三方腳本?
打開代碼管理工具的代碼清單,再用瀏覽器開發人員工具的網路面板重新載入頁面,把所有外部網域列出來,兩邊對照就能找到寫死在佈景裡的腳本。
移除追蹤碼會不會影響廣告成效?
移除沒在投放的平台像素不會有影響。仍在投放的平台,轉換頁面的追蹤要維持立即載入,並在調整後到廣告後台確認轉換事件數量正常。
線上客服外掛很拖速度,一定要拿掉嗎?
不必拿掉。可以先顯示一個靜態的對話按鈕,使用者點擊後才載入客服程式,入口還在,載入成本延後到真正需要時才發生。
延伸閱讀:SEO 技術優化主題文章、最新新知、行銷案例
