Friday, November 23, 2012

GZIP trong joomla

Dao tao seo



GZIP trong joomla
Nén dữ liệu GZIP
Nếu bạn đang xây dựng 1 trang web bằng joomla bạn thường nghe thấy mọi người nói về bật né – bật Gzip. Tùy chọn này sẽ nén nội dung trang web được tạo bời Joomla trước khi gửi nó lại cho trình duyệt người dùng trong thời gian thực.

Đó là một giải pháp tuyệt vời cho một số trang web, một số khác gặp vấn đề khi tiếp cận với GZIP. Điều quan trọng là nhận ra rằng các thẻ HTML chỉ là 1 trong số các yếu tố cần thiết để tạo nên 1 trang web, bạn cần quan tâm đến Css, Javascripts, và hình ảnh…

Ví dụ điển hình như các template đến từ nhà cung cấp Joomlart – một nhà cung cấp joomla template lớn của Việt Nam ra thế giới (nay còn có thêm Drupal và Magento themes). Trong Framework T3 của họ đã cung cấp sẵn chức năng GZIP và làm cho tốc độ website tăng đáng kể.
Đó là giá trị đáng chú ý và giá trị này làm cho trang web của bạn nhanh hơn, nhưng cũng chưa phải là lựa chọn tốt nhất. Một vài nhược điểm của nó là:

    Nó chỉ ảnh hưởng đến kích thước trang HTML
    Nó thực hiện bằng cách nén nội dung
        Về mặt Cache: điều này sẽ làm ảnh hưởng đến server vì mỗi lần đều phải thực hiện nén tập tin.
        Quá trình nén dữ liệu có thể làm chậm chễ thêm (nhỏ) trước khi gửi nội dung đến trình duyệt.
    Nó không làm bất cứ điều gì cho các tập tin khác.
    Nó không tối ưu hóa băng thông của bạn bằng cách giảm thiểu các yêu cầu truy vấn

Gzip của tôi.

Đối với các trang web của tôi, tôi sử dụng phương pháp sau đây:

    Xác định các tập tin mà được update thường xuyên.
    Cố gắng giảm thiểu các tập tin bằng cách gom chúng vào 1 file ví dụ 1 file Javascript, 1 file Css..
    Tạo ra phiên bản nén của các tập tin này cùng với bản gốc.
    Sử dụng thêm 1 chút thủ thuật htaccess để server nén file.

Đây là giải pháp tốt cho các tập tin mà ít thay đổi như Javascript Css… Cách này sẽ giải quyết cả 2 vấn đề: nén tập tin và giảm thiểu tác động cho CPU.

Cách làm

Để thực hiện điều này chỉ cần tạo một bản sao của các file mà bạn muốn nén. Nếu bạn truy cập web bằng Shell bạn có thể làm: $ gzip -9 -c foo.js > foo.jsgz
Điều này sẽ tạo ra một bản sao về tập tin của bạn với hậu tố là “gz”.
Bây giờ thêm dòng sau vào file .htaccess của bạn, file này thường nằm ở folder thư mục web  ( ví dụ: )

    #Check to see if browser can accept gzip files.
    ReWriteCond %{HTTP:accept-encoding} (gzip.*)
    #make sure there’s no trailing .gz on the url
    ReWriteCond %{REQUEST_FILENAME} !^.+gz$
    #check to see if a .gz version of the file exists.
    RewriteCond %{REQUEST_FILENAME}gz -f
    #All conditions met so add .gz to URL filename (invisibly)
    RewriteRule ^(.+) $1gz [L]
    AddType “text/css;charset=UTF-8″ .cssgz
    AddEncoding gzip .cssgz
    AddType “text/javascript;charset=UTF-8″ .jsgz
    AddEncoding gzip .jsgz

Hãy nhớ nếu bạn có thay đổi bất kỳ nào trong file gốc thì bạn cũng nên tạo lại các phiên bản cho file hậu tố gz.
Có thể có một số vấn đề khi sử dụng Joomla Virtuemart, vì vậy bạn cần lưu ý.

---------------------------------------------------------------------------------------

Trường đào tạo Seo iNET

No comments:

Post a Comment