Có nhiều cách để tăng tốc độ load trang cho website. Bạn có thể tối ưu cache, tối ưu code, tối ưu truy vấn CSDL, nâng cấp máy chủ...Tuy nhiên có một cách khá đơn giản nhưng có thể cải thiện đáng kể tốc độ load trang cho website của bạn. Đó chính là áp dụng một vài thủ thuật đơn giản với file .htaccess. Sau đây HIWEB xin hướng dẫn các bạn cách làm:
Bước 1: Các bạn tạo 1 file đuôi .htaccess đặt ngang hàng với file index.php
Bước 2: Tắt chế độ Etags (Disable Etags)
Entity tags (ETags) là một cơ chế giúp máy chủ web và trình duyệt dùng xác định xem thành phần trong bộ nhớ cache của trình duyệt có phù hợp với thành phần gốc trong máy chủ hay không.Theo các qui định tối ưu hóa của Yahoo! Việc tắt Etags có thể góp phần giảm tải cho máy chủ và giảm đi một lượng băng thông đáng kể cho website.
Để tắt Etag đi, bạn chỉ cần đặt đoạn code sau vào file .htaccess:
Header unset ETag
FileETag None
Bước 3: Thêm Expires Headers
Expires Headers (tôi xin phép giữ nguyên thuật ngữ này khi trình bày) – là một dạng khai báo nhằm thông báo với trình duyệt rằng các thành phần được tải xuống (như hình ảnh, file video, file flash…) được lưu trữ trong bộ nhớ cache đến một thời gian nhất định nào đó. Việc này giúp ích cho lần truy cập tiếp theo của người dùng sẽ nhanh hơn do trình duyệt không yêu cầu tải lại các thành phần này mà nó sẽ lấy từ bộ nhớ cache. Miễn sao các thành phần này vẫn còn thời gian hiệu lực.
Để thêm expires header bạn thêm .htaccess đoạn code sau:
Header set Expires "Tue, 16 Jun 2020 20:00:00 GMT"
Bước 4: Nén file
Nén file có thể bạn đã nghe nhiều; nhưng kĩ thuật nén file có lẽ là ít người biết bởi nó liên quan đến ngôn ngữ lập trình bạn sử dụng. Bằng cách sử dụng.htaccess, chúng ta cũng có thể nén file lại trước khi chuyển nó đến tay khách truy cập. Việc này chẳng những tăng tốc độ tải trang mà nó còn khiến cho băng thông của bạn thoải mái hơn.
Cách làm như sau:
SetOutputFilter DEFLATE
Bạn có thể kết hợp với điều kiện nén:
<FilesMatch ".(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
Dưới đây là tổng hợp đoạn code tối ưu tốc độ tải trang nâng cao với .htaccess. Bạn chỉ cần copy vào cuối file htaccess là Ok:
# BEGIN Compress text files
<IfModule mod_deflate.c>
<FilesMatch "\.(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
# END Compress text files
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\.(css)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(js)$">
Header set Cache-Control "max-age=216000, private"
</FilesMatch>
<FilesMatch "\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
</IfModule>
# END Cache-Control Headers
# BEGIN Turn ETags Off
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
# END Turn ETags Off
# BEGIN Remove Last-Modified Header
<IfModule mod_headers.c>
Header unset Last-Modified
</IfModule>
# END Remove Last-Modified Header
Sau khi áp dụng cách tăng tốc website với htaccess bạn truy cập vào link sau: developers.google.com/speed/pagespeed/insights/ để xem tốc độ load trang đã được cải thiện chưa nhé!