Tăng tốc website – Tối ưu hóa WordPress toàn diện (Siêu Checklist)

4 months ago Tips Wordpress

Làm thế nào để tăng tốc website của bạn để tải trong 2s (Với ~100% Điểm Pingdom + GTmetrix + Pagespeed Insight). Okê. Bạn sẽ được xem một danh sách khủng bố các mẹo tối ưu hóa tốc độ WordPress.

Vài lời mở đầu dọa dẫm

“Có nhiều nghiên cứu không thể chối cãi cho thấy tốc độ tải của một trang web thực sự quan trọng. Trong thời đại công nghệ mới xuất hiện mỗi ngày, nơi tốc độ của máy tính và Internet tăng lên không ngừng, sự tập trung của con người là khó hơn nhiều so với những năm trước đây” – Siteground

Là quản trị viên của 1 website, đừng lãng phí những giây quý giá của khách truy cập cho việc tải 1 trang web chậm bà cố.

Nếu Website chậm, bạn sẽ mất lưu lượng truy cập, khách của bạn sẽ chán ghét, tiền bạn rơi ra khỏi túi, kinh doanh của bạn thất bại, gia đình của bạn đổ vỡ…

Nếu bạn đang thực hiện SEO cho trang web, thì bạn nên biết là: Google cực thích các website chạy nhanh.

Vài lời hứa hẹn hấp dẫn

Mình sẽ hướng dẫn bạn cách sử dụng báo cáo Pingdom, GTmetrix, Page Speed ​​Insights để tối ưu hóa WordPress cụ thể nhằm cải thiện điểm số đo lường và tăng tốc cho website của bạn.

Bài viết này hướng đến đối tượng Bà mẹ bỉm sữa, với quy trình được nghiên cứu đảm bảo tốt cho sức khỏe trí não, nên siêu đơn giản để làm theo.

Một cái mục lục tỏ ra chuyên nghiệp

1. Đo đạc, kiểm tra thời gian tải và hiệu suất. Tìm ra các vấn đề tăng tốc website

Cách dễ nhất để làm là sử dụng các bài kiểm tra điểm chuẩn. Có một số công cụ miễn phí như: Gtmetrix, Tool.pingdom, và Pagespeed Insight

