20 cách tăng tốc website WordPress: Hướng dẫn toàn diện. Nhiều cách Free, tuy nhiên đầu tư thêm tiền sẽ tốt hơn!

Có thể tiêu đề làm bạn tụt hứng phần nào, nhưng đó lại là thực tế phũ phàng! Tuy nhiên cũng có một thực tế khác dễ chịu hơn nhiều mà chúng ta cần phải biết, và điều này có lợi cho tất cả mọi người:

Khi muốn tăng tốc WordPress thì có điều kiện về tiền bạc chỉ làm bạn thuận lợi hơn thôi chứ nó không thể thay thế được các lựa chọn thông minh.

Điều hay ho nữa: Bài viết này sẽ cung cấp nhiều cách hiệu quả nhất (trong hiểu biết của tôi), trong đấy có cả những cái không hề tốn một xu nào (nhưng dĩ nhiên có mất công tốn sức!).

Không phải dẫn những nghiên cứu quốc tế, từ kinh nghiệm cá nhân chúng ta đều biết rõ rằng:

Website chậm chạp không chỉ gây ảnh hưởng tiêu cực đến trải nghiệm người dùng, mà còn tạo ra hàng loạt hệ quả tai hại xoáy vòng, cộng hưởng khác như: người dùng đánh giá thấp năng lực của chủ web, giảm bớt nhu cầu xem tiếp trang thứ hai, thứ hạng trên máy tìm kiếm kém đi*, tỷ lệ chuyển đổi thấp, vân vân. Trong trường hợp xấu nhất, khách có thể rời khỏi website trước khi nó kịp tải xong.

– Kiến càng

Mặc dù bài viết này hướng đến việc tối ưu cho WordPress nó cũng rất có ích cho những ai muốn tăng tốc website nói chung. Bởi vì các nền tảng cơ bản vẫn vậy, khác nhau chỉ là công cụ sử dụng mà thôi.

Các cách tăng tốc WordPress hiện Kiến càng đang áp dụng:

  1. Hosting: ChemiCloud với LiteSpeed webserver, vị trí máy chủ Singapore;
  2. Cache: LiteSpeed cache với nhiều tùy chọn chuyên sâu, miễn phí;
  3. CDN: QUIC cloud & BunnyCDN, giá cả thân thiện và tốc độ tốt;
  4. Theme: GeneratePress, rất nhanh & dễ dùng;
  5. Loại bỏ CSS, JS dư: Perfmatters, hiệu quả, dễ dùng, giá vừa phải;

Nếu bạn muốn có cái nhìn nhanh, tổng quan về 5 biện pháp và công cụ hiệu quả khác thường được dùng (trong số rất nhiều cách thức bên dưới), thì nó đây. Bạn chỉ cần chọn một trong các công cụ để dùng, những cái bôi đậm là tôi thích dùng hoặc đang dùng**, những cái in nghiêng là tôi đã từng trải nghiệm:

Biện phápDịch vụ/Công cụ
Host tốtVultr (ưu tiên cái này nếu cần giá thân thiện, chất lượng ổn và dễ dùng), DigitalOcean, ChemiCloud, UpCloud, Dreamhost, SiteGround, Knownhost, Cloudways, Closte (ưu tiên cái này nếu có kinh phí tốt).
CDNCDNSun, KeyCDN, Cloudflare, BunnyCDN (ưu tiên cái này), Stackpath, QUIC cloud, BizFly.
CachePlugin như LiteSpeed cache (ưu tiên cái này), FlyingPress, Swift Performance, W3 Total Cache, WP-Rocket. Hoặc cache phía máy chủ như Varnish, Redis, Nginx FastCGI cache.
Tối ưu ảnhPlugin như EWWW, reSmush.it Image Optimizer, ShortPixel. Hoặc dịch vụ bên thứ ba như Cloudinary, Imagekit, Imgix (chúng thường tối ưu sâu hơn & kết hợp luôn với CDN), hoặc tính năng có sẵn trong plugin cache, ví dụ LiteSpeed cache (ưu tiên cái này, vừa rẻ vừa đơn giản).
Lazy loada3 Lazy Load, Flying Images, Lazy Loader (có khả năng lazy cả ảnh background rất nuột) hoặc dùng tính năng tương tự trong plugin cache (ưu tiên cái này vì vẫn rất tốt mà bạn đỡ phải cài thêm plugin). Các cách thức liên quan đến mã, như critical CSS và defer JS cũng có thể coi là lazy load

(**): Lưu ý, những gì tôi thích dùng hoặc đang dùng chưa chắc là cái phù hợp nhất với trường hợp của bạn.

(*)Tránh hiểu lầm quan trọng: Google đánh giá tốc độ website của bạn nhanh hay chậm không phải thông qua tổng thời gian để tải toàn bộ trang web, mà là thời gian để tải nội dung trong màn hình đầu tiên (above the fold), tức là nội dung mà người dùng thấy khi chưa cuộn chuột. Điều này công bằng hơn, vì nếu không thì những trang có nội dung dài sẽ bị mặc định là chậm, và cũng nhờ cách đánh giá này các kỹ thuật lazy load và trì hoãn tải rất quan trọng, giúp bạn cải thiện tốc độ web lên rất nhiều mà không cần quan tâm nhiều đến độ dài bài viết, cũng như các tài nguyên phong phú có dữ liệu lớn trên trang.

Lưu ý thứ hai là: khi bạn tăng tốc trang bạn phải để ý đến điểm tương tác trên trang. Mục tiêu không phải chỉ là thuần túy tăng tốc độ hiển thị website, suy cho cùng, mục tiêu cao nhất là để người dùng có thể làm được thứ mà họ muốn trên website nhanh nhất có thể.

Lưu ý thứ ba là: tốc độ website là một trong các yếu tố quan trọng trong bài viết chuẩn SEO. Google chính thức sử dụng tốc độ như một thành tố xếp hạng kể từ năm 2010.

Giờ đến lúc chúng ta cùng khám phá nào.


Mục lục

1. Host phải tốt – tiền ít khó hít được đồ thơm #

  • Ưu điểm: là biện pháp cải thiện tốc độ hiệu quả nhất;
  • Nhược điểm: chi phí cao nếu muốn có hosting chất lượng;
  • Lựa chọn nhanh: ChemiCloud;

Nhìn là biết cách tăng tốc WordPress này sẽ tốn thêm tiền rồi! Tuy nhiên…

…Host rẻ, web nặng, traffic nhiều mà bạn lại đòi tốc độ WordPress cao thì khó lắm! Nếu bạn muốn web nhanh điều quan trọng nhất là phải chọn được hosting phù hợp.

Phù hợp ở đây ý tôi là phù hợp với kiểu web của bạn và lưu lượng truy cập.

Nếu web bạn nhẹ, truy cập không lớn (dưới 2 – 3K view / ngày), bạn chọn host từ 5 đô – 10 đô / tháng vẫn CHẤP NHẬN ĐƯỢC. Nhưng nếu nhiều hơn hoặc trang có tài nguyên lớn bạn nên cân nhắc các gói hosting tốt hơn.

Đặc biệt, nếu là web bán hàng, web chạy Adsense đem lại thu nhập cao, đừng tiếc 1 – 5% tiền vốn cho host. Bên cạnh nội dung chất lượng cao, SEO, thì tăng tốc website là điều quan trọng thứ hai mà tôi ưu tiên thực hiện. Trải nghiệm người dùng tốt thường đem lại nhiều lợi ích vượt hơn rất nhiều chi phí bạn phải bỏ ra để thuê host “ngon”.

Host xịn không chỉ có RAM, CPU khoẻ, chịu được truy cập lớn, mà phần lớn các host kiểu này đã được tối ưu sẵn nhiều thứ, cái mà nếu bạn không có chuyên môn tốt thì rất khó tự mình thực hiện.

