Categories Cache Flying Press

Tại sao tôi xây dựng FlyingPress, và nó khác biệt thế nào?

Vài lời của người dịch: Cuối cùng thì Gijo đã tạo ra plugin tối ưu hóa tốc độ trả phí có tên FlyingPress của riêng mình sau hàng loạt các plugin miễn phí rất thành công như Flying Pages, Flying Images, Flying Scripts. Đây là bài viết giới thiệu mà Gijo nói về lý do tại sao anh ấy tạo ra plugin mới này, và mức độ cạnh tranh của nó ra sao với các plugin cache tốt nhất hiện có. Tôi sẽ đợi anh í tung ra version mới với nhiều cập nhật lớn để test, trải nghiệm và viết bài review sau.

Cập nhật: tôi đã viết bài hướng dẫn và review plugin FlyingPress.

Giờ là đến phần của Gijo.


Tôi bỏ việc phát triển website WordPress khoảng sáu năm trước đây.

Sau đó, tôi chủ yếu xây dựng website sử dụng công nghệ ReactJS, VueJS, và các trình tạo trang tĩnh khác. Nó cũng vui. Tôi có toàn quyền điều khiển mọi thứ. Khi tôi triển khai nó, tôi sử dụng Netlify hoặc các dịch vụ hosting tĩnh tương tự, và sau khi cập nhật nội dung, tôi chỉ đơn giản là đẩy nó lên GitHub. Trong vài giây, trang của tôi sẽ được cập nhật trên các máy chủ phân tán toàn cầu. CDN sẽ cache tất cả các trang và các file tĩnh. Tôi không phải lo lắng về minification, caching, tối ưu hóa ảnh, vân vân. Mọi thứ đều đơn giản. Tôi yêu trải nghiệm đó!

Tôi quay lại với WordPress để tạo blog về lập trình. Vâng, các trang tĩnh có thể làm điều đó. Nhưng tôi không muốn làm lại điều mà các ứng dụng sẵn có đã làm rất tốt rồi, và tôi đã trở thành fan hâm mộ lớn của WordPress.

Quay trở lại từ mảnh đất của website tĩnh, tôi thấy việc tối ưu hóa WordPress thật cồng kềnh. Trước đây, khi tôi rời bỏ WordPress, tôi sử dụng W3 Total Cache!

Thật đáng mừng khi thấy có nhiều plugin cache mới xuất hiện thị trường, chẳng hạn như WP-Rocket, LiteSpeed cache, Swift Performance, vân vân. Tất cả đều tuyệt vời, nhưng cấu hình chúng không dễ dàng gì, và hiệu suất thì vẫn không thể bằng được các trang web tĩnh.

Khi tôi quay trở lại WordPress để viết blog, tôi hỏi một trong các nhà cung cấp dịch vụ hosting đắt tiền nhất: “Hey, tôi có lưu lượng truy cập từ Hoa Kỳ và Ấn Độ, máy chủ web của tôi ở Hoa Kỳ, vì thế TTFB về Ấn là khá cao”.

Họ phản hồi là, “Sẽ có độ trễ mạng vì trang WordPress của bạn có máy chủ được đặt ở Hoa Kỳ”.

Tôi cảm thấy có điều gì đó sai sai. Rất nhiều cập nhật, thay đổi đã diễn ra trong thế giới Cloud, và có vẻ như WordPress vẫn bị bỏ lại phía sau.

Chúng ta cần một giải pháp hoàn chỉnh để có thể có hiệu suất tương tự các website tĩnh mà vẫn giữ lại được các lợi thế của WordPress. Nó cũng cần dễ cấu hình nữa, không được phép giống W3 Total Cache!

Tại sao không làm thêm vài plugin Flying * nữa?

Khi tôi bắt đầu xây dựng giải pháp hoàn chỉnh, và đặt tên dự án là FlyingPress, một số người hỏi tôi rằng “tại sao không tạo thêm nhiều plugin nhỏ như trước đây nữa, cái thực hiện tốt một chức năng, như kiểu modules lắp ghép ấy. Vì thế chúng ta có thể có các lựa chọn phù hợp…”

Nhiều plugin hơn tạo ra nhiều xung đột hơn. Nếu bạn ở trong nhóm Facebook của chúng tôi, bạn có thể thấy các bài đăng hàng ngày về chuyện plugin của tôi mâu thuẫn với một số plugin cache khác.

Lấy ví dụ, khi sử dụng Flying ImagesFlying Script cùng lúc, chúng ta gặp rắc rối về phân tích cú pháp HTML hai lần, cái này gây ra vấn đề thâm hụt về tài nguyên một chút. Nếu nó là một plugin đơn bao gồm cả hai, chúng ra chỉ phải phần tích cú pháp HTML một lần mà thôi.

Một ví dụ khác, khi bạn kích hoạt plugin Cache Enabler, nó bắt đầu chụp các bản HTML trước Flying Script (vì “C” sẽ có mặt trước “F” trong thứ tự plugin). Vì thế nó tạo ra xung đột!

Chúng ta cần một giải pháp duy nhất để chăm sóc, để ý đến mọi thứ, không tạo ra xung đột, không ăn quá nhiều tài nguyên, không cần đến chuyên gia về tối ưu hóa tốc độ.

FlyingPress là gì?

FlyingPress là một giải pháp tổng thể tất cả trong một cho các trang WordPress, từ caching page, CDN cho đến tối ưu hóa ảnh.

Bất kỳ ai không mạnh về công nghệ đều có thể tạo được trang WordPress cực nhanh mà không phải đâm đầu vào tham khảo nhiều hướng dẫn hoặc phải dùng nhiều plugin tối ưu hóa tốc độ.

