Trang chủ WordpressHướng dẫn Wordpress Hướng dẫn tăng tốc WordPress từ A đến Z

Hướng dẫn tăng tốc WordPress từ A đến Z

bởi Thạch Phạm
40 bình luận 9988 views

Khi xây dựng website, chúng ta đều có một mối lo chung đó là làm sao để website tải nhanh nhất có thể, điều này không ngoại lệ đối với WordPress. Website WordPress cũng phải cần được tối ưu, tinh chỉnh để có tốc độ tốt nhất để tạo thuận lợi cho người truy cập, và tốc độ website cũng ảnh hưởng đến thứ hạng của website trên kết quả tìm kiếm của Google.

Trong bài này, mình sẽ nói qua về một số kỹ thuật cũng như những yếu tố liên quan đến làm sao để có tốc độ tốt nhất trên website WordPress.

Sử dụng bộ nhớ đệm – Cache

Trong các cách tăng tốc blog WordPress thì không thể không kể đến bước này vì nó sẽ giúp bạn giảm đến 70% gánh nặng cho máy chủ cũng như thời gian tải trang. Và nếu bạn đang dùng các host phục vụ tốt cho WordPress như AZDIGI thì lại càng nên dùng cache vì nó sẽ giúp bạn tiết kiệm tài nguyên hơn.

Trong WordPress, có 2 plugin hỗ trợ tạo cache tốt nhất đó là:

  • WP Super Cache – Plugin tạo cache đơn giản nhưng rất tốt, thích hợp cho những ai đang sử dụng hosting thông thường.
  • W3 Total Cache – Plugin tạo cache miễn phí chuyên nghiệp nhất mọi thời đại, thích hợp cho website WordPress đang chạy trên môi trường máy chủ riêng (VPS/Dedicated Server)
  • LiteSpeed CachePlugin tạo cache đơn giản nhưng rất mạnh mẽ, nhờ vào hệ thống LiteSpeed Cache có hỗ trợ trên các dịch vụ hosting. Hiện tại AZDIGI có hỗ trợ LiteSpeed Cache nên các bạn có thể sử dụng plugin này.

Dĩ nhiên, bạn chỉ nên sử dụng 1 trong 3 plugin.

Sử dụng Minify

Minify nghĩa là kỹ thuật gộp các file CSS và JS riêng lẻ đang có trên website của bạn thành một tập lớn để người dùng có thể tải toàn bộ nội dung về chỉ với một truy vấn duy nhất, vì trình duyệt luôn giới hạn số lượng kết nối nên website bạn quá nhiều tập tin được tải sẽ tốn thời gian lâu hơn.

Trên WordPress, bạn có thể dùng plugin Autoptimize. Cài đặt xong bạn vào Settings -> Autoptimize và  đánh dấu vào 3 tùy chọn như ảnh dưới.

setup-autoptimize

Khi sử dụng Minify, hãy lưu ý rằng website của bạn có thể tải chậm hơn bình thường ở lần tải thứ nhất, và không phải theme nào cũng có thể sử dụng Minify vì trong vài trường hợp, website sẽ bị lỗi vỡ khung khi dùng minify. Lúc này bạn không nên cài nó vào nữa.

Nén/giảm dung lượng hình ảnh

Nén dữ liệuNếu blog bạn hay sử dụng nhiều hình ảnh giống như mình thì không thể bỏ qua bước nén hình ảnh này để làm nhẹ blog hơn để tải nhanh hơn. Bạn có thể chọn 2 cách nén là nén trực tiếp trên máy tính và nén bằng plugin.

Về nén trực tiếp trên máy thì bạn có thể dùng phần mềm FILEMinimizer Picture.

Còn muốn nén tự động bằng plugin thì các bạn có thể dùng WP Smush.It, EWWW Image Optimizer. Sau khi cài đặt, mỗi lần upload ảnh lên nó sẽ tự động nén cho bạn. Hoặc có thể sử dụng Bulk Optimize trong phần Media để nén tất cả hình ảnh có trên host.