Các bạn có thể muốn hỏi nên mua hosting ở đâu? Cái này nó thay đổi theo thời gian! 12 tháng sau có khi đã khác nên tôi sẽ cố gắng chỉ nêu vài cái tên đã ổn định lâu năm. Tuy nhiên nếu nói riêng về phần kinh nghiệm thì chọn lựa là thế này:

  • Nếu hiểu biết một chút về công nghệ và muốn có host tốt, web nhanh, chịu traffic cao, tiết kiệm tiền thì mua VPS. Nó còn là giải pháp giúp bạn có được cơ hội thử nghiệm nhiều loại CMS (hệ quản trị nội dung) khác nhau chứ không chỉ riêng WordPress, ví dụ như Magento, Drupal, hay ngay cả các đoạn mã tự code;
  • Nếu không rành công nghệ thì mua các loại host đã được tối ưu, kiểu ăn sẵn, ví dụ một số host được tối ưu riêng cho WordPress (Managed WordPress Hosting);
  • Nói chung thì tiền nào sẽ đi với của đấy. Host giá cao thường đi kèm một số dịch vụ gia tăng như cài đặt đơn giản, backup miễn phí hàng ngày, hỗ trợ nhanh 24/7, thời gian uptime rất cao, phòng trừ malware, vân vân;
  • Chọn công ty gia nhập thị trường đủ lâu, ít cũng phải được 3 năm. Nhiều đại gia ngành host đã có mặt ở đây 15 – 20 năm rồi;
  • Vào xem những trang web lớn, hoặc web mà bạn thấy nhanh xem họ dùng hosting của công ty nào, nếu dưới chân trang không thấy, bạn có thể dùng công cụ whoishostingthis để tìm xem web đó dùng host ở đâu? (Xem hướng dẫn kiểm tra host ở đâu tại bài viết này). Tuy nhiên cách này cùng có hạn chế, ở chỗ là dù cùng một công ty host nhưng họ cung cấp nhiều gói dịch vụ khác nhau, nếu web bạn thấy nhanh chọn dịch vụ cao cấp còn bạn chọn dịch vụ thông thường, thì dù là cùng công ty, vẫn có sự chênh lệch đáng kể về tốc độ, hiệu suất;
  • Đa số các công ty hosting đều có chính sách hoàn tiền lại nếu cảm thấy không ưng í. Thời gian giới hạn thì còn tuỳ từng công ty, nhưng thường có thể lên đến 30 ngày trải nghiệm. Do vậy, khi bạn dùng thử một thời gian thấy tốc độ không ổn thì chuyển đi luôn, đừng ngại;
  • Cái cuối cùng quan trọng này, đọc review thật kỹ, gồm cả review ở các diễn đàn lẫn review của các blogger công nghệ. Các review của các blogger công nghệ có thể bị ảnh hưởng bởi việc họ được ăn % hoa hồng (affiliate) khi có người mua qua khuyến nghị của họ, nên bạn phải nghe bằng cả hai tai. Dù sao những tay blogger lớn bản thân họ cần giữ uy tín nên đa số là tin được, nhưng nên nhớ là những tay hàng đầu thôi nhé;

OK, giờ là một số cái tên tôi thấy ổn.

A. Share host. Đây là gói host phổ biến nhất với người dùng thông thường, các gói chuyên cho WordPress nói chung thường cũng là share host nhưng được tùy chỉnh để tối ưu hơn. Các công ty tôi nói dưới đây thường cũng có VPS nhưng share host của họ được biết đến nhiều hơn.

  • SiteGround (VPS/share/tối ưu WordPress/dễ dùng, có location ở Sing, gần với VN nhưng giá khá đắt). Thanh toán cho cả năm đầu tiên được khuyến mại với giá rất ổn. Các năm tiếp theo trở về giá ban đầu tương đối cao, với tầm 36 USD cho một host tối ưu WP có 100 ngàn view/tháng (SiteGround nói rằng con số này chỉ để làm mốc tham khảo chứ không phải là hạn chế cứng nhắc, tuy nhiên SiteGround lại có hẳn một panel thống kê lượt view rất chi tiết!). Trong một số cuộc thăm dò về hosting nên dùng và có tốc độ tốt, SiteGround thường là cái tên được nêu. Tuy nhiên dạo gần đây (cuối năm 2019) một số người dùng nói rằng TTFB của SiteGround là khá cao (không tốt);
  • Dreamhost (VPS/share host/tối ưu WordPress/dễ dùng, ổn định, chịu tải tốt, nhưng không có location ở Châu Á). Tôi trung thành với Dreamhost hơn 5 năm, nhìn chung nó ổn, nhất là gói DreamPress chuyên cho WordPress, còn với VPS thì bình thường. Nhiều người không thích panel mà Dreamhost tự tạo, nhưng quen rồi thì cũng thấy nó không tệ;
  • Mediatemple (tối ưu WordPress/dễ dùng), nhưng chất lượng đã suy giảm nhiều sau khi bán cho GoDaddy;
  • Lightning Base (tối ưu WordPress/dễ dùng, giá đắt);
  • Liquid Web (tối ưu WordPress/dễ dùng/tuy nhiên đăng ký cần xác nhận);
  • Knownhost (VPS/share host/tối ưu WordPress/dễ dùng, uptime cao, cài thêm được LiteSpeed hỗ trợ tăng tốc khi cần, không có loacation ở Châu Á).

B. VPS. Phổ biến dạo gần đây, khi người dùng muốn một hosting có thông số cụ thể (thay vì toàn unlimited), và ít bị ảnh hưởng bởi những người hàng xóm.

  • Vultr (VPS/giá cạnh tranh, tương đối dễ dùng nhất là với ai có hiểu biết nhất định về hosting, có location ở Sing, gần với VN). Vultr là VPS rất được ưa chuộng ở Việt Nam. Ưu điểm của nó là giá tính theo giờ, tạo điều kiện vọc vạch tìm hiểu mà không tốn kém chi phí, ngoài ra là các app cài đặt thuận tiện chỉ cần thông qua vài click. Với việc sử dụng WordPress trên Vultr có nhiều giải pháp trong đó có việc sử dụng dòng lệnh (vpssim, hocvps), sử dụng app cài WordPress trên Vultr, sử dụng app Plesk phiên bản miễn phí, sử dụng các app của bên thứ ba ví dụ như ServerPilot, GridPane, Forge Laravel. Mỗi cái có ưu điểm riêng. Đối với người không thạo dòng lệnh, ngại vọc vạch nhiều sử dụng Plesk phiên bản miễn phí là dễ và tối ưu chi phí nhất, bạn có đầy đủ công cụ cần dùng khi cần thiết. Với những ai tập trung vào hiệu suất, tốc độ, các app của bên thứ ba là giải pháp hữu hiệu hơn vì nó ít sử dụng tài nguyên hệ thống, ngoài ra chúng thường được coi là bảo mật hơn (do ít phổ biến hơn, và ít phải mở các cổng do tính năng đơn giản). GridPane (bản miễn phí) ở thời điểm này là ứng viên hoàn hảo cho ai vừa muốn tối ưu tốc độ, lẫn chi phí;
  • DigitalOcean (VPS, Cloud/dễ dùng). Tương tự, DO cũng là một cái tên hàng đầu về VPS, có server ở Sing (không có ở Nhật, Hàn), hiện nhiều website tôi đang dùng ở DO và thấy rất ưng ý.
  • UpCloudmột làn gió mới rất đáng chú ý trong cuộc chơi VPS, có location Sing, được đánh giá rất cao về tốc độ, phần cứng.
  • Linode (VPS, Cloud/tương đối khó). Có vị trí hàng đầu trong làng VPS giống Vultr. Tuy nhiên đăng ký có vẻ khó, tôi đăng ký thử một lần và họ block luôn không rõ lý do, mặc dù thẻ & các thứ khác đều đàng hoàng.
  • Cloudways (VPS, dịch vụ trung gian cho phép chọn nhiều VPS khác nhau, trong đó có cả Google Cloud). Cloudways về nhiều điểm khá giống serverpilot, nhưng với nhiều chức năng phong phú hơn. Tính theo giá nó đắt gấp đôi các VPS mà nó kết nối đến.

