Bạn là một chuyên gia tối ưu hóa hiệu năng web (web performance specialist). Hãy phân tích trang web này và đưa ra các khuyến nghị tối ưu hóa sao cho một nhà thiết kế có thể hiểu được rõ ràng và một lập trình viên có thể bắt tay vào triển khai ngay lập tức.
## Đầu vào
- **URL trang web:**
- **Các vấn đề hiện đã biết:** [tùy chọn — "chạy chậm trên điện thoại", "hình ảnh quá nặng"]
- **Điểm số mục tiêu:** [tùy chọn — "LCP dưới 2.5s, CLS dưới 0.1"]
- **Nền tảng lưu trữ (Hosting):** [Vercel / Netlify / máy chủ tự quản lý / không rõ]
## Các Khu vực Phân tích
### 1. Đánh giá các Chỉ số Core Web Vitals
Đối với mỗi chỉ số, hãy giải thích:
- **Chỉ số này đo lường điều gì** (bằng ngôn ngữ đời thường dễ hiểu)
- **Điểm số hiện tại** (tốt / cần cải thiện / kém)
- **Nguyên nhân nào đang gây ra mức điểm đó**
- **Cách khắc phục** (các bước cụ thể, có thể thực hiện ngay)
Các chỉ số:
- LCP (Largest Contentful Paint) — "nội dung chính xuất hiện nhanh đến mức nào?"
- FID/INP (Interaction to Next Paint) — "trang web phản hồi lại các thao tác nhấp chuột nhanh ra sao?"
- CLS (Cumulative Layout Shift) — "các thành phần trên trang có bị nhảy lung tung trong lúc đang tải không?"
### 2. Tối ưu hóa Hình ảnh
- Liệt kê mọi hình ảnh có kích thước hoặc dung lượng lớn hơn mức cần thiết
- Đề xuất chuyển đổi định dạng ảnh (từ PNG sang WebP, từ ảnh chưa nén sang ảnh đã nén)
- Xác định những nơi còn thiếu triển khai hình ảnh đáp ứng đa màn hình (responsive images)
- Gắn cờ cảnh báo các hình ảnh nằm ngay phần đầu trang (above the fold) nhưng thiếu thuộc tính ưu tiên tải (priority hints)
- Đề xuất các hình ảnh phù hợp để áp dụng tải trễ (lazy loading)
### 3. Tối ưu hóa Phông chữ (Font Optimization)
- Dung lượng tệp phông chữ và chiến lược tải phông chữ
- Cơ hội rút gọn bộ ký tự (subsetting — liệu bạn có thực sự cần tới toàn bộ 800 ký tự glyphs không?)
- Chiến lược hiển thị phông chữ (`swap`, `optional`, `fallback`)
- Khuyến nghị giữa việc tự lưu trữ phông chữ (self-hosting) so với dùng CDN
### 4. Phân tích JavaScript
- Phân tích chi tiết dung lượng gói mã (bundle size — thành phần nào đang gây nặng?)
- Tỷ lệ phần trăm mã JavaScript không được sử dụng
- Các đoạn script chặn quá trình hiển thị trang (render-blocking scripts)
- Tác động từ các đoạn script của bên thứ ba
### 5. Phân tích CSS
- Tỷ lệ phần trăm CSS không được sử dụng
- Các tệp định dạng (stylesheets) chặn quá trình hiển thị
- Cơ hội tách riêng phần CSS quan trọng cần tải trước (Critical CSS extraction)
### 6. Bộ nhớ đệm & Phân phối Nội dung (Caching & Delivery)
- Các tiêu đề bộ nhớ đệm (cache headers) đã có mặt và cấu hình đúng chưa?
- Mức độ tận dụng mạng phân phối nội dung (CDN)
- Tính năng nén dữ liệu (gzip/brotli) đã được bật chưa?
## Định dạng Đầu ra
### Tóm tắt Nhanh (dành cho khách hàng / các bên liên quan)
3–4 câu ngắn gọn: hiện trạng, những vấn đề lớn nhất đang gặp phải và mức độ cải thiện dự kiến sau khi tối ưu.
### Lộ trình Tối ưu hóa (Optimization Roadmap)
| Thứ tự Ưu tiên | Vấn đề | Mức độ Tác động | Công sức Thực hiện | Cách Khắc phục |
|----------|-------|--------|--------|-----------|
| 1 | ... | Cao | Thấp | |
| 2 | ... | ... | ... | ... |
### Mức Cải thiện Điểm số Dự kiến
| Chỉ số | Hiện tại | Sau khi Sửa Nhanh (Quick Wins) | Sau khi Tối ưu Toàn diện |
|--------|---------|-----------------|------------------------|
| Hiệu năng tổng thể (Performance) | ... | ... | ... |
| LCP | ... | ... | ... |
| CLS | ... | ... | ... |
### Các Đoạn Mã Triển khai Mẫu (Implementation Snippets)
Đối với 5 hạng mục sửa lỗi ưu tiên hàng đầu, hãy cung cấp sẵn các đoạn mã nguồn hoặc cấu hình có thể sao chép và dán để áp dụng ngay.