Nên đọc:

Nén Gzip – Gzip File Compression

Không cần làm nếu đã dùng WP Super Cache hoặc W3 Total Cache.

Nén Gzip sẽ làm giảm thiểu tối đa thời gian phản hồi bằng cách giảm dung lượng tải về từ giao thức HTTP.  Nó có thể nén các thành phần tĩnh trên website như CSS, Javascript, HTML nhưng trên lý thuyết và 1 số trường hợp, nó có thể làm việc cùng với XML và JSON. Các thành phần khác như hình ảnh, tài liệu PDF..v.v..có thể không cần sử dụng gzip vì bản thân nó đã được nén sẵn.

Tăng tốc WordPress với Gzip

Đối với máy chủ Apache

Nếu bạn dùng host thông thường thì dĩ nhiên host của bạn sẽ thuộc loại Apache Webserver, do vậy bạn sẽ cần chèn đoạn sau vào file .htaccess ngoài thư mục gốc của website.

<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>

Đối với máy chủ Nginx

Nếu máy chủ của bạn đang sử dụng Nginx Webserver thì chèn đoạn sau vào file cấu hình domain trong NGINX.

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;

Sử dụng Browse Caching

Không cần làm nếu đã dùng WP Super Cache hoặc W3 Total Cache.

Hãy tưởng tượng như thế này, khi bạn vào một website bất kỳ thì trình duyệt phải bắt buộc tải về tất cả thành phần có trong một website để có thể phân tích và hiển thị nó. Và mỗi lần truy cập trình duyệt đều cần phải làm công việc này, khá mất thời gian nếu bạn thường xuyên vào một website nào đó.

Vậy giải pháp Browse Caching có nghĩa là nó sẽ tạo ra bản bộ nhớ đệm của một website và lưu nó vào máy, kể từ các lần truy cập sau trình duyệt sẽ mang dữ liệu trong bộ nhớ đệm này ra thực thi mà không cần phải tải lại một lần nào nữa.

Đối với máy chủ Apache

Apache sẽ đảm nhận chức năng này với 2 module mod_expiresmod_headers.

Để kích hoạt nó bạn chèn đoạn nội dung sau vào file .htaccess

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>
## EXPIRES CACHING ##

Đối với máy chủ Nginx

Chèn đoạn sau vào file cấu hình domain.

	location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
               expires max; log_not_found off; access_log off;
	}

Tiết kiệm dung lượng MySQL Database

Các bạn cũng biết là bây giờ WordPress có thêm tính năng tự động lưu các bản nháp bài viết sau mỗi thời gian nhất định. Điều này có thể rất tiện dụng cho bạn nhưng nó lại làm kích thước cơ sở dữ liệu của bạn phình to ra nếu như các bạn không thường xuyên dọn dẹp nó. Còn nếu bạn lười dọn dẹp thì tắt nó luôn cho lành.

Khai báo đoạn code này trong file wp-config.php

define('WP_POST_REVISIONS', false );

Tối ưu database

Trong một thời gian dài, database của bạn sẽ sinh ra một số thành phần rác được lưu vào đó sau mỗi lần thực thi lệnh từ máy chủ. Vì vậy không có gì quý hơn là hãy chủ động dọn dẹp nó sau một thời gian nhất định. Mình thường dọn database khoảng 1 tuần 1 lần. Bạn có thể sử dụng các plugin sau đây để dọn dẹp database:

Ngoài ra, có một lưu ý là khi bạn cài plugin bất kỳ vào thì nó sẽ tự động sinh ra một cột dữ liệu trong table wp_options, nhưng khi tháo plugin ra thì các cột dữ liệu này vẫn giữ nguyên. Vì vậy mỗi lần tháo plugin, tốt nhất bạn nên dùng thêm plugin WP Options Editor để xóa các cột dữ liệu không còn sử dụng.