C. Tối ưu sẵn cho WordPress

  • Hiện tôi ưng mỗi hosting của Closte: ưu điểm sử dụng Google Cloud chất lượng cao, LiteSpeed Enterprise. Cách tính giá của Closte hơi phức tạp, nhưng nhìn chung website có lưu lượng 50 – 100K view/tháng có giá hợp lý từ 15 – 30$/tháng. Tham khảo bài review để có cái nhìn chính xác hơn về Closte.

Các công ty bán VPS có khoảng giá phong phú từ thấp nhất khoảng 5 USD cho đến vài trăm USD. Các công ty chuyên cho WordPress thường có giá khởi điểm từ 20 – 30 USD / tháng.

Hiện tại tôi host trang này trên DigitalOcean, tôi dùng kèm với vài trang khác nữa, tốc độ tương đối tốt.

Với host Việt Nam, tôi không có nhiều kinh nghiệm, nhưng thấy anh em bạn bè dùng và phản ánh khá tốt thì có một số nơi như:

  • Azdigi (Thạch Phạm);
  • BKNS;
  • vHost.

Ưu điểm quan trọng nhất của host Việt Nam là vị trí máy chủ ở gần người dùng, do vậy tốc độ cải thiện đáng kể so với việc bạn đi nửa vòng trái đất để lấy dữ liệu từ host ở Hoa Kỳ chẳng hạn.

Ngoài ra bạn còn thấy sự khác biệt rõ ràng trong trường hợp đứt cáp, host ở Việt Nam hầu như không ảnh hưởng gì về tốc độ, host ở nước ngoài (nhất là với các gói thấp) hoặc/và ở xa thì chậm hẳn.

Nếu bạn vẫn thích host ngoại nhưng ngại đường dài, hãy chọn host có máy chủ ở Singapore (ưu tiên địa điểm này), HongKong hoặc Nhật Bản, Hàn Quốc.

Ở thời điểm hiện tại có nhiều dịch vụ cao cấp cho host dùng WordPress, tôi có thể kể vài cái tên vì họ cũng nổi tiếng và ổn định thời gian dài rồi, thí dụ như Closte, LiquidWeb, Pressidium, Kinsta, WebSynthesis, MediaTempate,…Những thằng này cỡ từ 50 – 200 đô / tháng

Có một số thằng giá chát quá tôi không nêu ra, toàn 300 – 400 đô / tháng thì ghê quá à!

Từ khoá bạn có thể tra là: wordpress premium hosting

Kiến càng đang thuê host ở đâu: Tôi từng sử dụng host của Dreamhost, cả gói VPS lẫn DreamPress cho một số trang web. Ưu điểm của bạn này là trâu bò và uptime cao. Nhược điểm là vẫn sử dụng phần mềm máy chủ web Apache, cái vốn không phải là phần mềm máy chủ web nhanh nhất. Ngoài ra nó chỉ có máy chủ ở Hoa Kỳ. Ở thời điểm hiện tại bạn nên chọn host có máy chủ ở gần Việt Nam, thí dụ như Sing, Hongkong hoặc Nhật. Điều thứ hai là nên chọn host có phần mềm máy chủ web ưu tiên tốc độ, chẳng hạn sử dụng Nginx hoặc Litespeed. Theo tôi biết thì SiteGround, Vultr và DigitalOcean (2 cái sau cần dùng app của bên thứ ba để tối ưu) là các ứng viên rất tốt ở thời điểm này.

Combo tăng tốc của tôi ở thời điểm hiện tại:

Những giải pháp trên có ưu điểm là bạn dễ làm, ít phải thao tác với dòng lệnh, control panel đầy đủ tính năng.


2. Giao diện phù hợp – không phải website nào cũng cần lộng lẫy, bóng bẩy #

Cách thức tăng tốc WordPress này có thể tốn tiền hoặc không.

Rất giống áo quần ở chỗ nó là cái bề ngoài của bạn, tuy nhiên điểm khác biệt là bạn KHÔNG phải thay nó hàng ngày. Giao diện có thể sử dụng NHIỀU THÁNG, thậm chí là NHIỀU NĂM, do vậy, nếu cảm thấy cần đầu tư thì bạn cũng đừng tiếc tiền.

Ở đây lại nói đến tính phù hợp. Website càng màu mè, nhiều tính năng thì càng nặng vì nó sẽ cần nhiều JavaScript, CSS, ảnh hơn,…Tính thêm cả những truy vấn đến cơ sở dữ liệu nữa (và dĩ nhiên điều này làm ảnh hưởng đến tốc độ web).

Do vậy hãy đơn giản tối đa, nghĩa là bạn cần mức nào thì chọn giao diện mức đấy. Bắt buộc cần tính năng nào thì vẫn phải dùng, không thì thôi.

Chẳng hạn như trang này của tôi, giao diện không cần bắt mắt, nên tôi chọn theme đơn giản với các chức năng cơ bản để tăng tốc WordPress (hiện tại thì trang này màu mè hơn nhiều rồi ạ, tôi đã mua áo mới cho nó!).

sử dụng giao diện đơn giản giúp tăng tốc wordpress

Nói đi cũng phải nói lại, nếu bạn làm các trang yêu cầu hình thức như bán đồ mỹ phẩm, thời trang, đồ trang sức, nội thất…thì ưu tiên cho tính thẩm mỹ sẽ phải được tính đến.

Hiện tôi đang rất thích giao diện này: https://wordpress.org/themes/astra/ nó được tối ưu hóa cho tốc độ, nhưng trông vẫn đủ hấp dẫn. Astra có cả phiên bản miễn phí lẫn có phí, đường link tôi dẫn ở trên là phiên bản miễn phí.

Các theme tối ưu cho tốc độ bằng cách:

  • Tối ưu việc sử dụng font chữ, tốt nhất là dùng font có sẵn trên máy tính người dùng, hoặc tự host các font nhẹ, tránh sử dụng Google Font cho những font không phổ biến và nặng nề;
  • Không sử dụng jQuery, cái thường được thay thế dễ dàng bằng các đoạn JS có tính năng tương tự nhưng nhỏ gọn hơn nhiều (nhưng cuối cùng thì về sau chúng ta vẫn cài các plugin cần đến jQuery! Thật vô cùng khó để loại bỏ jQuery khỏi WordPress);
  • Giản hóa thiết kế, trong đó bao gồm việc sử dụng CSS, JS đơn giản, gọn gàng, tránh việc chặn hiển thị nội dung màn hình đầu tiên;

Tất cả những điều trên sẽ được tôi nói kỹ hơn ở các phần sau, và cả các biện pháp khắc phục nữa. Thường ngay cả khi bạn chủ động chọn được theme tốc độ tốt vấn đề tốc độ vẫn có thể xảy ra do các plugin mà chúng ta sử dụng sau này làm ảnh hưởng.

Bonus: Bạn có thể thích bài viết bàn về chủ đề theme WordPress nào nhanh nhất?

Kiến càng đang sử dụng giao diện nào: Tôi sử dụng nhiều giao diện, từ mặc định của Automatic cho đến các theme miễn phí khác rồi các theme phải bỏ tiền ra mua. Trang Kiến càng (một trang khác cùng tác giả) tôi đang dùng theme Soledad. Một theme khác mà tôi thích là Newspaper, nó có vẻ chạy rất mượt và nhanh hơn Soledad. Trang không quá cầu kỳ về hình ảnh, tôi thích dùng Astra, nó là theme chủ đích thiết kế cho tăng tốc, bản có phí của nó sử dụng không giới hạn website.

