Tăng tốc WordPress cách tối ưu HTML là nền tảng

Những website chạy bằng WordPress thường khi lượng truy cập lên đến 30.000 visit/ ngày, sẽ tiêu thụ trên 20% cpu của máy chủ. Và nếu dùng share host, bất kể host ở Việt Nam hay nước ngoài, đều bị cảnh báo về lượng tài nguyên tiêu thụ. Và có thể dẫn đến khóa tài khoản vĩnh viễn. Đặc biệt là Hostgator ở Mỹ hay kể cả Vinahost ở Việt Nam.

tang-toc-wordpress

Để làm giảm lượng tài nguyên tiêu thụ trên máy chủ với WordPress. Tất nhiên không thể thiếu việc cài đặt các plugin Cache. Tuy nhiên trong bài viết này chúng ta chưa tìm hiểu vấn đề đó. Vì trên mạng đã chia sẻ nhiều, và rất dễ cài đặt.

Trong bài viết này chúng ta cùng nói về việc tối ưu HTML cho WordPress. Bởi vì HTML là định dạng xuất ra của tất cả các CMS (hệ quản trị nội dung). Đồng nghĩa với việc tìm hiểu và nghiên cứu cái gốc của vấn đề trước khi dùng các plugin.

1: Chuyển các thành phần cố định sang HTML

Các thành phần cố định được hiểu là các thành phần ít thay đổi. Như menu, sidebar, các phần tùy chọn trong theme. Việc viết theme với nhiều thành phần tùy chọn, sẽ làm việc tùy biến WordPress được dễ dàng, tuy nhiên điều đó cũng làm cho hosting hay nói chính xác máy chủ phải gánh thêm nhiều công việc hơn.

Hãy chuyển các thành phần mà hầu như bạn ít thay đổi sang HTML, nếu lượng truy cập lớn, đừng dùng theme có nhiều tùy chọn ở quản trị.

2: Tối ưu css và javascripts

Các hình ảnh và js đều có thể được nén về 1 tệp nhờ vào công cụ hoặc plugin có trong WordPress ví dụ như (Better WordPress Minify) tuy nhiên hầu hết mọi người sau khi cài plugin vào đều để nguyên như vậy. Bạn hoàn toàn có thể tải về  các file css và js được nén. Và thay thế lại các thành phần này trong theme. Sau đó tắt bỏ plugin đó đi.

Lời khuyên: Không bao giờ để đường dẫn với file tĩnh có dấu ? ở trong ví dụ: http://domain.com/java.js?v=123 nên chuyển thành http://domain.com/java-123.js

3: Bật nén HTML

Nén HTML hay bật Gzip có thể làm giảm dung lượng đến > 70% so với file gốc. Giúp việc tải nhanh hơn. Mở file .htaccess và thêm những dòng phí sau lên đầu tiên. Phía trước dòng # BEGIN WordPress

[code]
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

ErrorDocument 404 /index.php
ErrorDocument 500 /index.php

FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>
[/code]

Phía dưới bài viết có một phần dành cho bình luận, nếu bạn có câu hỏi nào đó, hoặc 1 các làm hay hơn liên quan đến WordPress. Hãy để lại bên dưới nhé. Sau bài viết này sẽ còn nhiều bài viết nữa liên quan đến việc tối ưu WordPress cho lượng truy cập lớn.

Hosting quá tải với WordPress tăng tốc và khắc phục

Với các hosting share tức là tất cả các hosting mà bạn đang sử dụng mua lại từ các nhà cung cấp. Ngoại trừ VPS hay máy chủ tĩnh. Thì bạn chỉ được tiêu tốn tài nguyên là 10 – 15% CPU sử dụng. Tùy từng nhà cung cấp. Với VPS và máy chủ tĩnh thì bạn có bao nhiêu bạn được chơi hết bấy nhiêu.

hosting-qua-tai-voi-wordpress-tang-toc-va-khac-phuc-10203

Xin lưu ý: Điều này không hẳn là khi dùng VPS web của bạn sẽ chạy nhanh hơn nhé. Bởi lẽ tài nguyên phần cứng của các nhà cung cấp hosting thường là rất cao, họ thường có trên tới 16 cpu với trên 16 GB ram, điều này tương đương theo một cách nông dân là bạn có 1,6 cpu và 1,6 gb ram (tức là với các vps dưới 1,6 cpu và dưới 1gb ram là chậm hơn). Ngoài ra họ còn tốt ưu rất nhiều với máy chủ hosting…

Hosting WordPress overload – quá tải hosting

Nếu bạn dùng hosting bạn sẽ nhận được 1 yêu cầu thông báo, và website của bạn có thể bị khóa nếu bạn không khắc phục. Điều này xảy ra với hầu hết các web chạy WordPress cỡ 3-5 nghìn visit/ ngày và chưa có tối ưu gì nhiều.

[postex]6972[/postex]

[postex]7076[/postex]

