Lập trình

Cách làm webfont tải nhanh hơn

Font thường là một trong những tệp đầu tiên trang web cần tải. Bảy giải pháp dưới đây được sắp xếp gần đúng theo mức độ tác động, và hầu hết chỉ mất vài phút.

Trung cấp · 7 phút đọc · Cập nhật 31 tháng 10, 2026

Cách làm webfont tải nhanh hơn

1. Dùng WOFF2

Đây là định dạng phổ biến có dung lượng nhỏ nhất. Nếu bạn vẫn đang dùng TTF hoặc OTF, đây là cách cải thiện nhanh nhất. Dùng Webfont Generator để chuyển đổi chúng.

2. Loại bỏ các ký tự bạn không dùng

Nhiều font chứa bảng chữ cái mà website của bạn không bao giờ hiển thị. Font Subsetter chỉ giữ lại các ngôn ngữ bạn chọn. Hãy kiểm tra giấy phép trước, và giữ lại mọi ngôn ngữ mà website của bạn sử dụng.

3. Tải ít độ đậm hơn

Mỗi độ đậm và kiểu chữ nghiêng là thêm một tệp. Nhiều website chỉ cần regular và bold. Hãy tìm trong CSS các độ đậm không còn dùng và xóa chúng.

4. Cân nhắc dùng variable font

Nếu bạn dùng từ ba độ đậm trở lên, một variable font duy nhất có thể nhỏ hơn nhiều tệp tĩnh. Bạn có thể giảm thêm dung lượng bằng cách thu hẹp dải độ đậm trong Webfont Generator.

5. Preload font chính

Thông thường, trình duyệt chỉ phát hiện font sau khi đã đọc CSS. Preload giúp trình duyệt bắt đầu tải sớm hơn:

<link rel="preload" href="/fonts/brand-regular.woff2" as="font" type="font/woff2" crossorigin>

Giữ thuộc tính crossorigin, ngay cả trên tên miền của bạn, nếu không tệp có thể bị tải hai lần. Chỉ preload một hoặc hai font được dùng ở đầu trang.

6. Thiết lập font-display

Thuộc tính này kiểm soát những gì người dùng thấy khi font đang tải. swap hiển thị font dự phòng ngay lập tức, nên văn bản của bạn không bao giờ bị ẩn. optional tránh việc đổi font muộn, nhưng với kết nối chậm, người dùng có thể không thấy font của bạn ở lần truy cập đầu tiên.

7. Lưu cache font trong thời gian dài

Tệp font hiếm khi thay đổi, vì vậy hãy để trình duyệt lưu lại chúng. Thêm phiên bản hoặc hash vào tên tệp, rồi gửi header:

Cache-Control: public, max-age=31536000, immutable

Đo lường kết quả

Chạy trang của bạn qua Page Speed Test trước và sau khi tối ưu, rồi so sánh Largest Contentful Paint và mức độ dịch chuyển bố cục.

Câu hỏi thường gặp

Webfont nên có dung lượng bao nhiêu?
Không có giới hạn cố định, nhưng một subset Latin ở định dạng WOFF2 thường khoảng 15 đến 40 KB cho mỗi độ đậm. Tổng dung lượng phụ thuộc vào số lượng tệp bạn tải.
Có nên preload mọi font không?
Không. Preload quá nhiều tệp có thể làm chậm các tệp quan trọng hơn. Chỉ nên preload một hoặc hai font được dùng ở đầu trang.
Có nên nhúng font dưới dạng Base64 trong CSS không?
Thường là không. Cách này làm CSS nặng hơn và chặn trang trong lúc tải. Chỉ nên dùng cho các font rất nhỏ.

Đọc tiếp