Nó sẽ tự động hóa tất cả các tối ưu hóa có thể, vì thể người dùng không phải đau đầu nữa.

Cách FlyingPress tối ưu hóa cho Core Web Vitals

FlyingPress được phát triển với sự chú ý đến trải nghiệm người dùng tốt hơn. Chúng tôi viết các trình tạo critical css và các thư viện khác từ con số không để đạt được hiệu suất tốt nhất có thể.

Cả WP Rocket và LiteSpeed cache đều có khả năng tạo critical CSS. Nhưng tôi chưa bao giờ cảm thấy hạnh phúc với các kết quả của họ.

Dưới đây là so sánh các chỉ số core web vitals trong blog của tôi (wpspeedmatters.com/tác giả của gốc tiếng Anh của bài này) sử dụng các plugin cache khác nhau:

WP Rocket:

LiteSpeed Cache:

FlyingPress:

Nếu bạn nhìn kỹ các ảnh chụp màn hình, bạn sẽ để ý đến vài điều:

  • Không có thay đổi bố cục – Như bạn có thể thấy trong hình chụp màn hình, FlyingPress từ frame thứ hai render mà không có bất cứ thay đổi bố cụ nào. Tránh việc thay đổi bố cục như vậy giúp giảm Cumulative Layout Shifts.
  • Rendering nhanh hơn – Trong khi WP Rocket và LiteSpeed cache hiển thị ảnh của bài đăng ở frame thứ 6, FlyingPress hiển thị nó từ frame thứ hai, thậm chí là không cần placeholder. FlyingPress sử dụng một số kỹ thuật như tải trước ảnh nằm thuộc màn hình đầu tiên, loại trừ các ảnh thuộc màn hình đầu tiên khỏi lazy load, sử dụng native lazy loading, sử dụng thư viện lazy load siêu nhanh của chúng tôi, vân vân. Tất cả những thứ như vậy giúp giảm FCP và LCP.

FlyingCDN – Tối ưu hóa nhanh chóng!

Chúng tôi đã giảm tải 90% công việc tối ưu hóa ra bên ngoài. Bằng cách bật FlyingCDN, bạn có thể giảm tải việc minify CSS/JS và tối ưu ảnh cho CDN.

Cloudflare & FlyingCDN

Cloudflare là CDN + proxy. FlyingCDN thì chỉ là CDN mà thôi. Vì thế FlyingCDN không thay thế được cho Cloudflare. Bạn có thể sử dụng Cloudflare cùng với FlyingCDN.

FlyingCDN cũng cấp nhiều tính năng mà hiện Cloudflare không có hoặc có giá đắt đỏ.

Một ví dụ là geo-replication. Nó sẽ sao chép các file ra các khu vực địa lý khác nhau vì thế mà độ trễ sẽ rất thấp dù cho file không được cached.

Dưới đây là so sánh các tính năng giữa Cloudflare và FlyingCDN:

Cloudflare FlyingCDN
Chi phí băng thông Free 3$/100GB
Geo-replication có sẵn
Định tuyến PoP gần nhất Business plan (200$/m) có sẵn
Tối ưu ảnh Pro plan (20$/m) có sẵn
Chuyển đổi WebP Pro plan (20$/m) có sẵn
Thay đổi kích cỡ ảnh cho di động Pro plan (20$/m) có sẵn

Tại sao không có gói không giới hạn hoặc LTD

Rất nhiều pluign trả phí trong hệ sinh thái WordPress cung cấp gói không giới hạn và đôi khi là cả gói dùng trọn đời nữa (LTD / Lifetime deals).

Tôi không chống lại các gói không giới hạn hoặc LTD. Nó ổn cho một số sản phẩm, và tôi từng thực hiện sản phẩm LTD trong các dự án khởi nghiệp trước đây của mình.

Tuy nhiên, điều đó là không thể với FlyingPress.

Như tôi đề cập ở phần trên, FlyingPress không chỉ là một plugin. Chúng tôi thực hiện nhiều tác vụ yêu cầu nguồn lực chuyên sâu, chẳng hạn như loại bỏ CSS không dùng trên cụm máy chủ Google Cloud của mình. Vì chi phí server của chúng tôi khá cao. Các gói không giới hạn hoặc LTD thật nguy hiểm.

Chúng tôi cũng muốn ngăn chặn việc lạm dụng dùng chung tài khoản bởi nhiều người nữa.

Tương tự như trường hợp với LTD, không giới hạn website giúp chúng tôi kiếm tiền nhanh hơn, nhưng lại đẩy việc kinh doanh gặp nguy hiểm nếu xét trên dài hạn. Tôi muốn FlyingPress là một công việc kinh doanh bền vững.

Nếu bạn có hơn 100 website, hãy liên hệ với chúng tôi để hai bên thỏa thuận giá cả hợp lý hơn.

Chúng tôi không dừng ở đây

Chúng tôi vẫn chưa ở gần mục tiêu phân phối trang HTML từ máy chủ biên với độ trễ dưới 30ms trên toàn thế giới, không thành vấn đề là bạn đặt hosting ở đâu. Việc tối ưu hóa TTFB đang được tiến hành và sẽ là yếu tố thay đổi cuộc chơi trong WordPress.

Chúng tôi rất nỗ lực cho các tính năng khác đã lên kế hoạch từ trước. Các tính năng đó cho đến nay chỉ đạt được 30% ý định ban đầu của tôi. Bạn có thể xem roadmap công khai của chúng tôi ở đây.

(Dịch từ bài viết Why I built FlyingPress, how it’s different, tác giả Gijo Varghese)

Comments are closed.

Back to Top