Xem thêm: Tối ưu bảng wp_options cho WordPress

Sử dụng CDN – Content Devilery Network

Nếu blog bạn có nhiều hình ảnh, video, bla bla…thì sử dụng CDN là cách để cải thiện tốc độ cũng như giảm tải cho máy chủ tốt nhất. Một số nhà cung cấp CDN trả phí tốt nhất hiện nay là:

Nhưng thông thường các dịch vụ CDN luôn có giá hơi đắt, thích hợp sử dụng trên các blog lớn hoặc website quy mô tầm trung trở lên. Nếu bạn muốn dùng CDN miễn phí, hãy cài đặt CloudFlare vào website của bạn là có ngay CDN miễn phí.

Nên xem:

Sử dụng kỹ thuật Async cho Javascript

Async nghĩa là kỹ thuật tải không đồng bộ, tức là các file Javascript sẽ không tải ngay khi trình duyệt vừa mở mà sẽ chỉ bắt đầu tải khi trình duyệt đã tải xong các thành phần khác trong website. Để áp dụng kỹ thuật Async trong website, bạn có thể dùng CloudFlare để tùy chỉnh nếu bạn có đang dùng nó, hoặc bạn xem qua các plugin hỗ trợ Async cho WordPress.

Lời kết

Đó là một số cách để tăng tốc blog WordPress trở nên tối ưu nhất. Bây giờ việc còn lại là kiểm tra tốc độ website, bạn có thể xem qua 6 công cụ kiểm tra tốc độ website uy tín để có đánh giá toàn diện nhất về tốc độ thật sự của website bạn để có thể biết đường mà tối ưu tiếp.

Hy vọng sau bài hướng dẫn này các bạn sẽ có thể tăng tốc blog WordPress của mình lên tốt hơn.

Tham khảo thêm: Các plugin tăng tốc blog WordPress tốt nhất.

40 bình luận

Có thể bạn quan tâm

0 0 vote
Article Rating
guest
40 Comments
mới nhất
cũ nhất đánh giá nhiều
Inline Feedbacks
View all comments

[…] trang web của bạn chưa được thiết lập bật nén Gzip thì bạn có thể xem cách bật nén Gzip – Gzip File Compression của tác giả Thạch Phạm […]

[…] Hướng dẫn tăng tốc website WordPress từ A đến Z […]

[…] Hướng dẫn tăng tốc WordPress từ A đến Z […]

[…] Tham khảo: Tăng tốc website WordPress từ A đến Z […]

[…] Và một bài viết đã được Thach Pham – Admin của Thachpham.com – Một anh lớn trong làng wordpress. Hướng dẫn rất cụ thể ở bài Hướng dẫn Tăng Tốc WordPress từ A đến Z. […]

[…] Tham khảo bài viết hướng dẫn đầy đủ của Thạch Phạm tại đây! […]

[…] tìm hiểu về các bài viết tăng tốc WordPress, có thể bạn sẽ thấy mình nhắc qua khá nhiều hình thức lưu bộ nhớ đệm cho […]

[…] Tham khảo bài viết hướng dẫn đầy đủ của Thạch Phạm tại đây! […]

lắp camera

web mình đang cần người giúp tối ưu, bác nào làm pm mình nhé
http://giamsat24hvn.com/ hiện có vài lỗi nhỏ cần khắc phục

Quân

Web mình làm được 70/100 http://kenhmucin.com thế đã ok chưa nhỉ?

Nguyễn Phước Lộc

Website của mình cũng bị chậm quá nhờ cho lời khuyên giúp.
http://tongdaifpt247.net/

Liem Nguyen

chào bạn, web mình http://bancanho.com.vn gg chấm điểm kém quá có 33 điểm chạy củng được, không hiểu sao. bạn có làm web không bạn

Toàn Phạm

Mình sử dụng phương pháp minify bằng cách dùng plugin Autoptimize để tối ưu file HTML, CSS và JavaSript, website của mình tăng tốc đáng kể. Các bạn có thể truy cập vào https://www.focuslearns.com để test thử nhé.

