Page Speed

Tốc độ trang thường bị nhầm lẫn với “tốc độ trang web”, thực tế là tốc độ trang cho một số lượt xem trang trên một trang web. Tốc độ trang có thể được mô tả bằng “thời gian tải trang” (thời gian cần để hiển thị đầy đủ nội dung trên một trang cụ thể) hoặc “thời gian đến byte đầu tiên” (mất bao lâu để trình duyệt của bạn nhận được byte thông tin đầu tiên từ máy chủ web).

Bạn có thể đánh giá tốc độ trang của mình với PageSpeed Insights của Google. Điểm tốc độ của PageSpeed Insights kết hợp dữ liệu từ CrUX (Báo cáo trải nghiệm người dùng Chrome) và báo cáo về hai chỉ số tốc độ quan trọng: First Contentful Paint (FCP) và DOMContentLoaded (DCL).

Bật tính năng nén

Sử dụng Gzip , một ứng dụng phần mềm để nén tệp , để giảm kích thước tệp CSS, HTML và JavaScript của bạn lớn hơn 150 byte.

Không sử dụng gzip trên các tệp hình ảnh. Thay vào đó, hãy nén chúng trong một chương trình như Photoshop, nơi bạn có thể kiểm soát chất lượng của hình ảnh. Xem “Tối ưu hóa hình ảnh” bên dưới.

Giảm thiểu CSS, JavaScript và HTML

Bằng cách tối ưu hóa mã của bạn (bao gồm xóa dấu cách, dấu phẩy và các ký tự không cần thiết khác), bạn có thể tăng đáng kể tốc độ trang của mình. Đồng thời loại bỏ các nhận xét mã, định dạng và mã không sử dụng. Google khuyên bạn nên sử dụng CSSNano và UglifyJS.

Giảm chuyển hướng

Mỗi khi một trang chuyển hướng đến một trang khác, khách truy cập của bạn phải mất thêm thời gian chờ đợi chu trình phản hồi yêu cầu HTTP hoàn tất. Ví dụ: nếu mẫu chuyển hướng trên thiết bị di động của bạn trông giống như sau:

example.com -> www.example.com -> m.example.com -> m.example.com/home 

… mỗi chuyển hướng trong số hai chuyển hướng bổ sung đó làm cho trang của bạn tải chậm hơn.

Xóa JavaScript chặn hiển thị

Các trình duyệt phải tạo một cây DOM bằng cách phân tích cú pháp HTML trước khi chúng có thể hiển thị một trang. Nếu trình duyệt của bạn gặp một tập lệnh trong quá trình này, trình duyệt phải dừng và thực thi nó trước khi có thể tiếp tục.

Google đề xuất tránh và giảm thiểu việc sử dụng JavaScript chặn.

Tận dụng bộ nhớ đệm trình duyệt

Trình duyệt lưu vào bộ nhớ cache nhiều thông tin (biểu định kiểu, hình ảnh, tệp JavaScript, v.v.) để khi khách truy cập quay lại trang web của bạn, trình duyệt không phải tải lại toàn bộ trang. Sử dụng một công cụ như YSlow để xem liệu bạn đã đặt ngày hết hạn cho bộ nhớ cache của mình chưa. Sau đó, đặt tiêu đề “hết hạn” của bạn trong khoảng thời gian bạn muốn thông tin đó được lưu vào bộ nhớ đệm. Trong nhiều trường hợp, trừ khi thiết kế trang web của bạn thay đổi thường xuyên, một năm là khoảng thời gian hợp lý. Google có thêm thông tin về việc tận dụng bộ nhớ đệm tại đây .

Cải thiện thời gian phản hồi của máy chủ

Thời gian phản hồi máy chủ của bạn bị ảnh hưởng bởi lượng lưu lượng truy cập bạn nhận được, tài nguyên mà mỗi trang sử dụng, phần mềm máy chủ của bạn sử dụng và giải pháp lưu trữ bạn sử dụng. Để cải thiện thời gian phản hồi máy chủ của bạn, hãy tìm các nút thắt về hiệu suất như truy vấn cơ sở dữ liệu chậm, định tuyến chậm hoặc thiếu bộ nhớ thích hợp và khắc phục chúng. Thời gian phản hồi của máy chủ tối ưu là dưới 200ms. Tìm hiểu thêm về cách tối ưu hóa thời gian của bạn cho byte đầu tiên .

Sử dụng mạng phân phối nội dung

Mạng phân phối nội dung (CDN), còn được gọi là mạng phân phối nội dung, là mạng của các máy chủ được sử dụng để phân phối tải trọng của việc phân phối nội dung. Về cơ bản, các bản sao của trang web của bạn được lưu trữ tại nhiều trung tâm dữ liệu đa dạng về mặt địa lý để người dùng có quyền truy cập nhanh hơn và đáng tin cậy hơn vào trang web của bạn.

Tối ưu hóa hình ảnh

Đảm bảo rằng hình ảnh của bạn không lớn hơn mức cần thiết, chúng có định dạng tệp phù hợp (PNG thường tốt hơn cho đồ họa với ít hơn 16 màu trong khi JPEG nói chung tốt hơn cho ảnh) và chúng được nén cho web .

Sử dụng CSS sprites để tạo mẫu cho hình ảnh mà bạn sử dụng thường xuyên trên trang web của mình như các nút và biểu tượng. Các CSS sprites kết hợp các hình ảnh của bạn thành một hình ảnh lớn tải tất cả cùng một lúc (có nghĩa là ít yêu cầu HTTP hơn) và sau đó chỉ hiển thị các phần mà bạn muốn hiển thị. Điều này có nghĩa là bạn đang tiết kiệm thời gian tải bằng cách không bắt người dùng phải chờ tải nhiều hình ảnh.