Cách bật nén Gzip cho website

Để nâng cao tốc độ tải của website, việc bật nén Gzip cho website là một trong những phương pháp mang lại hiệu quả cao nhất. Mặc định, server thường sẽ trả về cho trình duyệt của người dùng các dữ liệu không được nén. Tuy nhiên, nếu tính năng này được kích hoạt, nó sẽ giúp chúng ta tiết tiệm lên tới 90% dung lượng và điều hiển nhiên là tốc độ tải của website cũng được cải thiện rõ rệt vì phải tải ít dữ liệu hơn.

Bật nén Gzip cho website WordPress

Việc kích hoạt tính năng này cũng được Google khuyến khích các webmaster nên làm để nâng cao trải nghiệm người dùng trên trang. Nó được mình chứng bằng việc yếu tố bật nén được liệt kê trong các yếu tố đánh giá điểm của công cụ kiểm tra tốc độ tải trang của Google.

Bật nén Gzip mang lại lợi ích gì?

  • Tăng tốc độ tải website, tiết kiệm bằng thông do trang được tải với dung lượng thấp hơn
  • Giảm thiểu lỗi kết nối, vỡ trên đường truyền do phân mảnh nội dung
  • Cải thiện trải nghiệm của người dùng trên trang.
  • Góp phần vào cải thiện thứ hạng trên trang tìm kiếm Google

Bật nén như thế nào?

Hầu hết shared hosting hiện nay đều hỗ trợ việc nén Gzip nhưng với VPS hoặc server riêng thì bạn sẽ phải thực hiện việc kích hoạt tính năng này. Để biết website của mình đã được bật nén hay chưa thì có thể truy cập vào trang checkgzipcompression.com hay Google PageSpeed Insights để kiểm tra. Nếu đã được bật thì xin chúc mừng, bạn có thể dừng nội dung này ở đây và chuyển sang nội dung tiếp theo. Tuy nhiên, nếu chưa được bật thì phần tiếp theo là danh cho bạn.

Với Apache

Apache là webserver được sử dụng phổ biến nhất hiện nay và với Apache chúng ta sẽ tìm được 1 file với tên .htaccess. Việc của chúng ta chèn đoạn code sau vào file này.

<ifModule mod_gzip.c>
 mod_gzip_on Yes
 mod_gzip_dechunk Yes
 mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
 mod_gzip_item_include handler ^cgi-script$
 mod_gzip_item_include mime ^text/.*
 mod_gzip_item_include mime ^application/x-javascript.*
 mod_gzip_item_exclude mime ^image/.*
 mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Trong trường hợp không được, bạn có thể thử lại với đoạn code sau:

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Trong trường hợp hosting của bạn không hỗ trợ bật nén thông qua file .htaccess, bạn vẫn có thể bật nén bằng cách chèn đoạn code sau vào đầu file index.php.

<?php if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’))
ob_start(“ob_gzhandler”); else ob_start(); ?>

Vì file index.php là file mồi nên chúng ta có thể kích hoạt nén file tại đây.

Ngoài ra, bạn cũng có thể bật nén bằng cách chèn thêm đoạn code dưới đây vào file php.in nếu bạn được phép truy cập và chỉnh sửa file này.

output_handler = Off
zlib.output_compression = On
zlib.output_handler = ob_gzhandler

Với NGINX

Bạn cần chèn đoạn code bên dưới vào file config của domain.

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";

# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;

 

Nén Gzip là một phương pháp mang lại rất nhiều hiệu quả và không thể thiếu khi tối ưu một website. Nó giúp cải thiện tốc độ tải trang, trải nghiệm người dùng và nhiều thứ khác. Chính vì vậy, nếu chưa bật tính năng này cho website của bạn thì hãy suy nghĩ đến nó và bật ngay nhé.

Nếu bạn sử dụng WordPress thì việc bật nén này khá đơn giản với một số plugin hỗ trợ như WP Rocket, WP Super Cache, … Mọi thứ sẽ hoạt động trơn chu mà bạn không cần can thiệp quá nhiều.

Chúc các bạn thành công !

Bài viết cùng danh mục

Bình luận về bài viết này

Để tránh gặp phải tình trạng spam email cho bạn, email của bạn sẽ không được công khai.

5 bình luận
  1. Đức nói

    Mình chèn đoạn code vào mà không được nhỉ?

    1. Đức Huy nói

      Bạn đang đặt website trên webserver nào?

    2. Đức nói

      Mình có kiểm tra thì nó là Litespeed

    3. Đức Huy nói

      Với Litespeed thì mình cũng đang tìm hiểu nên tạm thời chưa thể hỗ trợ bạn được 😀 Bạn thử cài plugin cache như WP Rocket hoặc WP Super Cache xem. Mình nghĩ sẽ giải quyết được vấn đề của bạn 🙂

    4. Đức nói

      ok bạn, mình sẽ thử xem thế nào