P/S: từ đầu năm 2019, tôi tách các bài viết về tăng tốc website trên Kiến càng ra một trang web riêng, đặt tên là speed.family, chính là trang bạn đang đọc đây. Kiến càng sử dụng theme của Astra. Sau tôi đổi sang theme GeneratePress.


3. Gỡ bỏ các plugin không dùng & hạn chế plugin quá nặng – vứt đồ thừa trong nhà #

  • Ưu điểm: chẳng tốn chi phí gì;
  • Nhược điểm: đòi hỏi bạn phải có vốn hiểu biết nhất định về nhu cầu của người dùng;

Nó chỉ là việc bỏ đi gánh nặng mà thôi. Cũng như căn nhà trở nên chật chội, khó ở vì có quá nhiều đồ đạc rất ít khi dùng, hosting cũng ì ạch nếu nó phải gánh quá nhiều. Tôi nghe đâu đó nguyên tắc rằng nếu một đồ vật không được dùng trong vòng 6 tháng hãy cân nhắc chào vĩnh biệt nó.

Plugin thường tạo ra hàng loạt các file CSS và JS bổ sung vào giao diện, nhiều trong số đó có dung lượng không nhẹ chút nào, có những cái lên đến hàng 100KB. Do vậy, mặc dù đa số plugin chúng ta dùng đều miễn phí, nhưng hãy tiết kiệm trong việc sử dụng nó.

Bản thân trang này tôi cố gắng để nó tối thiểu hoá plugin cần xài, hiện tại vẫn chưa đến 20 plugin:

sử dụng ít plugin giúp giảm tải cho wordpress

Nguyên tắc sử dụng plugin, cũng giống như giao diện, xài đến đâu thì cài đến đó. Đừng thừa đừng thiếu.

Một nguyên tắc quan trọng khác để bạn tránh gặp các rắc rối liên quan đến lỗ hổng bảo mật là đừng cài plugin crack, chọn plugin uy tín và được cộng đồng đánh giá cao. Chẳng có gì chắc chắn 100%, nhưng chúng ta cố gắng làm thế nào để tránh được trong khả năng.

Kiến càng hạn chế lạm dụng plugin như thế nào: Tôi cố gắng phát hiện các tính năng trùng lặp giữa các plugin hoặc của plugin và giao diện sẵn có để chọn chỉ dùng một cái mà thôi. Ví dụ JetPack có cái thống kê lưu lượng sử dụng rất hay, cũng như có CDN miễn phí. Tuy nhiên vì tôi dùng Google Analytics rồi, cũng như đã có CDN dùng riêng nên tôi không cần plugin JetPack nữa, tôi đã xóa nó đi (plugin JetPack khá nặng, sắp tới nếu thích hợp tôi sẽ tìm hiểu các plugin nặng phổ biến để chúng ta cân nhắc sử dụng nó hay không). Ví dụ thứ hai là các nút chia sẽ mạng xã hội, tôi dùng riêng một plugin chia sẻ, nên không dùng tính năng tương tự mà theme cũng có. Do vậy bạn vào tùy chọn theme và tắt nó đi.

Một điểm cần lưu ý nữa đó là: giữa nhiều plugin khác nhau, có những cái được thiết kế tốt hơn những cái khác ở khía cạnh tốc độ (có thể do trình độ lập trình, hoặc người ta chủ động thiết kế để tối ưu hiệu suất). Cái này tùy vào mục đích mà bạn cân nhắc đánh đổi giữa tính năng và tốc độ để chọn cái phù hợp.


4. Tối ưu hoá hình ảnh – hàng to nặng khéo gói buộc, sắp xếp cũng nhẹ đi nhiều #

  • Ưu điểm: dễ dùng, nhiều plugin miễn phí;
  • Nhược điểm: plugin chất lượng cao mất phí và các tùy chọn chuyên sâu có thể phức tạp với người quản trị web;
  • Lựa chọn nhanh: dùng tính năng miễn phí của plugin LiteSpeed cache hoặc plugin ShortPixel;

Nếu bạn nhìn bảng phân tích lưu lượng tải xuống của một trang web bạn có thể thấy hình ảnh chiếm từ 30 – 70% dung lượng (tuỳ từng trang, bài viết). Có nghĩa là một trang web 2 MB chẳng hạn, có thể 1,4 MB đã là hình ảnh rồi.

hình ảnh được tối ưu sẽ giúp tăng tốc wordpress lên nhiều lần
Như trang web được thống kê, hình ảnh chiếm đến 85%. Nội dung văn bản chẳng đáng bao nhiêu, chưa đến 2%. Chiếm thứ nhì là JavaScript, khoảng 7%. Đây là thống kế ngẫu nhiên một trang khá nặng hình ảnh, các trang khác tỉ lệ sẽ khác đi nhiều

Do vậy tối ưu hoá hình ảnh tốt sẽ giảm được rất nhiều lưu lượng, tương ứng là giảm thời gian hiển thị website (gồm cả thời gian trong màn hình đầu tiên/ above the fold, lẫn tổng thời gian để tải cả trang).

Có hai cách giảm dung lượng ảnh:

  • Giảm không mất chất lượng: Dung lượng ảnh giảm nhưng độ nét vẫn thế, thường tiết kiệm được từ 10 – 15% với ảnh JPG và lên đến 30 – 70% với ảnh PNG. Cái này lúc nào bạn cũng nên làm vì bạn chẳng mất gì về độ nét cả.
  • Giảm mất chất lượng: Dung lượng giảm, độ nét cũng giảm theo. Ưu điểm là có thể giảm được rất lớn, đôi khi đến 50% với ảnh JPG và 90% với ảnh PNG. Tuy nhiên cái này cần cân đối để không bị giảm chất lượng ảnh quá nhiều. Và thực tế đây là cách tôi không khuyên dùng trong hầu hết trường hợp.

Một cách đơn giản nhất để giảm dung lượng ảnh đó là chỉnh lại kích thước ảnh!

Thông thường kích thước web mà người dùng xem trên máy tính bàn giao động từ 600 – 800px, nên bạn chỉnh sửa ảnh lại chiều rộng như vậy sẽ đỡ đi nhiều. Chẳng hạn bạn có ảnh 1200px, bạn biết chiều rộng 600px là đủ thì hãy giảm kích cỡ này xuống, nó có thể giúp ảnh giảm dung lượng đi 3 đến 4 lần.

Một điều hay là nếu bạn lỡ up các ảnh lớn lên trang WordPress rồi thì vẫn có một số plugin cung cấp cho bạn khả năng thu gọn lại các ảnh đó về kích cỡ nhỏ hơn. Điều này hay là vì khi bạn có blog nhiều bài viết thì tìm thủ công các ảnh rất khó.

Để tìm các phần mềm tối ưu ảnh trên desktop bạn có thể tra từ khoá Image Optimization Software. Còn để tìm các plugin cho WordPress hãy tra Image Optimization Plugin WordPress. (Trừ khi bạn lấy ảnh chụp từ máy ảnh thường có kích thước rất lớn thì bạn nên tối ưu hóa trước bằng phần mềm desktop, còn các ảnh thông thường nhẹ nhàng khác thì cứ sử dụng plugin của WordPress là được, bạn đỡ mất công hơn nhiều).

Một số plugin tôi thấy khá ổn (và có hướng dẫn đầy đủ cách dùng ở link kèm theo) là:

P/S: Xem thêm so sánh các plugin nén ảnh.

Bên dưới là ảnh chụp màn hình phần cài đặt của plugin Imagify:

Imagify - plugin tối ưu hoá hình ảnh

Nếu bạn cần trả lời nhanh một plugin khá tốt, dễ dùng mà miễn phí thì tôi tiến cử EWWW.

