Bỏ qua tới nội dung

Bỏ hai đoạn intro chậm và sửa những gì chúng đang che

Hai đợt tối ưu tốc độ trên vandatateam.com và vanaxity.com, đo trước và sau trên cùng một máy.

Đã bàn giao10/2026

Khách hàng
Van Data Team
Vai trò
Làm theo hợp đồng: hai đợt tối ưu và các báo cáo
Thời gian
10/2026
Bằng chứng
10 claim
Cùng
Tran Tien Van
Công nghệ
Next.js · Playwright · Lighthouse · WebGL · CSS
  1. 1Vấn đềĐoạn intro che trang tới 6 giây và bundle tải cả blog.
  2. 2Đã làmBỏ intro, chuyển WebGL sang worker, tách bundle, ngừng vẽ lại khi trang đứng yên.
  3. 3Kết quảHero hiện trên desktop sau 526 ms thay vì 4.493 ms.
4.493 → 526 msP1
Phần đầu trang hiện ra trên máy tính
0,160 → 0P2
Độ xê dịch bố cục trên mobile (CLS)
5.436 → 716 msP6
Tiêu đề đọc được trên desktop

Vấn đề

Trên vandatateam.com, một lớp intro che trang chủ từ ba tới sáu giây trên desktop. Nó bị gỡ ra rồi gắn lại trong lúc hydration, nên trang vừa hiện ra đã bị che tiếp. Bundle phía client còn tải cả blog cho mọi người xem.

Trên vanaxity.com, intro toàn màn hình che tiêu đề, và khi intro xong thì trang đứng yên vẫn liên tục vẽ lại.

Đã làm

Tôi bỏ cả hai intro rồi sửa những gì chúng đang che. Trên vandatateam.com, cảnh WebGL chuyển sang Web Worker với OffscreenCanvas, bundle phía client được tách để nội dung blog nằm lại trên server, và trang dài dùng content-visibility.

Trên vanaxity.com, intro được thay bằng một đoạn vào trang ngắn chỉ dùng CSS, chỉ animate transform và opacity, chạy trước hydration. Hiệu ứng trang trí dừng khi ra khỏi màn hình, và việc cuộn trang quay về compositor.

Hai bản build được đo như server production trên cùng một máy, xen kẽ trước sau, nên tải nền ảnh hưởng đều cả hai.

Kết quả

Phần đầu trang hiện ra trên máy tính sau 526 ms thay vì 4.493 ms P1, CLS trên mobile từ 0,160 về 0 P2. JavaScript tải trong 6 giây đầu từ 2.425 KB còn 695 KB P3, JavaScript ban đầu của blog từ 1.456 KB còn 272 KB P4.

Trên vanaxity.com, tiêu đề đọc được sau 716 ms thay vì 5.436 ms trên desktop P6, main thread trên phone throttle khi trang đứng yên từ 95,6% bận còn 3,7% P7, và 30/30 check hành vi pass trên ba trình duyệt P8.

Trước và sau, vẽ đúng tỉ lệ
Xem dạng bảng
Chỉ sốTrướcSauNguồn
Phần đầu trang hiện ra trên máy tính4.493 ms526 msP1, tính tới 21/10/2026
Độ xê dịch bố cục trên mobile (CLS)0,160P2, tính tới 21/10/2026
JavaScript tải trong 6 giây đầu2.425 KB695 KBP3, tính tới 21/10/2026
JavaScript ban đầu trên /blog1.456 KB272 KBP4, tính tới 21/10/2026
Điểm Lighthouse mobile trang chủ8490P5, tính tới 21/10/2026
Tiêu đề đọc được trên desktop5.436 ms716 msP6, tính tới 21/10/2026
Main thread bận khi đứng yên, phone throttle95,6%3,7%P7, tính tới 21/10/2026
Hai hàng ảnh chụp trang chủ vandatateam.com ở 0,3, 0,6, 1, 2, 3, 4 và 5 giây. Trước: intro che trang tới khoảng 5 giây. Sau: tiêu đề đọc được từ 0,6 giây.
vandatateam.com, năm giây đầu. Hàng trên trước khi tối ưu, hàng dưới sau. Cùng máy, cùng mạng.

Sự cố có thật

Khi sửa 69 bài tiếng Việt dịch máy theo bản tiếng Anh, tôi tìm ra 8 bài bị đổi tên key frontmatter, làm mất lời kêu gọi hành động mà không báo lỗi P9. Không có gì báo lỗi; chỉ là cái nút biến mất.

Giới hạn

Điểm Lighthouse ở đây là trung vị đo local, mô phỏng; số liệu thực tế trên điện thoại sẽ khác. Trên điện thoại, tiêu đề vanaxity giờ có một đoạn vào trang ngắn thay vì hiện ngay; LCP không đổi, và tôi giữ một kiểu vào trang cho mọi màn hình.

Phần của tôi

Anh Văn sở hữu hai site và agency. Tôi làm cả hai đợt tối ưu, viết script đo và báo cáo. Trên vandatateam.com, 403 trên 938 commit là của tôi P10.

Commit của tôi trên vandatateam.com403 / 938 · 43%

Bằng chứng bàn giao · NLV-26-PRF

#ClaimBằng chứngNgàyĐộ tin cậy
P1Phần đầu trang hiện ra trên máy tính sau 526 ms thay vì 4.493 ms.
  • Đợt tối ưu runtime vandatateam.com (Khi được yêu cầu)
  • Trang chủ 5 giây đầu, trước và sau (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P2CLS trên mobile từ 0,160 về 0.
  • Đợt tối ưu runtime vandatateam.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P3JavaScript tải trong 6 giây đầu từ 2.425 KB còn 695 KB.
  • Đợt tối ưu runtime vandatateam.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P4JavaScript ban đầu của trang blog từ 1.456 KB còn 272 KB.
  • Đợt tối ưu runtime vandatateam.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P5Điểm Lighthouse mobile của trang chủ từ 84 lên 90 (đo local, trung vị 5 lần).
  • Đợt tối ưu runtime vandatateam.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P6Trên vanaxity.com, tiêu đề đọc được sau 716 ms thay vì 5.436 ms trên desktop.
  • Đợt tối ưu landing vanaxity.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P7Khi trang đứng yên, main thread trên phone throttle từ 95,6% bận còn 3,7%.
  • Đợt tối ưu landing vanaxity.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P830/30 check hành vi pass trên Chrome, Firefox và WebKit.
  • Đợt tối ưu landing vanaxity.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P9Sửa 69 bài tiếng Việt dịch máy theo bản tiếng Anh và tìm ra 8 bài bị đổi tên key frontmatter làm mất lời kêu gọi hành động.
  • Đợt tối ưu runtime vandatateam.com (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc
P10403 trên 938 commit của site là của tôi.
  • Số commit theo repository (Khi được yêu cầu)
21/10/2026Tôi giữ tài liệu gốc