Tập đoàn công nghệ Vico

Tối ưu hóa website - nguyên tắc của Yahoo

22/01/2011
(5/5) - 145 bình chọn.
Hôm nay, mình sẽ giới thiệu đến bạn một số nguyên tắc tối ưu hóa website do chính Yahoo đưa ra. Bạn đã sẵn sàng chưa? Nào, chúng ta cùng tìm hiểu.

1. Minimize HTTP Requests

Giảm tối đa yêu cầu đến server là nguyên tắc đầu tiên mà Yahoo đưa ra. Một trang web chứa bao nhiêu đối tượng (CSS, HTML, hình ảnh…) thì khi người dùng truy cập bấy nhiêu yêu cầu (request) được gửi đến server. Chúng ta đã biết, càng nhiều yêu cầu thì càng lâu đáp ứng, hãy thử những cách sau để giảm yêu cầu đến server.

  • Nếu có thể, gộp những hình ảnh nền (background-image) để giảm số lần yêu cầu xuống.
  • Sử dụng background-image trong CSS tối đa có thể để hiển thị hình ảnh

Việc này rất có lợi cho lần đầu viếng thăm của người dùng bằng cách để lại ấn tượng tốt về tốc độ truy cập.

2. Use a Content Delivery Network

Thời gian đáp ứng hay hiểu một cách khác là tốc độ truy cập của website phụ thuộc vào khoảng cách địa lí của người xem với server. Trong trường hợp nhất định bạn nên chọn một server gần với đối tượng bạn đọc nhất. Đó là lựa chọn đúng đắn đối với những cá nhân hoặc công ty nhỏ.

Nhưng với những mục đích lớn lao hơn, ở đây là lượng độc giả lớn và phủ khắp. Bạn nên sử dụng Content Delivery Network (CDN). CDN là một mạng lưới các server được bố trí rộng rãi. Mỗi đối tượng độc giả sẽ được phục vụ bởi một server nhất định sao cho đảm bảo thời gian đáp ứng là cao nhất. Nhiều công ty lớn đều có CDN riêng, nhưng nếu bạn đặt hiệu quả chi phí lên cao thì có thể lựa chọn những nhà cung cấp sau: Akamai Technologies, Mirror Image Internet, or Limelight Networks.

3. Add an Expires Header

Trình duyệt nào cũng có bộ nhớ đệm cho mình. Điều này giúp hạn chế yêu cầu đến Server như ở điều 1 đã nói. Cơ chế hoạt động cơ bản là những gì không thay đổi thì trình duyệt sẽ không yêu cầu server để lấy phiên bản mới nữa. Hãy dùng “Expires header” trong HTTP Respond để báo với trình đuyệt về thời gian tối đa mà trình duyệt có thể cache thông tin đó.

Với những đối tượng cố đinh như javascripts, hình ảnh, bạn có thể để thời gian cache lâu hơn một chút. Bạn đừng lo về vấn đề update cache khi thay đổi bằng cách thay đổi tên đối tượng. Trình duyệt sẽ tự động cập nhật.

Ví dụ: Yahoo_2_1_3.js

4. Gzip Components

Đa số trình duyệt đều hỗ trợ Gzip với HTTP Respond. Vì thế, sử dụng Gzip để nén dữ liệu trả lại người dùng là rất khả thi và hiệu quả. Gzip giúp tăng tốc độ truy cập website và giảm tối thiểu băng thông của cả người dùng lẫn server.

5. Put CSS at the Top

Trong quá trình theo dõi, nghiên cứu tối ưu hóa Yahoo!, những nhà phát triển đã phát hiện ra rằng đặt CSS ở trên cùng sẽ giúp website hiển thị nhanh và tốt hơn đặc biệt trong trường hợp website của bạn lớn và có nhiều đối tượng được đặt ở trên đó.

Trường hợp nếu bạn đặt ở giữa hoặc ở cuối thì trình duyệt sẽ sử dụng giao diện mặc định sau đó đổi chúng lại khi tải xong CSS của bạn. Như vậy việc xử lí sẽ gia tăng và dĩ nhiên là tốc độ sẽ giảm xuống rất nhiều. Bên cạnh đó, người dùng sẽ cảm thấy khó chịu vì họ sẽ phải nhìn một trang web chưa có định dạng gì khi truy cập. Đặc biệt một số phiên bản trình duyệt còn cấm việc đặt CSS ở dưới cùng.

6. Move Scripts to the Bottom

Thông thường Scripts chỉ nên đặt trên dùng nếu ảnh hưởng của nó bao quát toàn trang mà thôi. Còn nếu không Yahoo khuyên bạn nên để dưới cùng của trang đối với những mục đích không quan trọng lắm (thống kê, hiệu ứng…).

Trường hợp bạn dùng Scripts cho một đối tượng thì bạn nên đặt Scripts lên trên đối tượng đó (nếu có thể) thay vì bạn để nó vào thẻ như nhiều trang đã hướng dẫn.

7. Make JavaScript and CSS External

Có khi mình tự đặt câu hỏi là việc chèn Javascripts và CSS thẳng hay để liên kết bên ngoài tốt hơn? Câu trả lời của Yahoo ở đây là nên để liên kết bên ngoài. Vì một lí do đơn giản những file đó sẽ được cache lại ở phía trình duyệt. Về phía người dùng họ sẽ không phải tải lại chúng lần nữa giảm được băng thông cho cả họ và server. Đồng thời tăng tốc duyệt trang web.


Bài viết liên quan
0918585505
Thời gian tiếp nhận:
9:00~18:00 từ Thứ Hai đến Thứ Sáu