Pingdom (https://tools.pingdom.com)

Pingdom là công cụ chính xác nhất để đo thời gian tải theo đề xuất của WP Rocket. Thời gian tải là số liệu chính bạn nên đo lường (không phải điểm).
Hãy chọn máy chủ kiểm tra ở Tokyo hoặc Úc (gần Việt Nam hơn các máy chủ khác) và đo 3 lần liên tiếp để lấy kết quả tốc độ tải trang trung bình.

đo tốc độ website pingdom

GTMetrix (https://gtmetrix.com)

GTmetrix có các đề xuất mạnh mẽ hơn, giống như hình ảnh cần được tối ưu hóa trong tab Pagespeed và sử dụng CDN trong tab YSlow. Nó cũng tốt cho việc tìm kiếm các plugin nặng nề nếu chúng xuất hiện nhiều lần trong báo cáo của bạn hoặc mất một thời gian dài để tải trong tab “Waterwall”.

Hãy tạo 1 tài khoản (chỉ mất 2 phút) để có thể kiểm tra nhiều lần sau đó nhanh chóng hơn. Trong mục Analytics Option (nếu bạn đang ở trang chủ của gtmetrix) hoặc Page Setting (nếu bạn đang ở trang kết quả đo đạc) phía bên phải, bạn nên chọn Sever Test là HongKong, China, và chọn Unthrottled Connection

kiểm tra tốc độ website gtmetrix

Pagespeed Insight (https://developers.google.com/speed/pagespeed/insights)

Công cụ đo lường hiệu suất của chính Google. Điều hữu ích nhất mà mình thấy là nó tự động tạo ra 1 phiên bản tối ưu sẵn hình ảnh, css, js cho mình luôn. (ở cuối trang, có dòng chữ: Download optimized image, JavaScript, and CSS resources for this page.)

Đôi khi nó cũng khá vô lý, bạn có thể tham khảo bài viết này để biết lí do Tại sao không nên quan tâm đến Google Pagespeed Insight

Tuy nhiên, vì đó là công cụ của chính bộ máy tìm kiếm hàng đầu, nên việc bạn dựa vào google ắt hẳn sẽ đổi lại 1 chút ưu ái trên kết quả tìm kiếm không chừng. Dân SEO chớ nên coi thường nha.

công cụ đo hiệu suất trang web google pagespeed insight

Mách nhỏ: Mặc dù hầu hết các công cụ đo điểm chuẩn sẽ cung cấp cho bạn một số điểm nhất định, nhưng đừng dùng cả thanh xuân để theo đuổi theo nó. Nếu trang web của bạn tải dưới 1s, bạn nên đi quẫy được rồi.

Mách nhỏ vào tai còn lại: Nghiên cứu và phân tích nguyên nhân của sự chậm chạp có thể dẫn đến một danh sách rất dài những điều bạn có thể làm. Nhưng bạn cần phải ưu tiên danh sách đó. Sửa một số vấn đề nào đó có thể tốn rất nhiều thời gian, nhưng sẽ không dẫn đến những cải thiện lớn về tốc độ. Có hai điều bạn nên cân nhắc khi ưu tiên các bản sửa lỗi của mình:

  • Khắc phục các đề xuất có khó khăn và tốn nhiều thời gian không?
  • Việc giải quyết vấn đề có cải thiện được tốc độ của trang web thật sự hay không?

2. Tối ưu Hosting (Máy chủ)

Hosting là điều đầu tiên bạn nên nghĩ tới khi tối ưu tốc độ website.

2.1. Làm sao để biết Hosting của bạn chạy chậm?

  • Kiểm tra TTFB của website (thời gian đến byte đầu tiên). Lý tưởng nhất là <500ms trên toàn thế giới, và <200ms tại thị trường đích, tức vị trí khách hàng của bạn truy cập. Trong báo cáo của Gtmetrix, chuyển qua tab Timming để xem TTFBttfb thời gian đến byte đầu tiên
  • Nếu báo cáo của Pagespeed Insight thường xuyên lặp lại dòng đề xuất: “Giảm thời gian phản hồi máy chủ” (Reduceserver response time), tỉ lệ lớn là do Hosting của bạn.

2.2. Nên chọn Hosting thế nào nếu bạn là fan cuồng tốc độ?

  • Vị trí máy chủ (data center) càng gần khách truy cập càng tốt. Điều đó có nghĩa là, nếu website của bạn hướng đến người dùng Việt Nam, hãy ưu tiên chọn Hosting có data center ở Việt Nam hoặc ở Châu Á: HongKong, Singapore, Nhật Bản.
  • Dùng ổ cứng SSD
  • Dùng công nghệ máy chủ web NGINX hoặc Litespeed.
  • Hỗ trợ HTTP / 2. Máy chủ có Chứng chỉ Let’s Encrypt miễn phí có sẵn trong cPanel hoàn toàn tương thích với HTTP / 2 và sẽ cho phép trang web của bạn hưởng lợi từ giao thức mới và nhanh hơn này. Xem hướng dẫn tại đây
  • Có máy chủ Memcached.
  • PHP 7 trở lên. Phiên bản php 7 cải thiện tốc độ và hiệu suất tốt hơn 3 lần so với php 5.6 vẫn còn đang phổ biến nhất. Sở dĩ các Hosting thường để mặc định Php 5.6 là bởi vì còn kha khá theme, plugin cũ không chịu cập nhật để tương thích với php 7. Vì vậy, hãy bật PHP 7 trong Hosting trước, rồi chọn theme và plugin sau.
    Cách làm (áp dụng cho hosting có Cpanel, nếu không có Cpanel thì hãy liên hệ với hỗ trợ viên của hosting nhờ họ làm giúp): Đăng nhập vào Cpanel của Hosting > Select PHP Version > Chọn phiên bản Php mới nhất > Tick vào các extensions như hình dưới. Bạn hãy tick thêm vào opcachememcached nếu có (2 cái này là tiện ích giúp tối ưu tốc độ website) > Save.
    chọn phiên bản php trong cpanel
    nâng cấp php 7 cho hosting

Mách nhỏ: Theo kinh nghiệm của mình và theo Review của 500 anh em Canhme (blog chuyên canh me khuyến mãi giới thiệu hosting, domain xịn) thì Hosting khuyên dùng với khách truy cập Việt Nam là: Hawkhost (máy chủ Hong Kong) và AZDIGI (máy chủ tại Việt Nam). Ở Canhme.com, bạn có thể dễ dàng tìm được mã giảm giá từ 20-50% hóa đơn.

Ngoài ra, còn có 1 cái tên đáng chú ý và được giới thiệu từ rất nhiều blogger trên khắp thế giới, đó là Siteground cho tốc độ nhanh bá đạo với 5 trung tâm dữ liệu đặt ở Châu Mỹ, Châu Âu, và Châu Á (Singapore).

Ngoài ra, bạn có thể nghiên cứu thêm VPS (máy chủ riêng ảo) nếu bạn nằm ngoài cấp độ Bà mẹ bỉm sữa.

2.3. Ít trang web cho mỗi tài khoản Hosting

Bạn chỉ có một lượng giới hạn tài nguyên máy chủ trên tài khoản lưu trữ của mình. Lưu trữ quá nhiều trang web sẽ làm chậm chúng xuống đặc biệt nếu chúng có nhiều lưu lượng truy cập. Chỉ nên lưu trữ 1 trang web cho mỗi tài khoản hoặc đảm bảo gói của bạn có đủ tài nguyên cho nhiều trang web hoạt động cùng lúc.

3. CDN – Mạng phân phối nội dung

Vì đây là bài viết dành cho bà mẹ bỉm sữa (và cũng vì trải nghiệm của mình với CDN trong quá khứ khá tồi tệ), nên mình sẽ không đi sâu vào việc cài đặt và cấu hình CDN.

1 chút khái quát

“Mạng phân phối nội dung (CDN) là nhóm máy chủ được phân phối theo địa lý làm việc cùng nhau để cung cấp nội dung Internet nhanh chóng. CDN cho phép truyền tải nhanh các nội dung cần thiết để tải nội dung Internet bao gồm các trang HTML, tệp javascript, bảng định kiểu, hình ảnh và video.” – Cloudflare

Trên Thachpham, có bài viết siêu dễ hiểu về CDN nếu bạn muốn nghiên cứu.

Mặc dù có rất nhiều lợi ích, nhưng bạn nên lưu ý rằng:

Khi nào chưa cần thiết dùng CDN?

“Trong nhiều trường hợp bạn không cần thiết phải dùng CDN vì không những nó không giúp website nhanh hơn mà còn chậm hơn. Và một trong những lý do phổ biến nhất là máy chủ của website đặt ở gần người dùng. Ví dụ bạn có máy chủ tại Việt Nam và phục vụ người dùng tại Việt Nam, nhưng bạn sử dụng CDN mà nếu CDN đó không có PoP tại Việt Nam thì website bạn sẽ chậm hơn vì lúc đó người dùng của bạn sẽ truy cập ở các PoP khác xa hơn so với máy chủ gốc hiện tại nên thành ra chậm hơn.

Tương tự với dịch vụ proxy CDN như CloudFlare, website đặt ở máy chủ tại Việt Nam mà dùng nó thì người dùng ở Việt Nam sẽ vào chậm hơn so với bình thường.” – Thạch Phạm

Có 1 anh lang thang đã thực hiện 1 bài test rất hữu ích: Tăng tốc wordpress bằng Cloudflare đúng hay sai?

4. Tối ưu Theme và Plugins trong WordPress

4.1. Chọn Theme (chủ đề/ giao diện) như thế nào?

4.1.1. Chọn Theme từ nhà cung cấp uy tín và được phản hồi tốt

Khi chọn một Theme cao cấp nằm ngoài kho wordpress, hãy tìm một công ty có uy tín nổi tiếng trong cộng đồng WordPress. Mỗi phút bạn dành thời gian nghiên cứu nhà cung cấp theme và chọn theme sẽ tiết kiệm cho bạn những ngày sau đó khi bạn đầu tư thời gian và tiền bạc để phát triển nội dung trên trang web.

Đọc các bài đánh giá cho các Theme, kiểm tra xem công ty có đáng tin cậy trong cộng đồng WordPress hay không. Đừng tin tưởng một chủ đề được cung cấp bởi một nhà thiết kế vô danh và không có phản hồi nào, trừ phi bạn 1 là người ưa mạo hiểm.

4.1.2. Chọn 1 Theme nhẹ

Hãy đọc qua các bài Review của theme trước khi chọn chúng. Hãy ưu tiên tốc độ trước cái đẹp nếu bạn đang muốn làm SEO.

Gợi ý, các Giao diện của StudioPress rất nhẹ (chúng tải nhanh), đi kèm các plugin Genesis siêu nhẹ, responsive, HTML5, lại còn đẹp, an toàn và đáng tin cậy (chúng sẽ không bị ngưng phát triển như một số chủ đề tại ThemeForest).

theme nhẹ load nhanh studio press

Các theme của GeneratePress, Mythemeshop, ThemeJunkie,… cũng được đánh giá cao bởi sự nhanh nhẹ

4.1.3. Luôn cập nhật phiên bản của Theme

Hãy sử dụng Theme child (chủ đề con), nó cho phép bạn giữ cho theme gốc được cập nhật, trong khi vẫn giữ nguyên tất cả các tùy chỉnh của bạn. Vì đối tượng của bài viết này là Bà mẹ bỉm sửa, nên đây là Cách tạo ra Theme Child đơn giản nhất <<

Mách nhỏ 1 cách âu yếm: Ngoài ra, đây là bài viết rất rất bổ ích nếu bạn đang tìm 1 giao diện chuẩn seo <<

4.2. Nhìn lại Plugin đã cài

4.2.1. Chỉ kích hoạt những plugin thật sự cần thiết

Xem danh sách các plugin của bạn và ngưng kích hoạt hoặc xóa những plugin bạn không cần tới nữa. Vì có những Plugin bạn chỉ dùng 1 lần duy nhất, chẳng hạn như: WordPress Importer, Loco Translate, Regenerate Thumbnails, One-Click Child Theme. …Bạn cũng nên tránh sử dụng 2 plugin riêng biệt nếu chúng có chức năng trùng lặp.

4.2.2. Dọn dẹp cài đặt của Plugin cũ từ cơ sở dữ liệu

Một số plugin để lại tùy chọn và dữ liệu cài đặt trong cơ sở dữ liệu sau khi bạn xóa chúng. Để loại bỏ rác đó, hãy sử dụng một plugin có tên là Garbage Collector.
Hầu hết các plugin đều không làm phiền cơ sở dữ liệu của bạn sau khi bạn đã gỡ cài đặt chúng. Họ xóa các plugin, nhưng các bảng với các cài đặt khác nhau mà chúng đã sử dụng, vẫn còn. Plugin này sẽ xác định các tùy chọn không được sử dụng bởi bất kỳ plugin nào và cho phép bạn xóa chúng.

Mặc dù đó là một hoạt động tương đối an toàn, mình khuyên bạn nên sao lưu cơ sở dữ liệu của mình trước khi xóa bất kỳ dữ liệu nào.

Mách to: luôn backup Cơ sở dữ liệu trước, LUÔN BACKUP TRƯỚC. Xem hướng dẫn backup tự động tại Vuihocweb

4.2.3. Tránh các Plugins chiếm CPU cao

Hầu hết các plugin tải chậm thường có các tính năng như: tạo bài đăng có liên quan, thống kê, sơ đồ trang web, live chat, lịch, trình dựng trang + các plugin chạy quá trình quét / xử lý liên tục hoặc hiển thị nhiều lần trong báo cáo GTmetrix Water wall của bạn.

Một vài theme sau khi kích hoạt, yêu cầu bạn cài đặt các plugin cần thiết để theme hoạt động tốt nhất. Thật tế không hẳn, 1 vài plugin giống như rác vậy. Nếu bạn thấy không có nhu cầu, hãy ngưng kích hoạt nó (với điều kiện nó không ảnh hưởng đến giao diện của website nhé).

Danh sách plugin chiếm CPU cao bên dưới được tham khảo từ 1 fan đam mê tốc độ, sắp xếp theo ABC (những cái in đậm là mình đã từng trải nghiệm).

  • AdSense Click Fraud Monitoring
  • Better WordPress Google XML Sitemaps
  • Broken link checker
  • Các Plugin chèn Messenger chat
  • Constant Contact for WordPress
  • Contact Form 7
  • Contextual Related Posts
  • Digi Auto Links
  • Disqus Comment System
  • Divi builder
  • Essential Grid
  • Fuzzy SEO Booster
  • Google XML Sitemaps
  • Jetpack
  • Loco Translate
  • NextGEN Gallery
  • NewStatPress
  • Reveal IDs
  • Revolution Slider
  • S2 member
  • SEO Auto Links & Related Posts
  • Similar Posts
  • Slimstat Analytics
  • SumoMe
  • VaultPress
  • Visual Composer
  • WooCommerce
  • WordPress Facebook
  • WordPress Related Posts
  • WordPress Popular Posts
  • WP Statistics
  • WP-PostViews
  • WP Power Stats
  • wpCloaker
  • WPML
  • Yet Another Related Post Plugin
  • Yuzo Related Posts

4.2.4. Cập nhật plugin lên các phiên bản mới nhất

Hầu hết các bản cập nhật của Plugins là các bản vá bảo mật, các tính năng mới, sửa lỗi, cải thiện tốc độ hoặc tất cả các điều trên. Ngoài ra, có các tính năng, chức năng mới, v.v. liên tục được giới thiệu với các bản cập nhật của WordPress.
Rất nhiều trong số đó được thiết kế để cho phép plugin hoạt động tốt hơn và nhanh hơn. Bằng cách cập nhật plugin của bạn, bạn sẽ nhận được tất cả các cải tiến hiệu suất từ ​​bản phát hành mới nhất. Việc cập nhật các plugin của bạn sẽ cho phép bạn sử dụng các phiên bản PHP gần đây hơn bao gồm PHP7, cho phép trang web của bạn tăng hiệu suất rất lớn.

5. Sử dụng AMP (Trang trên thiết bị di động được tăng tốc)

Trang trên thiết bị di động được tăng tốc (AMP) là dự án gần đây của Google giúp các trang trên thiết bị di động của bạn tải nhanh hơn.

Tuy nhiên, trừ phi bạn là fan cuồng tốc độ và đồng thời là 1 “nhà thẩm mỹ học phản diện” (thuật ngữ tự bịa), bạn mới cần động tới AMP.

Bởi vì, hầu hết các trang AMP được tạo ra sẽ ảnh hưởng rất lớn đến thiết kế trang web dành cho di động. Và biết đâu được, bạn sẽ phải thốt lên: Trời má! Xấu dã man! Ôi website của tui! Lừa đảo hả!

Mình chỉ nêu ra chứ không thật sự khuyến khích, nên mình không viết hướng dẫn cụ thể cho mục này. Nhưng nếu bạn có trong tay 1 lập trình viên chuyên nghiệp đủ sức cân bằng giữa đẹp và tính năng, hãy thử.

6. Tăng cường bộ nhớ đệm (Caching) cho wordpress

6.1. Cách Caching hoạt động

Dịch lại từ: https://winningwp.com/what-is-website-caching-and-why-is-it-so-important/
“Nếu tôi hỏi bạn kết quả của 5 x 3 là gì, bạn sẽ biết câu trả lời là 15. Bạn không cần phải tính toán nó, bạn đã thực hiện phép nhân này rất nhiều lần trong đời và giờ bạn không cần nhẩm lại bản cửu chương nữa. Vâng, đó là cách hoạt động của bộ nhớ đệm.

1 trang web thường được xem tới hàng trăm, hàng nghìn hoặc thậm chí hàng triệu lần mỗi tháng. Thông thường, mỗi khi trình duyệt yêu cầu một trang web, máy chủ phải thực hiện một loạt các phép tính phức tạp (và tốn thời gian). Nó truy xuất các bài đăng mới nhất, tạo đầu trang và chân trang, tìm các tiện ích con bên của trang web của bạn, v.v. Tuy nhiên, trong nhiều trường hợp, kết quả của tất cả các phép tính này sẽ giống hệt nhau.

Nếu chúng ta làm cho máy chủ nhớ kết quả cuối cùng thay vì xử lý từng yêu cầu riêng biệt, thì quá nhanh quá nguy hiểm, website được tải nhanh như cách người yêu bạn trở mặt”

6.2. Cách tạo bộ nhớ đệm

Có nhiều Plugin thực hiện chức năng này, kết quả chênh lệch không lớn. Và mình khuyến khích các bạn sử dụng Wp Rocket 1 giờ giây và Litespeed Cache. Vì ngoài chức năng tạo bộ nhớ cache siêu đỉnh và siêu đơn giản, thì chúng còn có sẵn hàng loạt các tính năng tối ưu khác để tăng tốc website của bạn.

  • Wp Rocket (39$) là plugin hỗ trợ tối ưu tốc độ và hiệu suất website nổi tiếng nhất hiện nay.
  • Litespeed cache (free) là plugin có chức năng tương tự, và là lựa chọn tốt hơn nếu Hosting dùng công nghệ máy chủ web Litespeed.

Với WP Rocket
Vì đây là plugin có phí nên bạn cần phải mua. Không sao, mình sẽ chia sẻ cho các bạn phiên bản không giới hạn website, được cập nhật ngay từ bảng quản trị viên wordpress. Ngày 12/9/2019 mới hết hạn.

Link download: https://tnvmailauswidecollegesedu-my.sharepoint.com/:u:/g/personal/nguyenminhhung_id_tnv_edu_vn/EQnvyH9x9DFAmX6cUEw2MWkBikp0J9LR1pr13m-xZC0WRg?e=vaZfvo

Video bên dưới hướng dẫn cách cài nó. Kích hoạt plugin xong, chức năng tạo Cache đã được bật sẵn.

Với Litespeed cache (hãy dùng plugin này nếu hosting của bạn dùng máy chủ web litespeed). Cài đặt nó trong kho plugin miễn phí của WordPress.

  • Tab General, chọn Enable.
  • Tab Cache: Cứ On hết (trừ Cache Mobile chỉ bật khi bạn xây dựng 1 phiên bản web riêng cho website)

tăng tốc website bằng litespeed cache

hướng dẫn plugin litespeed cache

Xử lý vấn đề Bộ nhớ đệm trình duyệt của mã Google Analytics

Nếu bạn chèn mã Google Analytics theo cách thông thường, gần như chắc chắn, bạn sẽ nhận được đề xuất “Tận dụng bộ nhớ đệm trình duyệt” (leverage browser caching) tại Google Pagespeed Insight và Gtmetrix

Một cách giải quyết hết sức đơn giản và tiện lợi đó là sử dụng 1 plugin siêu nhẹ để chèn mã theo dõi (Google Analytics Tracking ID). Việc này còn giúp bạn đỡ mắc công chèn lại mã theo dõi khi Cập nhật phiên bản mới của Theme.

Trước tiên, hãy loại bỏ mã cũ trên website của bạn.

Sau đó. Cài plugin tên: Webcraftic Clearfy (sở dĩ mình chọn plugin này vì nó còn vài tính năng đặc biệt nữa để tối ưu hiệu suất cũng như hỗ trợ SEO, sẽ được giới thiệu kĩ hơn ở mục 8)

Setting > Clearfy > Performance > Google services

Chèn mã theo dõi của bạn vào ô Google analytic Code, chọn Footer ở mục Save GA in > Save Setting

chèn mã theo dõi analytics

Mách nhỏ: chỗ này không có mách nhỏ. Hãy thư giãn

7. Giảm dung lượng Trang web (Page size) và Tối ưu hóa nội dung

Nội dung ở đây bao gồm cả hình ảnh, css, js, html code của trang web

7.1. Giảm số lượng bài đăng trên trang chủ của bạn

Nếu Trang chủ của bạn được thiết kế theo dạng tập hợp các bài viết mới nhất, thì việc tải hết 1 đống các bài viết sẽ làm nản lòng chiến sĩ 3G/Wifi.

Việc giảm số lượng bài đăng hiển thị trên trang chủ của bạn có thể dễ dàng thực hiện từ bảng quản trị WordPress.

Đi đến: Settings > Đọc > Hiển thị nhiều nhất

Sau đó, thay đổi số “hiển thị nhiều nhất” thành giá trị thấp hơn, nên từ 10 trở xuống.

Ngoài ra, bạn có thể sử dụng một plugin như YITH Infinite Scrolling. Nó sẽ tự động hiển thị nhiều bài đăng khi người dùng của bạn cuộn xuống gần cuối trang của bạn, tương tự như cách Facebook hiển thị nhiều bài đăng hơn khi bạn cuộn. (Nhưng mình không khuyến khích cách này nha, vì có thể Footer của bạn chứa nội dung nào đó cần thiết, nhưng bạn cứ bắt người ta tải tải tải tải tải thêm nội dung ở Body, rất là tai hại).

7.2. Cân nhắc sử dụng Silder hay ảnh tĩnh

Thanh trượt thường sử dụng rất nhiều JavaScript để hoạt động. Hơn nữa, không phải tất cả các plugin tạo silde trên các trang WordPress đều được viết bằng mã tối ưu và nhẹ.

Cuối cùng nhưng không kém phần quan trọng, thanh trượt không đặc biệt thân thiện với người dùng trên thiết bị di động. Vì vậy, nếu thiết kế của bạn đang dùng slider, chỉ cần thay thế thanh trượt của bạn bằng bức ảnh tuyệt vời.

Tuy nhiên, nếu bạn thực sự cần và muốn có một thanh trượt, mình khuyên bạn nên sử dụng Plugin Soliloquy (19$). Plugin này hiển thị thanh trượt nhanh và nhẹ.

Một giải pháp tốt khác là plugin Meta Slider, nó cũng được đánh giá tốt.

7.3. Tối ưu hình ảnh

Ảnh là nội dung tiêu tốn rất nhiều thời gian để tải. Nếu bạn có 1 website nhiều ảnh mà tấm nào cũng nặng cả tấn ki-lô-bai thì đúng là thảm họa tận thế.

7.3.1. Lưu ảnh đúng định dạng

2 định dạng ảnh phổ biến: PNG và JPEG

  • PNG (kích thước tệp lớn hơn) có chất lượng ảnh cao hơn, chỉ nên sử dụng với các hình ảnh đơn giản không có nhiều màu sắc hoặc hình ảnh cần nền trong suốt như logo, favicon.
  • JPEG / JPG (kích thước tệp nhỏ hơn) chất lượng hình ảnh thấp hơn, được sử dụng trong các hình ảnh thông dụng có nhiều màu.

7.3.2. Chọn đúng kích thước hình ảnh

Nếu bạn muốn hiển thị hình ảnh có kích thước nhỏ trên trang web (giả dụ như logo với kích thước 150x150px), thì đừng tải lên 1 tấm ảnh to chà bá để rồi sau đó bắt nó hiển thị nhỏ lại bằng HTML hoặc CSS.

Nếu bạn đã tải lên 1 mớ rồi, thì cách để nhận biết bức ảnh nào nên tối ưu cho đúng kích thước mà nó đang hiển thị, là kiểm tra báo cáo của Gtmetrix. Mục Serve scaled images

tối ưu hình ảnh gtmetrix

GTmetrix cho bạn biết kích thước chính xác nên thay đổi. Chỉ cần nhấp vào hình ảnh trong báo cáo, thay đổi kích thước của nó sang kích thước mới và tải lên thay thế. Bạn có thể dùng bất kì phần mềm chỉnh sửa ảnh nào để thay đổi kích thước, chẳng hạn Photoshop, photoscape…

Không bao giờ sử dụng tính năng “kéo để thay đổi kích thước” trong trình chỉnh sửa hình ảnh tại Thư viện vì điều này chỉ thay đổi kích thước hình ảnh được hiển thị (không phải hình ảnh thực tế). Tốt nhất là thay đổi kích thước chính xác trước khi tải lên.

7.3.3. Nén dung lượng bức ảnh

Khi giảm kích thước bức ảnh về đúng kích thước hiển thị trển website, dung lượng bức ảnh của bạn cũng đã giảm kha khá. Nhưng chưa đủ, bạn cần phải nén nữa.

Việc nén 1 bức ảnh sẽ làm giảm chất lượng của nó, nhưng đổi lại có thể làm website được tăng tốc đáng kể. Trừ phi bạn đang vận hành 1 website chia sẻ hình nền hoặc truyện tranh, thì việc sử dụng 1 bức ảnh sắc nét được xem là lãng phí thời gian tải. Không ai dùng kính hiển vi để soi các pixel bị vỡ trên trang web cả.

Có rất nhiều cách để nén

  • Bằng phần mềm chỉnh sửa ảnh Photoshop. Vào File > save for web > chọn định dạng và mức nén Medium hoặc Low > Save
  • Bằng plugin trên wordpress. Những plugin này sẽ tự động nén ảnh sau khi bạn tải lên, hoặc nén trong quá trình bạn tải lên. Điểm danh một số plugin miễn phí: EWWW Image Optimizer, Imagify, Kraken, TP Image Optimizer (cái này của lập trình viên người Việt, nén ảnh rất kinh dị).
  • Trang web nén ảnh. Trang web mình hay dùng nhất là: Tinypng.com. Tiny có tỉ lệ nén rất khớp với đề xuất của chú Google Pagespeed.
  • Tải ảnh được nén tự động từ Google Pagespeed Ingsight (Download optimized image, JavaScript, and CSS resources for this page) và Gtmetrix (optimized version) sau khi phân tích website.

Riêng mình không thích sử dụng Plugin vì lại làm chậm website trong quá trình nén. Mình hay dùng phần mềm hoặc website Tinypng để nén trước khi Upload lên. Rồi cứ khoảng 1 tháng, mình kiểm tra lại bằng Google Pagespeed và Gtmetrix để tải về những bức ảnh đã được tối ưu tốt hơn và thay thế ảnh cũ.

7.3.4. Lazy load hình ảnh

Lazy load là tải lười biếng. Nghĩa là khi người dùng cuộn chuột tới ảnh nào thì ảnh đó mới bắt đầu tải. Điều này sẽ làm dung lượng trang web nhỏ hơn, và thời gian tải ở màn hình đầu tiên nhanh hơn.
Một vài theme cho tùy chọn bật lazy load hình ảnh. Nếu không, bạn có thể dùng plugin Wprocket hoặc Litespeed cache để bật tính năng này.

lazyload ảnh bằng wp rocket

Bật Lazy load với Wp Rocket. Sẵn tiện bật luôn Lazyload cho iframes và videos

Video hướng dẫn bật Lazyload hình ảnh bằng Litespeed cache. Bạn cũng nên bật Lazy Load iframes nữa nhé.

Mách nhỏ: không phải Theme nào cũng hợp với Lazyload, đôi khi bức ảnh được tải lười biếng đến nổi…không thèm tải. Hãy tắt tính năng này, hoặc thêm URL của bức ảnh đó vào danh sách ngoại lệ trong cài đặt Lazy load nếu có.

7.4. Bật nén GZip

Với tính năng nén gZIP được bật, đầu ra HTML của trang web của bạn và một số tài nguyên tĩnh sẽ được nén trước khi được truyền cho khách truy cập của bạn. Sau đó, trình duyệt của khách truy cập giải nén nội dung trước khi hiển thị. Nén và giải nén nội dung này nhanh hơn nhiều so với việc truy cập nó mà không nén.

Thường thì các Plugin tạo Cache sẽ giúp bạn kích hoạt sẵn nén gZip giúp tăng tốc cho website gấp vài lần. Để kiểm tra trang web của bạn đã bật nén gZip chưa, truy cập vào trang web https://checkgzipcompression.com và gõ địa chỉ website của bạn vào.

Cách bật gZip thông qua Cpanel

Đăng nhập vào tài khoản cPanel > Optimize website (Tối ưu hóa trang web) > Compress All content (nén tất cả nội dung) > Update Settings (cập nhật cài đặt)

bật nén gzip trên cpanel

bật nén gzip trong hosting

7.5. Tối ưu Code (html, css, js)

Nghe đến code thật muốn chùn tay. Nhưng yên tâm, đây là cách tối ưu mà bà mẹ bỉm sữa có thể thực hiện.

Việc chúng ta cần làm là Rút gọn HTML, rút gọn CSS, rút gọn Javascript (JS); Gộp các file CSS, gộp file JS, tối ưu hóa phân phối CSS, tải trì hoãn JS, xóa Query Strings… BẰNG plugin Wp Rocket hoặc Litespeed Cache

Với Wp Rocket, vào mục File Optimization và tick vào các dòng chức năng của nó. Lưu ý rằng, tùy theo Theme mà bạn đang sử dụng, việc kích hoạt 1 số tính năng như Minify CSS files, Combine CSS files, Minify JavaScript files, Combine JavaScript files CÓ THỂ PHÁ VỠ GIAO DIỆN của website.

tối ưu code bằng wprocket

Bạn hãy kiểm tra trang web sau khi bật từng tính năng trên bằng cách rê chuột vào chữ Wprocket trên thanh quản trị trên cùng > chọn Clear Cache, rồi mở website của bạn bằng trình duyệt ẩn danh, và mở trên cả trên điện thoại di động nữa.

clear cache wp rocket

Với Litespeed Cache cũng tương tự

tối ưu wordpress bằng litespeed cache

Các tính năng CSS Minify CSS Combine, JS Minify, JS Combine, Load CSS Asynchronously, Load JS Deferred có khả năng phá vỡ hoặc làm mất đi 1 số hiệu ứng trên website của bạn. Hãy thử nghiệm từng tính năng và cân nhắc sử dụng chúng.

Sau mỗi thay đổi, bạn cần xóa Cache bằng cách rê chuột vào biểu tượng của Litespeed > chọn Purge All

purge cache

7.6. Trì hoãn phân tích cú pháp javascript

Nếu kết quả phân tích tại Google Pagespeed Insight và Gtmetrix báo đỏ dòng này: “Defer parsing of JavaScript”, rồi cả wp rocket hoặc litespeed cũng bó tay luôn, thì đây là 1 giải pháp hơi nâng cao 1 tẹo.

Mở file Functions.php trong Giao diện > Sửa

Thêm đoạn code này vào ngay bên dưới <?php

Nhấn vào đây để copy code chính xác

// Defer Javascripts
// Defer jQuery Parsing using the HTML5 defer property
if (!(is_admin() )) {
function defer_parsing_of_js ( $url ) {
if ( FALSE === strpos( $url, ‘.js’ ) ) return $url;
if ( strpos( $url, ‘jquery.js’ ) ) return $url;
// return “$url’ defer “;
return “$url’ defer onload='”;
}
add_filter( ‘clean_url’, ‘defer_parsing_of_js’, 11, 1 );
}

Đây là bài viết mà mình tham khảo, xem chi tiết tại: http://www.laplacef.com/2014/05/24/how-to-defer-parsing-javascript-in-wordpress/

Mách nhỏ: Bà mẹ bỉm sữa có thể bỏ qua mục này. Mình xin lỗi.

7.7. Chỉ chèn Google map ở 1 số trang cần thiết

Google Maps nổi tiếng trong việc tăng thêm thời gian tải trang web khi nhiều người có xu hướng chèn nó ở Footer, khiến Google Maps phải tải trên tất cả các trang trên website của bạn.

Theo 1 bài viết của Moz, họ nhận thấy không có sự ưu tiên nào cho việc chèn bản đồ vào chân trang để SEO Local. Bạn chỉ nên chèn bản đồ ở trang Liên hệ hoặc Giới thiệu.

7.8. Dọn dẹp cơ sở dữ liệu (database)

Thật tuyệt vời khi 1 lần nữa, chúng ta có thể dễ dàng dọn dẹp 1 đống rác của wordpress chỉ với vài klick thông qua Plugin đã cài ở trên.

Sao lưu (backup) cơ sở dữ liệu của bạn trước khi bạn thực hiện thao tác dọn dẹp! Một khi tối ưu hóa cơ sở dữ liệu được thực hiện, không có cách nào để hoàn tác nó. Hãy xem lại MÁCH TO Ở MỤC 4.2.2

 

plugin dọn dẹp database wordpress

Dọn dẹp Cơ sở dữ liệu bằng Wp Rocket

plugin dọn dẹp cơ sở dữ liệu wordpress

Dọn dẹp Database bằng Litespeed Cache

8. Tối ưu hiệu suất WordPress mở rộng

Ở trên, mình có giới thiệu 1 plugin tên Webcraftic Clearfy để tạo bộ nhớ đệm cho mã Analyics. Nó còn có khá nhiều tính năng để tối ưu hiệu suất WordPress.

Bạn có thể chọn để tắt 1 số tính năng mặc định không dùng đến của WordPress. Hãy để ý biểu tượng “?” chứa lời giải thích tính năng với 3 màu tương ứng.

clearfy

Để tăng cường hiệu suất cho WordPress, hãy truy cập đến Tab PerformanceAdvanced

Một số thiết lập đáng chú ý:

  • Tắt biểu tượng cảm xúc. (Disable Emojis). Giải ngố: Biểu tượng cảm xúc thực sự thú vị, nhưng nếu bạn không sử dụng chúng, chúng vẫn tải một tệp Javascript (wp-emoji-release.min.js) trên mọi trang của trang web. Đối với nhiều doanh nghiệp, emoji không cần thiết lắm và chỉ tốn thêm thời gian tải nó. Vì vậy, tắt đi cho lành.
  • Tải không đồng bộ Font Awesome (Font Awesome asynchronous). Giải ngố: Nếu bạn có font biểu tượng Awesome, trang web sẽ không được tải đầy đủ cho đến khi các Font Awesome được tải. Điều này làm trang web của bạn tải chậm và dẫn đến lỗi khi kiểm tra trong Google Pagespeed Insight. Khi bật tính năng tải không đồng bộ font awesome, vấn đề trên được giải quyết, nhưng có 1 hạn chế là khách truy cập của bạn sẽ thấy không đẹp mắt lắm vì biểu tượng awesome trong lúc đợi tải sẽ bị biến thành 1 ô vuông ảnh trống.
  • Xóa phiên bản khỏi Stylesheet và Script (Remove Version from Stylesheet – Remove Version from Script). Tính năng này giúp cải thiện tốc độ tải trang, đồng thời giúp cho trang web khó bị hacker khai thác hơn.
  • Điều chỉnh tần số Heartbeat (Heartbeat frequency). Giải ngố: Heartbeat giúp WordPress xử lý những thứ như hiển thị thông báo cho các tác giả khác rằng bài viết đang được ai đó chỉnh sửa. Các plugin cũng có thể tận dụng tính năng Heartbeat để hiển thị thông báo theo thời gian thực. v.v. Tuy nhiên, mặc dù đây là chức năng tuyệt vời nhưng nó có thể gây ra các vấn đề trong một số trường hợp nhất định. Trên các trang khác nhau, Heartbeat kiểm tra thời gian khác nhau, trên chỉnh sửa bài đăng – cứ 15 giây một lần, trên Bảng điều khiển – mỗi phút, v.v. Mỗi lần “đánh dấu” tạo ra một yêu cầu POST làm tăng số lần thực thi và thời gian CPU của bạn đã sử dụng. Ok, nếu bạn quản trị website 1 mình, có thể tắt nó luôn, còn không, hãy giới hạn nó từ 60 giây trở lên.
    giới hạn heart beat
  • Giới hạn Post Revisions (Limit Post Revisions). Giải ngố: “WordPress tự động lưu các bản sửa đổi khi bạn đang làm việc trên các bài đăng và trang. Số lượng có thể tăng lên khá nhanh. Theo mặc định, không có giới hạn nào cả.
    Chúng tôi đã xem các bài đăng có hơn 1000 bản sửa đổi. Nhân số này với 50 trang và đột nhiên bạn có hơn 50000 bản sửa đổi trong cơ sở dữ liệu của bạn.
    Chúng có thể làm chậm CSDL của bạn cũng như chiếm không gian đĩa.
    Lời khuyên là giới hạn nó. ” – Trích hướng dẫn của Clearfy
    giới hạn revisions bài viết
  • Tắt Pingbacks (Disable XML-RPC). Giải ngố: Pingback về cơ bản là nhận xét tự động được tạo khi bạn liên kết tới 1 bài viết trong blog của riêng bạn. Pingbacks về cơ bản không có gì nhiều hơn là spam và đơn giản là lãng phí tài nguyên.
    tắt ping back wordpress

 

1 cái Kết luận từ sách văn mẫu:

Tối ưu hóa tốc độ website là một phần liên tục và quan trọng trong việc xây dựng và duy trì trang web WordPress của bạn. Nếu không làm nó, bạn có nguy cơ mất tiền, mất khách truy cập hay thậm chí mất cả thương hiệu và danh tiếng của bạn.
Bằng cách làm theo các checklist hướng dẫn tăng tốc cho website phía trên, nhiều bước trong số đó có thể được triển khai mà không có trình độ chuyên môn kỹ thuật sâu, bạn sẽ được đảm bảo trải nghiệm trang web tối ưu cho tất cả khách truy cập của mình.

nguyenminhhung