Top 9 Thương Hiệu Nhượng Quyền Thành Công Tại Việt Nam

Website facts:
→ speed equals revenue
→ faster is better and less is more
Load-time tăng 1 giây:
Ở Việt Nam, website của Thế giới di động được giao KPI hiển thị dưới 3000ms, còn tiki và đặc biệt là sendo có vẻ không quan tâm đến việc này lắm. Các bạn có thể dễ dàng thấy trải nghiệm người dùng ở đâu tốt hơn, ở đâu mọi người mua đồ nhiều hơn.
Dù sao thì trong tương lai, các website chắc chắn sẽ phải để ý đến việc optimize webservice. Đây vừa là cơ hội và cũng là thách thức với các lập trình viên. Liệu tất cả những lý do trên đã khiến các bạn phải ngồi vào bàn và bỏ thời gian ra làm một website chạy nhanh hơn 1-2 giây?
Long story short:
Hãy làm trang của bạn chạy thật nhanh trên các thiết bị di động và bắt đầu tư duy theo hướng mobile-first.
Cùng nhìn lại một chút quá trình vào một trang web của người dùng theo một flow đơn giản:
Tin tốt là chúng ta có thể optimize trang web ở tất cả các bước còn tin xấu là ở mỗi bước, thời gian cải thiện có thể chỉ được tính bằng ms (1/1000 giây 😅). Có nên thực sự quan tâm?
Nếu trang web của bạn là một blog cá nhân, không có giá trị kiếm tiền, có < 50 người truy cập cùng lúc (như blog này) thì việc optimize không mang lại nhiều giá trị.
Bạn kiếm tiền từ trang web của bạn và có trung bình vài nghìn hoặc vài trăm nghìn lượt truy cập cùng lúc. Ngoài lý do về lợi nhuận, nếu không optimize web service, server có thể bị quá tải do requests của khách hàng → bottle neck → load-time kéo dài, thậm chí out of service. Thay vì bỏ tiền mua server khủng hơn, hãy bỏ chút thời gian để sắp xếp và thiết kế lại service để đem lại performance ổn định với chi phí rẻ hơn.
Đầu tiên hãy xem website của bạn đang có vấn đề gì bằng công cụ của Pagespeed của google
Tham khảo các rules của google cho việc tăng tốc độ load trang:
Sau tất cả, google là công cụ tìm kiếm lớn nhất thế giới, làm mọi thứ theo chuẩn của họ chắc chắn không phải một lựa chọn tồi.
Để đầy đủ hơn, mình sẽ thêm một số phương pháp và chia thành 4 loại tương ứng với từng giai đoạn khi người dùng truy cập website.
Hoàn toàn nằm ngoài khả năng của chúng ta, tuy nhiên vẫn có thể đảm bảo việc khác hàng có được trải nghiệm đủ tốt với tốc độ mạng cực chậm bằng việc xây dựng progressive web app và sử dụng service-worker cho trang web của bạn.
Việc chuyển từ URL sang địa chỉ IP server do DNS server đảm nhận, và nó cũng chỉ là một máy tính, nhanh chậm khác nhau. Các dịch vụ cung cấp host thường cũng sẽ có kèm theo dịch vụ cung cấp DNS, tuy nhiên tốc độ có thể khác nhau → tốc độ load trang cũng bị phụ thuộc.
Cách khắc phục
Content Delivery Network (CDN) là hệ thống các edge servers được đặt tại các vị trí địa lý khác nhau để có thể truyền tải nội dung từ một origin ở khoảng cách xa nhanh chóng hơn nhờ cơ chế cache.
Thay vì đến tận server (origin, ở xa) để lấy các tài nguyên thì người dùng có thể lấy ngay tại CDN (distribution, ở gần), chính vì thế load-time sẽ được giảm đáng kể.
Để hiểu rõ hơn những lợi ích của việc sử dụng CDN bạn có thể đọc bài viết vô cùng có tâm của sempai Đinh Hoàng Long về CDN.
Theo cdnperf.com, tính đến thời điểm này JSDELIVR đang dẫn đầu trong việc cung cấp dịch vụ CDN trên toàn cầu. Ở châu Á, vị trí quán quân thuộc về CDNetworks. Cloudflare CDN, Azure và CloudFront của AWS cũng lọp top 10.
Cloud CDN (của google) mà mình đang dùng ở vị trí nào đó không xuất hiện trong bảng xếp hạng 😭
Thời đại của cloud computing, các service hầu hết được đưa lên mây. Việc chọn một hosting service phù hợp với nhu cầu của trang web cũng là một yếu tố quan trọng ảnh hưởng đến tốc độ của trang web.
Nếu có thể, hãy tham khảo ý kiến từ một lập trình viên, nhân viên quản trị hệ thống hoặc sử dụng dịch vụ của một số nhà cung cấp lớn như Amazon web service, Microsoft Azure, Google cloud,...
qmau.me đang được host với 300$ free của Google cloud VPS, CPU trung bình khoảng 1% 😅
Google rất khó tính, họ cho rằng phản hồi của server nên dưới 200ms. Việc server phản hồi chậm có thể do một trong những lý do sau:
Sử dụng framework, ngôn ngữ không tối ưu
Logic quá phức tạp → việc xử lý chậm
Các components của server tốn nhiều thời gian để liên kết
Ví dụ: sử dụng web server và database server riêng → mất thêm độ trễ của network vào thời gian phản hồi của webserver.
Mạng chậm (lý do khách quan, bỏ tay trả về).
Cách khắc phục
Khi load trang web, các file html, css, js, script
sẽ được load để hiển thị trên browser. Tuy không quá nặng nhưng việc đơn giản hoá, không sử dụng thừa code trong các tài nguyên được load cũng sẽ cải thiện tốc độ load cho trang web.
Cách khắc phục
Ảnh có thể coi là tài nguyên chiếm nhiều load-time nhất của một trang web, việc tối ưu được hiển thị ảnh đóng vai trò quan trọng trong việc cải thiện load-time của một trang web.
Ngày nay người dùng sử dụng rất nhiều các thiết bị khác nhau để có thể truy cập vào trang web của bạn. Với layout bạn có thể giải quyết bằng responsive design, còn với ảnh câu chuyện sẽ rắc rối hơn một chút.
Cách khắc phục
Một trang web sẽ được hiển thị khi load đầy đủ html, css, js. Nếu file css, js có kích thước quá lớn sẽ khiến trang web bị render-blocking, khiến tốc độ load trang tăng đáng kể.
Cách khắc phục
<style>
trong phần <head>
. Các code này sẽ được load cùng html thay vì phải load từng file nhỏ. ps: khai báo ở đầu trang chứ không phải khai báo trong html tag (<p style=...>
) nhé 😅Trong Lighthouse audits của Chrome, tốc độ hiển thị first page của trang web là một trong nhưng tiêu chí được đánh giá rất cao trong mục Performance. Để người dùng có trải nghiệm tốt nhất thì việc ưu tiên hiển thị những nội dung cơ bản (above-the-fold - ATF) của trang web là rất quan trọng.
Cách khắc phục
Trong khi browser tạo ra các DOM tree, nếu gặp một script, nó sẽ dừng lại và thực hiện xong script đó rồi mới tiếp tục tạo ra các DOM. Chính vì thế javascript có thể coi là một nguyên nhân khiến tốc độ tải trang bị chậm đi rất nhiều.
Cách khắc phục
Việc redirect người dùng tại landing page sẽ đem lại trải nghiệm xấu và tăng thời gian load time của trang/ Ví dụ:
Các khắc phục
Hầu hết các browser hiệnt tại đều hỗ trợ và sử dụng gzip cho việc nén dữ liệu, nhờ lượng dữ liệu truyền tải qua network ít đi → tăng tốc độ tải trang.
Cách khắc phục
Config server cho phép dữ liệu được ném nhằm giảm, một số config mẫu cho các web server:
Dữ liệu được nén
Library | Size | Compressed size | Compression ratio |
---|---|---|---|
jquery-1.11.0.js | 276 KB | 82 KB | 70% |
jquery-1.11.0.min.js | 94 KB | 33 KB | 65% |
angular-1.2.15.js | 729 KB | 182 KB | 75% |
angular-1.2.15.min.js | 101 KB | 37 KB | 63% |
bootstrap-3.1.1.css | 118 KB | 18 KB | 85% |
bootstrap-3.1.1.min.css | 98 KB | 17 KB | 83% |
foundation-5.css | 186 KB | 22 KB | 88% |
foundation-5.min.css | 146 KB | 18 KB | 88% |
Mỗi lần người dùng truy cập một trang nào đó, toàn bộ tài nguyên của trang sẽ được load. Điều đó có nghĩa là nếu trang web của bạn không sử dụng cache, mỗi lần load trang sẽ load lại toàn bộ các file css, script dù nó có thể giống y hệt trang trước đó → tăng load-time.
Các browser đều có bộ nhớ cache nên hãy tận dụng nó để tăng tốc độ load trang của bạn, nhưng tuyệt đối không dùng máy của khách để đào bitcoin.
Cách khắc phục
Cảm ơn bạn đã quan tâm. Chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.
Gửi thông tin thành công