Cảm ơn Thạch vì bài viết tuyệt vời này.

thi bằng lái xe máy

Trang web của em test bằng google speed được có 79% có tốt không ạ

Hải

Sao web của mình làm hết rồi mà vẫn chậm quá, ai review giúp mình với.
http://vietphattech.com

Thăng Long

Web mình http://maydongphucglu.com chạy khá nhanh mà điểm google speed có 25/100 thôu, ai biết cách khắc phục ko

Jay Nguyễn

nhanh đâu mà nhanh bác, load mãi không xong

Đạt điện thoại

Web mình đa số load nhanh nhưng đôi lúc vẫn báo tốc độ rất thấp. Ho vọng Thạch bỏ ra chút thời gian xem giúp mình nhé

mohivn

Website của mình làm đầy đủ các cách trên vẫn còn load chậm là do đâu vậy bạn?
https://mohi.vn/

Phương Nguyễn

Mình cũng đã xem rất nhiều bài của Thạch rồi nhưng chưa gửi bình luận nào vì Thạch viết rất dể hiểu nên ko có gì để hỏi hehe,
nhưng hôm nay thì cho mình hỏi tí là có thủ thuật nào ( Sử dụng bộ nhớ đệm – Cache ) dành cho Blogspot không.
Hiện tại mình chỉ ĐAM MÊ với Blogspot thôi . Mong Thạch chỉ giáo

Như Chung

bạn nào xem dùm mình sao web của mình chậm quá
mình chỉ mới làm thôi
http://cameranhuchung.com

Hoàng

Chào bác e có trang http://luhanhxanh.com chậm quá làm theo hướng dẫn vẫn chậm. Mong bác cho e lời khuyên tối ưu website này

Bo Trần

Ai rảnh kiểm tra dùm web mình với. Mình tối ưu mà vẫn load chậm quá

Master Minh

mình có trang http://datvuong.net làm theo hướng dẫn rồi mà nó vẫn như rùa ấy, chỉ nhanh trên di động

Trung

Cài thêm vào nhưng thấy load vẫn chậm @@

Thiệu Nguyễn

A cho e hỏi cái chuông mà nhận thông báo dưới trang kia a dùng plugin hay a tự code.

Tran Anh

Chào anh, theme wordpress của em có vẻ không dùng thumbnail đúng kích cỡ, nên trên gtmetrix điểm Serve scaled image bằng 0, vậy có cách nào chỉnh source của theme để khắc phục lỗi này không ạ?

nam

web mình được có 60 điểm mobile page speed mà mình không rành lắm về code sợ xóa mấy cái js lại bị lỗi

sơn

Hix mấy plug-in cache giờ ko xài đc nữa rồi

Thịnh

Chào anh, anh cho em hỏi khi em nén CSS, nhiều tập CSS nén thì không còn gì, vậy là có thể xóa hết CSS đó à anh.
site này http://www.cleancss.com/ không còn CSS input, em nhập CSS vào CSS Minify đúng không anh

Khoa

Anh cho em hỏi cái contents list ở lề phỉa của trang khi mình click vào heading là nó nhảy đến vị trí đó trên trang là plugin hay viết code vậy ạ. Nếu là plugin thì anh cho em xin tên với ạ

Dili

Bản này có phí nhưng cũng hay đó ah.

Minh

mình đang làm 1 web wordpress datanla.net , nhưng không hiểu sao, web tiêu tốn rất nhiều tài nguyên server, load trang rất chậm, dù mình đã làm hết tất cả cách của thachpham hướng dẫn nhưng vẫn không ăn thua

Duơng Trương

Chạy nhanh như điện mà chậm gì đâu a

binh

mình đang quản trị một web wordpress nhưng làm theo hướng dẫn mà vẫn không cải thiện được tốc độ load trang

40
0
Would love your thoughts, please comment.x
()
x