當你測量 HTML 頁面權重時,外部圖片、CSS 與 JavaScript 檔案大小並不會被加進位元組總計——HTML 頁面權重分析器只計算貼上的回應主體,因此每個外部檔案只貢獻其標籤與網址所使用的字元數。這個區別很重要,因為分析器從不抓取你的頁面、從不執行標記、也從不下載被引用的檔案;它會解析你交給它的文字(位於一個分離的範本片段中),然後回報該文字的 UTF-8 位元組長度,以及一份說明其內容組成的結構化細目。連結的樣式表、腳本、圖片、框架、預先載入與媒體引用會依其屬性被辨識並列在清單中,但清單中列出的是網址,而不是檔案大小。Googlebot 與網頁渲染服務( WRS )日後可能會以各自的單一網址額度去抓取每個被引用的資源,而那次抓取會受另一組限制所規範。在分析器內部,一個外部引用只是 HTML 原始碼中的字元。若要在你自己的工作流程中驗證這點,請開啟 HTML 頁面權重分析器,貼上一段未經修改的 HTML 回應,並確認外部資源清單列出的是網址,而標題列的位元組總計只反映貼上的主體。

HTML 頁面權重分析器實際計算的內容
分析器完全在你的瀏覽器中執行,且只讀取你貼上的內容。它會使用瀏覽器的 TextEncoder API 將原始輸入以 UTF-8 位元組來測量,計算 Unicode 字碼點,並解析一個永遠不會附加到即時文件上的分離範本片段。該片段不會被執行,因此腳本不會執行、表單不會送出,而圖片、iframe、樣式表或腳本的網址也不會被請求。你在結果中看到的一切,都是分析器從貼上的原始碼中抽取出來的文字。
在該貼上的原始碼中,分析器區分出三組位元組。行內腳本與樣式文字會從每個 <script> 與 <style> 元素中抽出,並以各自的位元組總計與佔主體的百分比呈現。嵌入的 data URI 載荷(也就是在任何支援的直接資源屬性中以 data: 開頭的內容)會依其在原始碼中的樣貌計算一次,而不會重新解碼 Base64 並再把解碼後的位元組加回去,因為那會把已經存在於標記中的位元組重複計算。最後,一份受限的外部資源引用清單會由 src、href 與解析器所能辨識的其他直接屬性建立出來。
為何外部資源大小不會被計入總計
一個外部樣式表、腳本、圖片、框架、預先載入或媒體引用,只貢獻 HTML 回應中實際出現的字元。分析器會列出這些引用,讓你能區分「文件本身很重」與「文件只是指向很重的檔案」,但它從不下載那些檔案,也不會宣稱知道它們的大小。Googlebot 與網頁渲染服務可能會分開抓取被引用的資源,而每次抓取都受各自的單一網址額度規範,而非被併入母文件的測量結果。
解析器使用瀏覽器原生的 HTML tokenizer,並運行在分離的範本內部,這對於像 <textarea>、<title>、<script> 與 <style> 等「原始文字邊界」很重要,因為正則表達式可能會誤讀它們。巢狀範本內容會維持惰性,並被排除在資源清單之外。計數與顯示的值都設有上限,讓非常龐大的貼上文件無法產生無上限的結果檢視;嚴格的輸入上限加上共用的元素上限,可保護主執行緒不會因為不小心的整站傾印或惡意標記而受到影響。這個工具不是網路瀑布圖、壓縮計算器或 Core Web Vitals 測試;它不知道 gzip 或 Brotli 的傳輸大小、伺服器標頭、快取行為、晚發生的用戶端 DOM 變更、資源回應大小、執行成本、渲染成本,也不知道 Google 實際上索引了什麼。
| 貼上 HTML 中出現的內容 | 是否計入主體位元組總計? | 分析器實際做的事 |
|---|---|---|
| 行內 <script> 文字 | 是 | 以 UTF-8 位元組測量,並以佔主體的比例回報 |
| 行內 <style> 文字 | 是 | 以 UTF-8 位元組測量,並以佔主體的比例回報 |
| 支援屬性中的 data: URI | 是 | 依其在原始碼中的屬性值樣貌計算一次 |
| <script src="..."> 的 URL 文字 | 是(僅 URL 字元) | 依 URL 列出,不會下載該檔案 |
| <link rel="stylesheet" href="..."> | 是(僅 URL 字元) | 依 rel token 識別,列出但不附帶 payload |
| <img src="external.jpg"> | 是(僅 URL 字元) | 列為一筆引用,不加入傳輸大小 |
| 外部 CSS、JS 或圖片檔案的 payload | 否 | 從不抓取檔案,也不猜測大小 |
| HTTP 回應標頭 | 否 | 不存在於貼上的主體中,無法測量 |
如何測量你的 HTML 主體權重
- 貼上原始、未壓縮的 HTML 回應主體,並透過「檢視原始碼」或經授權的 curl 回應擷取,而非來自已被變動過的 Elements 面板。
- 執行分析並檢視 UTF-8 位元組總計、2 MB 參考位置、行內腳本與樣式所佔比例、data URI 權重,以及受限的外部資源清單。
- 修正你能歸因到貼上原始碼中、最大的原始碼層級熱點,接著重新測量已部署的回應,並記得 HTTP 標頭與分開抓取的資源仍不在這次貼上主體的計算範圍內。
「檢視原始碼」檢視、所儲存的回應主體,或經授權的 curl 擷取,會比 Elements 面板更好的輸入來源,因為 JavaScript 可能在回應抵達後變動即時 DOM,進而插入伺服器輸出中沒有的變更,並刪掉原本存在的原始碼細節。若你的伺服器會依使用者代理、語系、身份驗證或裝置而回應不同內容,請測試你實際打算上線的那個具代表性回應,而不是對匿名變體取平均。
解讀行內、Data URI 與外部引用的細目
位元組大小和 JavaScript 字串長度並不相同。瀏覽器字串以 UTF-16 字碼單元計算,而 HTML 回應通常以編碼後的位元組傳輸,兩者在非 ASCII 範圍會迅速產生分歧。ASCII 字元通常佔一個 UTF-8 位元組,但含音字母、CJK 文字與 emoji 會佔更多。以一個實際的例子來看,取一段完全由 ASCII 字母組成的 1,000 字元字串:byte_total = 1,000 × 1 = 1,000 UTF-8 位元組。現在把同樣的字串中,把 100 個字母換成含音字元,每個含音字元佔 2 個位元組:byte_total = (1,000 − 100) × 1 + 100 × 2 = 900 + 200 = 1,100 UTF-8 位元組。分析器把相同的編碼算術套用於整段貼上內容,因此標題列的總計反映的是傳輸位元組,而不是一旦文件中含任何非 ASCII 內容就會誤導的字元數。
顯示在你主體總計旁的 2 MB 參考,是一個透明化的十進位 2,000,000 位元組比較基準,刻意採取保守取向,並非認證。Google 目前的文件指出 Googlebot 會擷取支援檔案的前 2 MB,並在切點處停止擷取,且該限制適用於未壓縮資料。稍後的一篇技術說明補充,HTTP 標頭會佔用一部分的單一網址額度。由於分析器只能接收貼上的回應主體,它無法測量真實的回應標頭,也無法證明 Googlebot 會在哪個位置停止,因此介面把 2 MB 標示為「十進位 2,000,000 位元組主體參考」,並在該線下方顯示剩餘位元組,或在上方顯示超出量,同時保留標頭的相關提醒。
行內程式碼確實會計入文件主體。分析器以 UTF-8 測量每個行內腳本與樣式元素內部的文字,並同時回報位元組總計與佔完整原始碼的百分比。外部腳本元素則改以 src 列出。樣式表與預先載入連結會透過 rel token 識別,常見的直接圖片、媒體與框架屬性也會被納入清單。srcset 值會被保留為單一宣告,因為 data URL 會讓天真的逗號切分變得不安全,這代表 data URI 內部一個多餘的逗號,不會意外地把引用筆數乘以好幾倍。
| Googlebot 分開處理的層級 | 2 MB 額度適用的位置 |
|---|---|
| HTML 回應主體 | 計入回應的前 2 MB |
| HTTP 回應標頭 | 與主體一同佔用單一網址額度 |
| 外部 CSS 或 JS 檔案 | 每個皆以各自的單一網址額度抓取 |
| 外部圖片與媒體 | 每個皆以各自的單一網址額度抓取 |
悄悄膨脹主體權重的常見熱點
把這份細目當作除錯地圖,而不是評分。龐大的行內腳本位元組可能指向序列化應用狀態、重複的水合資料,或可以移到可快取外部檔案的內嵌程式庫。龐大的行內樣式位元組可能代表應被整合或修剪的重複關鍵 CSS。龐大的 data URI 總和可能會揭露直接內嵌於標記中的 Base64 圖片或字型——這很方便但成本高昂;一張高解析度的 Base64 圖片可能就會額外增加數十甚至數百 KB,一旦改為獨立、可快取的檔案來提供,大小就會大幅縮減。冗長的外部資源清單可能會顯示重複的標籤,但引用筆數本身並非效能訊號。
找到熱點後,做出最小且誠實的修改,並重新測量真實的回應。把適合的程式碼移到可快取的外部檔案、移除重複的序列化資料、避免在 data URI 中嵌入大型二進位 payload,並把關鍵中繼資料與內容放在回應的前段。接著透過 DevTools、curl 與 Search Console 驗證已部署的位元組、回應標頭、渲染後的頁面與索引證據,而不是假設一個較小的數字就能保證爬取、索引或排名。Google 記載的限制也可能隨時間改變,因此請把分析器介面上的來源連結與參考日期視為比任何單一位元組門檻更具權威性的依據。Google 於 2026 年 3 月更新的 Inside Googlebot 文章,是值得關注以取得當前用詞的來源之一。
若你正在權衡選項,透過 HTML 從 Google 試算表超連結中擷取連結對此有詳細說明。
若你正在權衡選項,貼上 2,000,000 位元組並不保證 Googlebot 抓取對此有詳細說明。