Google cách đây vài năm đã đề xuất định dạng ảnh mới WebP thay thế một số định dạng ảnh cũ như JPG và PNG. Ưu điểm của WebP là dung lượng lưu trữ giảm khoảng 20 – 30% mà chất lượng không thay đổi.

Tuy nhiên điều khiến WebP chưa phổ biến là hiện mới có 2 trình duyệt lớn hỗ trợ nó (Chrome & Opera), ngoài ra các công cụ tiện lợi cho người dùng không rành kỹ thuật vẫn chưa nhiều.

(Cập nhật 2019: hiện WebP đã dùng được trên FireFox và Edge/Microsoft, chỉ còn Safari vẫn chưa hỗ trợ, và đây có thể là tiền đề để nó mở rộng sức ảnh hưởng mạnh mẽ hơn rất nhiều thời gian dài trước đây)

Tôi từng thực hiện chuyển đổi cho một khách hàng cá nhân sang với hơn 12 ngàn bức ảnh sang định dạng WebP, bạn nào muốn tìm hiểu thì vào liên kết này. Tuy nhiên cách thức này đòi hỏi kha khá công sức và tìm hiểu kỹ thuật để thực hiện chính xác nhiệm vụ.

Kiến càng sử dụng plugin nào để tối ưu hóa ảnh: Tôi dùng rất nhiều plugin, cả miễn phí lẫn trả phí. Hiện tại tôi thích EWWW, vì dù nó miễn phí nhưng lại có khá nhiều tùy biến cũng như ít giới hạn như các plugin miễn phí khác. Nếu có kinh tế bạn có thể chọn Imagify hoặc ShortPixel…Sắp tới tôi sẽ tìm hiểu sâu hơn vụ ảnh WebP + Lazy load + CDN, đây sẽ là cách cải thiện tốc độ ảnh trên web nhanh nhất có thể. Vướng víu ở chỗ tích hợp WebP với CDN hơi khó khăn vì nó cần viết lại thẻ ảnh để tùy vào trình duyệt mà load URL ảnh thích hợp. Các ứng cử viên tiềm năng để thực hiên công việc này bao gồm: CDN Enabler có khả năng tạo trang tĩnh riêng cho WebP và định dạng khác, WebP Express với khả năng can thiệp vào thẻ ảnh.

Lưu ý: Triển khai chính xác WebP là một nhiệm vụ phức tạp nên bạn cần cẩn trọng. Nếu bạn không chắc chắn không nên làm. Với những website mà lưu lượng truy cập chủ yếu đến từ Safari thì chuyển sang WebP hầu như không có tác dụng.

Chuyển sang WebP có lợi nhất khi bạn rơi vào một trong các trường hợp sau:

  • Người dùng của bạn chủ yếu dùng Chrome và các trình duyệt hỗ trợ WebP
  • Website có nhiều ảnh
  • Website có lưu lượng truy cập lớn

5. Sử dụng CDN – đáng đồng tiền bát gạo #

  • Ưu điểm: đem lại khả năng cải thiện tốc độ đáng kể & có khả năng cải thiện uptime nhờ giảm tải cho hosting gốc trên các website có lưu lượng lớn;
  • Nhược điểm: chi phí cao với trang web lưu lượng truy cập lớn hoặc/và nhiều tài nguyên;
  • Lựa chọn nhanh: BunnyCDN hoặc BizFly;

CDN là viết tắt của từ Content Delivery Network – hay mạng phân phối nội dung.

Hiểu nôm na nó thế này. Có hai ô tô giống nhau, một cái xuất phát ở Sài Gòn, một cái xuất phát ở Hải Phòng, đường xá đều đẹp, xăng xe đầy đủ, giữa đường không có vấn đề gì đặc biệt. Hỏi xe nào đến Hà Nội trước?

xe nào đến Hà Nội trước
Ảnh của Google map

Câu trên không phải mẹo đâu. Xe ở Quảng Ninh sẽ đến trước, vì nó gần hơn đến gần 10 lần.

Điều tương tự cũng xảy ra với host. Bạn mua cái host ở Mỹ, ngay cả bạn mua host tốt (xe ô tô xịn), đã được tối ưu hoá ảnh và tính năng (hàng hoá không nặng lắm), nhưng quãng đường xa vậy thì cũng không thể chốc nhát là đến.

Thế thì cái CDN làm nhiệm vụ phân tán nội dung khắp thế giới, và nó sẽ lấy nội dung nào ở vị trí nào gần với người dùng nhất, qua đó giúp tăng tốc.

Để thử có xem có CDN thì tốc độ sẽ thay đổi như thế nào, bạn hãy xem video dưới đây, nó có 2 ảnh giống y nhau về kích cỡ, dung lượng, nhưng một cái thì lưu ở host Hoa Kỳ, một cái lưu ở CDN có PoP tại Việt Nam (hoặc ở Sing):

Ảnh mèo bên phải có sử dụng CDN:

Ngày xưa CDN có giá đắt đỏ, khó dùng, rất ít website dám dùng trừ các trang lớn, nhưng ở thời điểm hiện tại, kỹ thuật CDN trở thành một dịch vụ phổ thông khi giá đã cạnh tranh hơn rất nhiều và triển khai cũng không quá khó khăn.

Một số dịch vụ hàng đầu cho website không có kinh phí lớn hoặc không rành về kỹ thuật:

  • Cloudflare (nhiều PoP nhất, có dịch vụ miễn phí, cài đơn giản);
  • CDNSun (có PoP ở Việt Nam);
  • KeyCDN (dễ dùng, nhiều chức năng chuyên sâu);
  • BunnyCDN (giá rất hấp dẫn, hiệu suất không thua kém KeyCDN);
  • StackPath (công ty mua lại MaxCDN, cũng có giá rất cạnh tranh);
  • QUIC cloud (mới ra nhập thị trường hơn năm nay, đây là sản phẩm của LiteSpeed).

(Xem thêm đánh giá về các dịch vụ CDN hàng đầu tại đây).

cloud-flare-co-hang-tram-pop-tren-toan-cau
Cloudflare có hàng trăm POP (trung tâm dữ liệu – Data Center) trên toàn thế giới và là một trong các dịch vụ CDN hàng đầu. Ở châu Á, các POP của họ bao phủ hầu hết các nước, hiện tại đã có 2 POP ở Việt Nam (đầu năm 2019). Châu Mỹ, Châu Phi họ không có nhiều POP, đây là tình hình chung, số lượng thế này đã là khá hơn rất nhiều các dịch vụ khác rồi.

Người dùng nào ở Việt Nam vào web bạn thì ảnh không phải lấy ở host tận bên Hoa Kỳ mà là lấy ở Nhật, Singapore hay thậm chí ngay tại Việt Nam.

Câu hỏi, nếu khách truy cập chủ yếu ở Việt Nam thế sao không thuê host luôn ở Việt Nam đi cho tiện, bày vẽ sang tận Hoa Kỳ, Nhật, Sing thuê host làm gì bây giờ lại phải khổ.

Lý do là thế này: Về nhiều mặt, trong đó có chất lượng kỹ thuật, dịch vụ, bảo mật, phương thức thanh toán…hosting của Hoa Kỳ và nước ngoài nói chung tốt hơn Việt Nam (và nhiều khi là rẻ hơn).

Ngoài ra với một số dịch vụ đặc biệt (ít thôi) mà khách hàng phân tán khắp thế giới thì yêu cầu dùng CDN là rất cần thiết. Chẳng hạn hầu hết các hãng tin hàng đầu thế giới mà người đọc rải khắp năm châu bốn bể thì họ đều sử dụng CDN để cải thiện tốc độ, và tránh quá tải cho máy chủ.

