Tăng tốc độ load WordPress site với .htaccess và header.php

Tăng tốc độ load WordPress site với .htaccess và header.php

0 36
Hướng dẫn tăng tốc cho Website WordPress

Tốc độ tải trang là yếu tố rất quan trọng đối với website đặc biệt đối với những site dùng shared hosting. Tốc độ load trang luôn là vấn đề hot đối với chủ blog, chủ website, 1 số ví dụ sau bạn có thể thấy tầm quan trọng của tốc độ tải trang:

Đối với Google: Chậm thêm 500 mili giây đồng nghĩa với việc ít hơn 20% lượng tìm kiếm
Đối với Yahoo: Chậm thêm 400 mili giây đồng nghĩa với việc tăng thêm 5-9% người dùng click quay lại
Đối với Amazon: Chậm thêm 100 mili giây đồng nghĩa với việc giảm 1% doanh số bán hàng

Hơn nữa, Google cũng chính thức công nhận rằng tốc độ tải trang sẽ ảnh hưởng trực tiếp đến thứ hạng tìm kiếm của bạn trên bảng xếp hạng tìm kiếm. Giải pháp tối ưu nhất là sử dụng dịch vụ CDN, tuy nhiên không phải lúc nào chúng ta cũng có thể bỏ ra thêm mười mấy $/tháng để sử dụng CDN cho 1 blog hay niche site nhỏ. Chính vì thế chúng ta cần nghĩ đến việc chọn hosting sao cho tốc độ nhanh nhất và cũng không quên sử dụng 1 số thủ thuật nhằm cải thiện page speed cho website của mình.

Bạn có thể dùng 1 số plugin như WP super cache, Wp total cache để tăng tốc độ load cho site của mình. Nhưng nếu bạn là người không muốn cài đặt quá nhiều plugin thì bạn có thể tham khảo cách dưới đây để cải thiện tốc độ tải trang cho trang web của mình. Để đảm bảo tránh gặp sự cố đáng tiếc thì trước khi bắt tay vào làm, bạn dùng FPT download những file .htaccess, header.php, wp-config.php về máy và lưu lại cẩn thận.

1. Gzip để tăng tốc độ tải file

Cách này sẽ giúp bạn nén HTML, scripts và stylesheets ngoài ra còn có thể nén cả file xml và json. Các tập tin PDF không nên nén bởi vì nó đã được nén sẵn, nén thêm 1 lần nữa không những làm lãng phí CPU mà còn làm tăng kích thước file. Thực hiện Gzip còn cho phép bạn tiết kiệm băng thông.

Cách 1. Gzip với .htaccess
Đối với Servers Apache:
mod_pagespeed là một module Apache được phát triển bởi Google và hiện nay chỉ có GoDaddy và DreamHost hỗ trợ module mod_pagespeed , vì thế nếu bạn đang dùng hosting của 2 nhà cung cấp (NCC) này thì chỉ cần copy và paste đoạn code sau vào .htaccess

<IfModule pagespeed_module>
ModPagespeed on
# using commands,filters etc
</IfModule>

Nhiều NCC khách không hỗ trợ mod_pagespeed thì bạn có thể dùng module mod_deflate (với Apache 2x trở lên) và module mod_gzip với Apache 1.3x.

<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

Đối với Server Nginx
Copy rồi paste đoạn code sau vào .htaccess

server {
gzip on;
gzip_types text/html text/css application/x-javascript text/plain text/xml image/x-icon;
}

Cách 2. Gzip với header.php
Nếu bạn không muốn làm việc với file .htaccess vì sợ thì bạn có thể dùng PHP script để làm thay việc này. Đoạn code sau dùng cho cả server Apache và Nginx, copy và paste đoạn code sau vào file header.php

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

2. Vô hiệu ETags

Để vô hiệu hóa etags bạn chỉ cần dán đoạn code sau vào .htaccess

Header unset ETag
FileETag None

3. Sử dụng bộ nhớ cache

Bằng cách làm này bạn đang tự làm thay các công việc mà plugin như Wp super cache hay W3 total cache vẫn làm. Cache là kĩ thuật giúp tăng tốc tải web trong lần tiếp theo. Nếu người dùng đã vào trang web của bạn thì sẽ cần tải một lần các file cần thiết. Lần tải tiếp theo nó sẽ được giảm bớt vì một số file đã được lưu trên bộ nhớ cache.

Đối với Servers Apache:
Thêm đoạn code sau vào file .htaccess để cài đặt Expires headers

# BEGIN Expire headers
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault “access plus 5 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

Thêm tiếp đoạn code sau để cài Cache-control header:

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch “\.(ico|jpe?g|png|gif|swf)$”>
Header set Cache-Control “public”
</filesMatch>
<filesMatch “\.(css)$”>
Header set Cache-Control “public”
</filesMatch>
<filesMatch “\.(js)$”>
Header set Cache-Control “private”
</filesMatch>
<filesMatch “\.(x?html?|php)$”>
Header set Cache-Control “private, must-revalidate”
</filesMatch>
</ifModule>
# END Cache-Control Headers
Đối với Server Nginx
location ~* \.(jpg|png|gif|jpeg|css|js)$ {
expires 1h;
}

Đoạn code trên sẽ lưu giữ các file HTML, CSS, Javascript, images và favicon trong 1 giờ.

4. Thu gọn kích thước MySQL Database

Dán đoạn code sau vào wp-config.php sẽ thay plugin làm việc này:

define(‘WP_POST_REVISIONS’, false );

Trên đây là những đoạn code sẽ giúp bạn cải thiện tốc độ website. Điều chỉnh này sẽ giúp cho website của bạn chạy mượt hơn. Chúc bạn thành công

Chưa có bình luận

Vui lòng để lại bình luận của bạn vào ô bên dưới