Với 2 bài bên trên bạn có thể đọc và thực hiện trước khi đọc tiếp phần bên dưới đây. Điều này đồng nghĩa với việc bạn sẽ thực hiện những công việc như thế này xong rồi.

  • Bật nén HTML Gzip
  • Tối ưu css và javascripts
  • Chuyển các thành phần sang HTML
  • Đã bật WP Super Cache

Tối ưu lại WP Super Cache

Nếu như bạn đã bật WP Super Cache đừng quên cài plugin WP Minify & DB Cache Reloaded Fix trước. Với DB Cache Reloaded Fix hãy cài lại thành 1440 phút = 1 ngày.

WP Super Cache ở tab Advanced

  1. phần Caching chọn Use mod_rewrite to serve cache files
  2. phần Miscellaneous chọn Compress pages so they’re served more quickly to visitors
  3. phần Expiry Time & Garbage Collection chọn lại các thông sống 864000 (1 ngày)

WP Super Cache như sau ở tab Preload

Cài lại thời gian thành 1440 phút
Tích vào các lựa chọn Preload mode (garbage collection only on legacy cache files. Recommended.) Preload tags, categories and other taxonomies. Sau đó nhấn Update

Cài đặt Transients cho WordPress

Mọi vấn đề luôn có bản chất của nó. Nếu như WP Super Cache chuyển trang từ php sang html tĩnh. Giảm thiểu tối đa các tính năng php làm tiêu tốn máy chủ và không còn lấy từ cơ sở dữ liệu nữa. Mô hình nó giống như thế này.

Khách truy cập số 01 truy cập vào bài a, tác động lên WordPress & WP Super Cache tạo ra trang html, wp-a1.html sau đó trang wp-a1.html này sẽ được gửi đến người thứ 2 thứ 3… thứ n khi truy cập vào trang này. Điều này giảm thiểu rất nhiều thay vì việc trang của bạn sẽ phải phục vụ wp-a2.html, wp-a3.html… với cùng 1 trang cho nhiều người.

Tuy nhiên điều mà WP Super Cache chưa làm được là thế này. Có 10 khách truy cập đồng thời vào 5 trang. Tức là trung bình chỉ 2 khách vào 1 trang. WP Super Cache phục vụ tốt 2 khác trên 1 trang. Tuy nhiên không giải quyết được vấn đề của 5 trang khác nhau.

Như bạn đã biết trong 5 trang khác nhau. Thường có các thành phần chung. Như menu, bên sidebar (widget), phần chân.

Transients cho WordPress được sinh ra để giải quyết vấn đề như thế. Tức là. Khách truy cập số 01 truy cập vào bài a, sẽ tạo ra cache cho các thành phần chung như sidebar, menu… khách thứ 2 chỉ cần tải lại phần cache này. Không tạo Query tới cơ sở dữ liệu nữa.

Transients sẽ tác động rất lớn nếu web của bạn có các thành phần tải giống nhau ở nhiều trang khác nhau. Ngoài ra khi sử dụng Transients thì các hàm query cũng có hiệu suất nhanh hơn. Bình thường 1 hàm query mất khoảng 0,02s để tải thì khi có Transients thời gian chỉ còn 0,003s…

Thay đổi các hàm WP-Query thành Transients như thế nào?

Hàm WP-Query gốc của bạn sẽ có dạng như thế này:

[code lang=”php”]
<?php $my_query = new WP_Query( array( ‘category’ => ‘featured’,
‘posts_per_page’ => 6
)
);

if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

[/code]

Bạn sẽ thay thế cách viết như thế này:

[code lang=”php”]
<?php if ( false === ( $my_query = get_transient( ‘sidebar_new_posts’ ) ) ) { $my_query = new WP_Query( array( //’category’ => ‘featured’,
‘posts_per_page’ => 6
)
);

set_transient( ‘sidebar_new_posts’, $my_query, 12 * HOUR_IN_SECONDS );
}

if ( $my_query->have_posts() ) :
while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

[/code]

Với hàm transient bạn đang cài cache tới 12 giờ sau sẽ kiểm tra lại và tải lại.

Thay đổi Transients là việc khó?

Về cơ bản nếu bạn không am hiểu code WordPress việc thay đổi này sẽ phức tạp hay sinh ra lỗi. Với những bạn am hiểu code, mình có lời khuyên nên copy code của bạn xuống web demo và chạy thử nghiệm, sau đó hãy hay trên web thực.

Nếu bạn cần: Tối ưu tốc độ WordPress, tối ưu seo wordpress hay thiết kế theme WordPress hãy liên hệ qua mail: webvaseo@gmail.com để nhận báo giá hợp lý nhất.

Bạn sẽ thấy WordPress bỗng nhiên tiêu tốn rất ít tài nguyên. Nếu web của bạn là ít bình luận và thì với những thay đổi bên trên bạn có thể phục vụ từ 30.000 – 50.000 khách truy cập hàng ngày với WordPress, với con số cao hơn thì mình không chắc chắn.

Nếu toàn bộ các thay đổi của bạn là tốt. Sau đó hosting của bạn vẫn quá tải. Hãy xem xét về việc thay đổi nhà cung cấp hosting của bạn./

Cách chọn theme miễn phí WordPress nhẹ nhất