Nhược điểm khi sử dụng CDN là gì:

  • Không nhiều dịch vụ CDN quốc tế có POPs đặt tại Việt Nam. (Cập nhật 2019, hiện có Cloudflare và CDNSun có PoP ở Việt Nam, tôi đã dùng thử thấy tốc độ khá ổn).
  • Để dùng được CDN chất lượng, số tiền bỏ ra cũng không hẳn là nhỏ với đa số website, 5 – 10 đô / tháng để sử dụng CDN là chuyện bình thường. Giá đó tương đương với host nho nhỏ rồi. Tuy nhiên cái này cũng tùy quan điểm của từng người, lợi ích của CDN có thể quan trọng hơn nhiều lần mức giá đó, cái vốn chỉ là vấn đề với web nào quá eo hẹp về tài chính. Cập nhật: hiện BunnyCDN cung cấp dịch vụ CDN có chất lượng tốt với giá cả rất phải chăng, tôi không tốn hơn 2$ cho hệ thống website có lưu lượng truy cập khoảng 50 ngàn view / tháng;
  • Triển khai CDN chuẩn chỉnh có thể gây khó khăn cho những ai không am hiểu về kỹ thuật và yêu cầu thời gian tìm hiểu cẩn thận. Một số trở ngại có thể kể đến như thiết lập https cho CDN, hoặc cài subdomain và chống trùng lặp nội dung khi sử dụng CDN.

Các dịch vụ CDN có nhiều cách tính giá:

  • Dùng đến đâu trả đến đấy – theo dung lượng: cách này hay được áp dụng nhất, dùng một tháng hay một năm hết cũng được, bao giờ hết mới phải mua tiếp;
  • Trả theo tháng, dùng bao nhiêu dung lượng thì dùng: tôi biết có mỗi Cloudflare áp dụng cách này. Gói tầm trung của nó tầm 20 đô / tháng. Dịch vụ miễn phí nhìn chung cũng được đánh giá tốt.

Nếu web thông tin có 200K – 500K view / tháng có thể dùng host 20 đô + Cloudflare được đấy ạ (xem hướng dẫn cách cài đặt CloudFlare ở đây), có những người cho biết website của họ tiết kiệm đến 11 TB dữ liệu hàng tháng nhờ sử dụng gói CDN Pro của Cloudflare.

Nếu có mức chi tiêu 100 đô / tháng mà khách truy cập chủ yếu ở Việt Nam bạn có thể cân nhắc thuê một con host thật tốt tại Việt Nam, và không cần phải dùng CDN.

Vậy CDN hợp với ai?

  • Site nhỏ, hoặc tầm trung muốn tăng tốc và giảm tải host;
  • Site lớn, lượng người truy cập phân tán khắp thế giới;
  • Site kích thước bất kỳ, dùng host nước ngoài, muốn tăng tốc trong trường hợp đứt cáp ở Việt Nam;
  • Site hay có lượng truy cập tăng bất thường, gây quá tải.

Site lớn và lượng truy cập tập trung ở Việt Nam thì chi phí host sẽ cao có thể chọn một trong hai cách:

  • Sử dụng luôn host tại Việt Nam nếu được, với chi phí cao sẽ được ưu đãi, quan tâm chăm sóc nhiều hơn.
  • Mua host xịn nước ngoài ở gần Việt Nam mà không cần CDN (tuy nhiên đây không phải là cách tối ưu tốc độ tốt nhất. Một xu hướng mà tôi thấy đang thịnh hành, nhiều host cao cấp hiện nay thường hợp tác với bên thứ 3 (hoặc tự triển khai) để cung cấp luôn CDN, ví dụ như Kinsta. Điều này cho thấy CDN là dịch vụ rất được quan tâm trong dòng hosting chất lượng).

Lưu ý quan trọng: Trong điều kiện internet bình thường, website của bạn không có lưu lượng truy cập đột biến, và người dùng chủ yếu ở VN thì tôi nhận thấy rằng bạn chỉ cần đặt hosting trên máy chủ đủ tốt tại Sing là đủ, tốc độ tải trang vẫn rất cao. Ví dụ blog Kiến càng đang host trên VULTR HFC tại Sing mà không cần đến CDN. Tôi nói điều này để chúng ta ý thức được rằng mặc dù CDN là một xu thế hot và khó cưỡng (với những ai đam mê tốc độ) nhưng cũng tùy tình hình thực tế mà chúng ta sử dụng, bởi vì làm cái gì cũng mất công tốn sức cả, những cái không cần thì không nên dùng, sẽ đỡ đi nhiều việc.

Nói thêm một chút về Cloudflare, vì tôi cũng có kinh nghiệm sử dụng sản phẩm có phí của nó. Đánh giá chung là khá ổn. Cloudflare không đơn giản chỉ là dịch vụ CDN, nó còn là dịch vụ giúp bạn tăng tốc website rất toàn diện + cả bảo mật cho web nữa.

Bên trong Cloudflare có hỗ trợ nén ảnh, nén HTML, CSS, JS & một số giải pháp tăng tốc mà bạn rất khó tìm ở nơi khác. Về bảo mật Cloudflare giúp hạn chế các cuộc tấn công, hack, bao gồm cả DDoS. Điểm hay nữa của dịch vụ này là nó giúp tăng tốc cho tất cả các nền tảng chứ không riêng gì WordPress.

Về dịch vụ CDN truyền thống, bạn có thể tham khảo 2 bài viết này:

Kiến càng đang sử dụng CDN như thế nào: Tôi từng dùng CDNSun, KeyCDN, MaxCDN và Cloudflare. Hiện tôi thích CDNSun nhất, tuy rằng nó khó sử dụng hơn KeyCDN và không có nhiều tính năng như Cloudflare nhưng bù lại nó có máy chủ ở Việt Nam, trong khi những cái khác không có, kể cả Cloudflare dù đã bổ sung PoP ở Việt Nam, nhưng dữ liệu thực tế vẫn lấy nhiều ở Hongkong (có thể chỉ dịch vụ cao cấp Cloudflare mới ưu tiên dữ liệu ở Việt Nam, còn không họ sẽ tối ưu hóa chi phí bằng cách lấy dữ liệu ở chỗ khác rẻ hơn/tôi đoán vậy). Trường hợp đặc biệt, khi bạn có trang web lưu lượng truy cập rất lớn, sử dụng Cloudflare có thể rất thích hợp.

Có dịch vụ CDN miễn phí nào không?

Để cung cấp dịch vụ CDN rất tốn kém, họ phải có máy chủ khắp thế giới nên nói thẳng ra rất khó tìm được hàng miễn phí. Nếu có miễn phí thường sẽ rơi vào tình cảnh giới hạn dung lượng rồi mồi nhử bạn mua gói cao hơn.

Thế thực sự không có gói miễn phí nào trọn đời dùng thoải mái à?

Thực ra là . Hiện tại tôi biết có mỗi Automatic chính chủ WordPress cung cấp dịch vụ CDN miễn phí thông qua plugin Jetpack, trọn đời, không giới hạn dung lượng. Tuy nhiên nó không ngon như bạn tưởng!

dịch vụ CDN miễn phí của Jetpack có khi không làm tăng tốc WordPress

Nhược điểm của dịch vụ CDN Jetpack là tốc độ không được cao như các dịch vụ CDN khác, tức là cái quan trọng nhất để mọi người muốn dùng CDN thì nó lại không đáp ứng được!

Ngay cả người dùng nước ngoài đôi khi cũng kể lại rằng bị Jetpack làm cho trang web của họ load đến 8 – 10s.

Thứ hai do đặc thù ở Việt Nam nên việc tải ảnh qua máy chủ của CDN Automatic WordPress đôi khi rất chậm thậm chí bị chặn luôn! (đặc biệt là trên điện thoại di động).

Ngoài ra là một số vấn đề:

  • Ảnh CDN lưu trên photon của Jetpack bị giảm chất lượng, do vậy nếu ảnh nguồn chưa được tối ưu thì không sao, nếu nó được tối ưu tốt rồi thì việc giảm chất lượng này lại gây ra tác dụng ngoài mong muốn là chất lượng ảnh sẽ quá xấu.
  • Một số người nói rằng image CDN của Jetpack ảnh hưởng đến SEO của họ.

Đấy là lý do việc dùng CDN của Jetpack trong bối cảnh này trong nhiều trường hợp hại lại nhiều hơn lợi, duy nhất có cái lợi nhỏ là bạn tốn ít băng thông hơn & bớt được các request tới máy chủ mà thôi. Vậy nếu không quá túng thiếu thì không nên dùng.

Bonus: CDN chuyên sâu cho ảnh

Một vài dịch vụ CDN tập trung riêng vào ảnh, có 2 lý do để làm điều này:

  • Dung lượng trang phần nhiều là ảnh, dung lượng gấp 3 – 4 lần CSS và JS cộng lại không phải là chuyện hiếm
  • Ảnh có nhiều đất diễn để các dịch vụ CDN thi thố tính năng, chẳng hạn như nén ảnh, webp, lazy load, các hiệu ứng biến đổi, tối ưu kích cỡ hiển thị, vân vân

Một số dịch vụ có chất lượng tốt:

Ai nên sử dụng CDN chuyên cho ảnh?

Các trang tập trung vào đồ họa có thể thích hợp nhất, vì họ tận dụng được nhiều tính năng sâu và rộng về ảnh. Các trang thông thường với cách sử dụng ảnh đơn giản (ví dụ như blog này), tôi nghĩ không cần thiết.


6. Sử dụng cache – không thể bỏ qua cách tăng tốc WordPress này được #

  • Ưu điểm: có khả năng đem lại cải thiện tốc độ rất tốt, nhiều plugin miễn phí;
  • Nhược điểm: cài đặt chuyên sâu yêu cầu bạn phải tìm hiểu kỹ, các plugin chất lượng cao nhất yêu cầu trả phí;
  • Lựa chọn nhanh: LiteSpeed cache hoặc WP-Rocket;

Những tay mới lọ mọ WordPress có thể chẳng biết gì về CDN, hay tối ưu dung lượng ảnh để tăng tốc web, nhưng có khả năng cao là vẫn biết plugin cache nào đấy. Lý do ư? Vì đây là công cụ tăng tốc rất hiệu quả, và cài đặt cơ bản dễ làm, ngoài ra đa số các biện pháp tăng tốc WordPress sử dụng cache đều có cách thức/gói miễn phí.

Có rất nhiều điều để nói về phần này, và nó cũng bao gồm nhiều thông tin kỹ thuật (và có những cái tôi cũng không hiểu hết), nhưng bạn vẫn nên đọc để nắm được ý tưởng cơ bản.

Cache nghĩa là bộ nhớ đệm. Dưới đây là một số cách.

A. Cache phía trình duyệt

Bạn đã vào một trang web, các ảnh và JavaScript, CSS đã tải về. Ngày hôm sau, tuần sau, hoặc tháng sau bạn vào trang đó, thì trình duyệt sẽ không cần tải lại các thông tin đấy nữa, vì nó đã lưu ảnh (chẳng hạn ảnh banner), JS và CSS vào bộ nhớ của nó ở máy tính, điện thoại rồi, vì những cái này giống nhau giữa các trang (tôi nghĩ vui vui thế này: đây là dịch vụ CDN rẻ nhất và hiệu quả nhất! Bạn chẳng tốn xu nào và thiết bị của người dùng thì lại lưu sẵn nội dung trang của bạn rồi).

Cái này đơn giản vậy mà tăng tốc rất nhiều lần đấy ạ. Khách truy cập các lần tiếp theo giảm tải có khi từ 30% đến 70%. Tất nhiên cái này không có tác dụng trong lần truy cập đầu tiên của khách hàng.

Tuy nhiên theo mặc định cache trình duyệt nếu bạn không điều chỉnh thì thời gian lưu của nó không dài, tức là tác dụng cache sẽ kém đi rất nhiều.

Để chủ động thời gian lưu dữ liệu phía máy khách bạn cần thêm các đoạn mã vào file .htaccess (đây là cách tiêu chuẩn, nhưng thủ công, đa số các plugin cache tốt cho phép bạn làm điều này thông qua giao diện đồ họa dễ hơn nhiều, phần này cho bạn biết bản chất của các đoạn mã cache trình duyệt).

File này có 2 cách truy cập, cách dễ nhất là thông qua plugin cho phép chỉnh sửa bằng giao diện trực quan của WordPress, ở đây bạn có thể dùng luôn plugin mà đa số người dùng WordPress đều xài đó là Yoast SEO:

Bạn vào Yoast > Tools > File editor

Copy – Paste đoạn code này vào phần chỉnh sửa .htaccess (đoạn code này là cho máy chủ dùng Apache, LiteSpeed webserver hoặc bất cứ dạng lai nào dùng được .htaccess):

EXPIRES CACHING ##
ExpiresActive On ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
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"
## EXPIRES CACHING ##

Sau đó nhấn nút Save…

(Bạn có thể muốn xem thêm hướng dẫn dùng Yoast SEO ở bài viết này và bài chi tiết về việc tận dụng bộ nhớ đệm/cache phía trình duyệt).

Bạn cần hết sức cẩn thận copy chính xác, bởi vì cái file này chỉ cần làm nó bị lỗi một chút là trang web sẽ KHÔNG TRUY CẬP được, cho nên bạn cần biết cách thứ hai phòng khi làm lỗi cách thứ nhất, nhưng trước tiên, tôi muốn giải thích sơ qua đoạn code trên, với đoạn mẫu trên bạn sẽ bảo trình duyệt của người dùng:

  • Lưu trữ ảnh trong vòng 1 năm;
  • Lưu trữ text, css, pdf, x-icon trong vòng 1 tháng;
  • Còn mặc định những định dạng khác là 2 ngày;

Nếu cách thứ nhất làm lỗi (và bạn không truy cập được website nữa) thì bạn chỉ còn duy nhất một phương án đó là truy cập vào thư mục gốc trên hosting của trang web.

Bạn có thể sử dụng công cụ như FileZilla để chỉnh sửa các file trên hosting. Khi đăng nhập bạn sẽ thấy các file và folder tương tự như thế này:

FileZilla đăng nhập hosting

Nói chung bước này cần bạn chịu khó hơn một chút, yêu cầu phải nắm được cả thông tin tài khoản hosting. Để rõ hơn về chỉnh sửa .htaccess, bạn tham khảo bài viết này: https://kiencang.net/sua-htaccess-wordpress/

Kiến càng làm điều này như thế nào: Hầu hết các trang tôi sử dụng plugin cache thì nó tự động làm điều này rồi nên tôi không phải làm gì thêm. Một số trang không có thì tôi thêm thủ công.

P/S: Để hiểu rõ hơn về cache phía máy khách (trình duyệt người dùng), bạn có thể tham khảo bài viết về HTTP Caching, nó có trình bày kỹ thuật sử dụng Cache-Control, là kỹ thuật mới và hiệu quả hơn so với Expires.

B. Kỹ thuật tạo trang tĩnh

Đại khái trang mà bạn nhìn thấy được tạo thành từ các truy vấn từ cơ sở dữ liệu, mỗi lần bạn yêu cầu, nó sẽ phải tạo truy vấn cơ sở dữ liệu, thực hiện các câu lệnh PHP để lấy ảnh, tiêu đề, nội dung, phần chân trang…

Nó giống như để nhìn thấy cả đại gia đình bạn phải gọi cả ông bà, bố mẹ, con cháu nội ngoại ở khắp nơi về họp mặt. Nếu bạn không cần nói chuyện với họ, cách hay hơn để nhìn thấy mà đỡ tốn công nhiều người là…chụp một bức ảnh cả đại gia đình, phóng to như thật, hiệu quả về mặt hình ảnh là gần tương tự.