Hiệu suất của WordPress tốt, sẽ giúp web bạn chạy nhanh hơn, theme nhẹ nhất tức là theme đạt hiệu suất cao, làm sao để chọn một theme miễn phí và nhẹ nhàng để chạy web của bạn.

cach-chon-theme-mien-phi-wordpress-nhe-nhat-103671

Tốc độ tải trang quyết định đến thứ hạng của bạn trên Google, vì vậy việc chọn theme WordPress nhẹ nhàng là điều quan trọng vô cùng khi xây dựng web.

Đôi khi nhu cầu của bạn về theme, tức là cách hiển thị bên ngoài, rất tối giản, nhưng bạn lại sử dụng một theme rất nặng, dẫn đến việc trang web thiết kế bằng WordPress của bạn tải trang chậm hơn một vài giây. Một vài giây là rất lớn trong thế giới web. Bởi lẽ thời gian tải trang thường tính bằng mili giây.

Dùng theme mặc định là tốt

Đúng như vậy các theme mặc định như 2015, 2014, 2013 qua hàng chục kết quả kiểm tra vẫn mang lại hiệu suất cao nhất và hầu như là ít lỗi nhất. Vì vậy trong nhu cầu của bạn nếu có thể hãy sử dụng giao diện mặc định của WordPress

Cài plugin Query Monitor

Query Monitor là plugin miễn phí giúp bạn thống kê thời gian tương tác và và số lượng query của WordPress ngay trên thanh menu admin phía trên cùng

cach-chon-theme-mien-phi-wordpress-nhe-nhat-10367
Bạn có thể tải ở: https://wordpress.org/plugins/query-monitor/

Xem thời gian tải trang và số Query

Mặc dù Query Monitor là miễn phí và rất tuyệt vời, tuy nhiên nếu muốn hiển thị một cách đơn giản về các thông số tải trang và query hãy sử dụng đoạn code bên dưới đây

[code lang=”php”]
Query:<?php echo get_num_queries(); ?> Tine: <?php timer_stop(1); ?> s.
[/code]

Hãy thêm vào tập tin footer.php thêm vào dòng cưới cùng của tệp tin đó trong giao diện bạn đang dùng luôn nhé!

Như vậy là 3 cách mà bạn sẽ biết được thời gian tải trang số lượng Query của WordPress của bạn.

  • Thời gian tải trang càng thấp càng tốt
  • Số lượng Query càng ít càng tốt.

Đó là hai yếu tố đánh giá theme của bạn có hiệu suất cao hay không??

Làm sao tăng tốc web khi thiết kế bằng WordPress

Plugin của WordPress tối ưu tốc độ có khá là nhiều, qua một thời gian sử dụng và tìm hiểu, mình giới thiệu với các bạn 3 Plugin sau, dễ sử dụng và hiệu quả cao.

1: WP Super Cache

Plugin này quá nổi tiếng rồi các bạn có thể download ở đây nhé!

tang-toc-wordpress

Cái có lưu ý là các bạn nên sử dụng chế độ “Use mod_rewrite to serve cache files.” thay cho chế độ mặc định “Use PHP to serve cache files.” ở trong phần “Advanced“. Các bạn nghiên cứu và chỉnh lại nhé, nếu khó khăn gì mình sẽ hướng dẫn ở bài khác.

Riêng phần Preload của WP Super Cache cũng là phần đáng lưu ý với các bạn có site truy cập lớn.

2: DB Cache Reloaded

Nếu WP Super Cache là Cache HTML tức là với hàng ngàn truy cập tới 1 bài viết thì WP Super Cache xử lý miễn chê. Nhưng hàng ngàn truy cập đó tới nhiều bài viết thì lựa chọn DB Cache Reloaded bổ sung cho WP Super Cache là tốt nhất.
Các bạn có thể download tại đây nhé ! Lưu ý ở trong phần cài đặt Plugin này các bạn có thể để là 1440 phút tức là 1 ngày sau nếu có tải lại thì mới tải lại nhé.

3: Autoptimize

Sau khi Cache đủ kiểu như 2 plugin phía trên, việc nén html, css, js là việc quan trọng và cũng không nên quên. Autoptimize sẽ là lựa chọn hoàn hảo, đơn giản và dễ dùng, các bạn download ở đây nhé.
Cái plugin này rất dễ dùng, cài lên xong vào tích vào từng ô là nó chạy. Có một mẹo dành cho các bạn như sau. Sau khi plugin nén css và js các bạn tải về, và upload ngược lên sau đó gỡ plugin cũng được.

Nếu các bạn chưa cài 1 trong 3 plugin trên các bạn nên cài ngay nhé, sẽ thấy hiệu quả bất ngờ luôn đấy, kể cả về SEO và tốc độ tải trang. Vì các plugin này không phải kích hoạt lên là dùng được ngay, cần tùy chỉnh nhiều mới có thể tối ưu được theo mong muốn. Vậy nên có khó khăn gì khi tùy chỉnh và cài đặt các bạn có thể để lại bên dưới phần bình luận, mình sẽ cố gắng giúp đỡ trong khả năng có thể.