Ở trên chỉ là một giải thích sơ sài về cache cho bạn dễ hiểu. Tìm hiểu thêm về cache trong WordPress bạn có thể đọc bài này: 6 kiểu cache trong WordPress.

Trên thị trường hiện nay, đặc biệt là WordPress có vài plugin rất tốt hỗ trợ, như LiteSpeed cache (miễn phí và cực tốt), WP Rocket (thích hợp cho dân không chuyên vì rất dễ dùng, nhưng giá đắt 39 đô / năm), dạo gần đây còn có Swift Performance (có cả bản miễn phí và có phí). Ngoài ra còn 2 plugin rất nổi tiếng ngày xưa là WP Super Cache (thích hợp cho share host, miễn phí), W3 Total Cache (thích hợp cho VPS và người có kinh nghiệm, miễn phí và bản premium), nhưng giờ ít người dùng hơn.

Bản thân tôi đang dùng WP Rocket cho trang này (tuy nhiên sau khi hết hạn 1 năm, tôi đã chuyển sang LiteSpeed cache). Đa số các plugin vừa đề cập đều có khả năng điều chỉnh cả cache phía trình duyệt.

Các bạn lưu ý là các hosting tối ưu chuyên cho WordPress thường tích hợp sẵn các công cụ bộ nhớ đệm kiểu trang tĩnh ở phía máy chủ rồi nên bạn sẽ không cần phải cài thêm plugin nữa. Ví dụ như gói DreamPress của Dreamhost đã tích hợp đầy đủ cho tôi, hay SiteGround có plugin chuyên dụng của họ cũng được cài đặt sẵn. Tuy nhiên để cẩn thận bạn nên kiểm tra trước với công ty hosting của bạn.

Kiến càng đang sử dụng plugin tạo trang tĩnh nào: Tôi có lịch sử sử dụng plugin tạo trang tĩnh khá phức tạp, chuyển qua chuyển lại nhiều lần. Hiện tại, các trang nào có kinh phí đầu tư tốt tôi dùng Swift, WP-Rocket, còn các trang miễn phí, tôi dùng WP Super Cache, Cache Enabler. Còn WP Fastest Cache cũng khá tốt, tuy nhiên nó có nhược điểm là nếu theme có giao diện dành riêng cho mobile, phiên bản miễn phí sẽ không tạo cache cho phiên bản dành riêng cho mobile này (dù rằng phần lớn theme không cần giao diện dành riêng cho mobile vì thiết kế đáp ứng rất phổ biến, tuy nhiên việc sử dụng plugin có thể dẫn đến việc phải bổ sung thêm, và lúc này WP Fastest Cache tỏ ra bất lợi). Do vậy hiện tại tôi ít dùng WP Fastest Cache hơn. Cập nhật: hiện trên hầu hết các trang tôi sử dụng plugin LiteSpeed cache.

Bonus: hiện có plugin tạo trang tĩnh thú vị có tên WP2Static. Nó thú vị và khác biệt so với các plugin cache khác ở chỗ nó tạo ra một website tĩnh hoàn toàn, loại bỏ nhu cầu phải sử dụng MySQL và thực thi các đoạn mã PHP. Nó vừa giúp tăng tốc, vừa giúp giảm chi phí hosting với khả năng chịu tải tương đương. Tuy nhiên tạo ra website tĩnh hoàn toàn vừa là ưu điểm cũng là nhược điểm của nó. Bạn có thể click vào bài giới thiệu trên để tìm hiểu rõ hơn.

C. Kỹ thuật cache phía máy chủ

Kỹ thuật này đòi hỏi chuyên môn nếu bạn tự tay làm (một số VPS, ví dụ có lần tôi mua bên LiquidWeb, họ không cài sẵn mà mình phải yêu cầu hoặc tự cài), ngược lại một số host khá xịn thì họ chủ động cài sẵn cho bạn rồi (thí dụ đã kể là DreamPress của Dreamhost).

Vài công nghệ có thể kể đến là Varnish, Memcached, Redis, Nginx FastCGI, PHP OPcache. Có thể có mâu thuẫn giữa kỹ thuật cache phía máy chủ và plugin cache (ví dụ giữa Varnish và WP-Rocket) nên bạn phải cẩn thận trước khi dùng cả hai.

Kiến càng thực hiện điều này như thế nào: Tôi có sử dụng gói DreamPress của Dreamhost trên một số website (không phải trang này, trang này sử dụng VPS). Đây là gói host được tối ưu hóa sẵn cache phía máy chủ, Dreamhost khuyên là tôi không nên dùng plugin cache với DreamPress nên tôi cũng áp dụng theo để tránh xung đột… Kiến thức về cache phía máy chủ của tôi còn hạn chế nên không có nhiều điều để nói, sắp tới tôi sẽ bổ khuyết vấn đề này.

D. Một vài lưu ý về kỹ thuật cache

  • Bạn nên sử dụng nó bởi vì đây là một trong các cách hiệu quả nhất để cải thiện tốc độ trang.
  • Khi cập nhật nếu bạn quên xoá cache trang đó thì thông tin hiện ra ngoài không thay đổi. Để phòng điều đó, các plugin cache tĩnh để thời gian sống của cache thường từ 1 ngày đến 1 tuần là nhiều (bạn có thể chủ động điều chỉnh thông số này) hoặc là họ ngay lập tức xoá cache chỉ của URL vừa mới cập nhật (cách này là tốt nhất, và thường là tính năng mặc định của nhiều plugin tạo cache).
  • Các kỹ thuật cache phía máy chủ không dành cho người không chuyên, nếu không thành thạo thì có khả năng hại nhiều hơn là lợi.

7. Sử dụng nén Gzip – thường được các công ty host tích hợp sẵn rồi #

  • Ưu điểm: thường được tích hợp sẵn trong hosting rồi;
  • Nhược điểm: không nén tốt bằng phương thức nén Brotli;
  • Lựa chọn nhanh: chọn công ty hosting nào có nén Brotli để tối ưu hơn nữa;

Nén Gzip cũng là kỹ thuật tăng tốc WordPress miễn phí, theo đó máy chủ hosting sẽ nén một số file của bạn như HTML, CSS, JS, rồi mới gửi đến trình duyệt (nó chỉ nén dữ liệu dạng văn bản, không nén media như hình ảnh, video). Sau khi tải xong file nén (đã được giảm dung lượng rất nhiều), trình duyệt sẽ giải nén để hiển thị thông tin.

Dưới đây kết quả cho thấy Gzip hiệu quả thế nào với một số file thông dụng (JS & CSS):

Để kiểm tra trang web của bạn đã bật Gzip hay chưa, bạn có thể vào trang web: https://www.giftofspeed.com/gzip-test/

Kết quả thử với trang web:

Nén Gzip cho trang này giúp tiết kiệm 70,8% dung lượng
Nén Gzip cho trang này giúp tiết kiệm 70,8% dung lượng. Lưu ý lại lần nữa thống kê này áp dụng cho văn bản. Ảnh và video không có nén Gzip.

Đa số các hosting đều cho phép nén Gzip, thậm chí cài đặt sẵn tính năng này bởi vì nó giúp họ tiết kiệm băng thông đi nhiều.

Các plugin WordPress tạo cache trang tĩnh phần lớn đều tích hợp luôn tính năng bật Gzip (bên cạnh việc nó thường cũng hỗ trợ luôn điều chỉnh cache phía trình duyệt).

Nếu bạn không rơi vào các trường hợp kể trên có thể bật Gzip theo cách thủ công bằng cách chỉnh sửa file .htaccess.

Với máy chủ dùng Apache, bạn thêm đoạn sau vào file .htaccess:

# Com