Đánh giá về 1 số plugin tự viết riêng

Hiện tại thèng bibica.net đang sử dụng 1 số plugin viết riêng theo nhu cầu, do các thứ tự viết, nên cảm nhận đánh giá sẽ rất chủ quan, chưa kể nó chạy theo nhu cầu, nếu bạn khác dùng, có khi sẽ gặp lỗi, bài này chủ yếu là chém gió, múa lửa, tự sướng là chính

Cụ thể như sau:

  • Docker LCMP Multisite WordPress Minimal
  • Jetpack WebP CDN Replacer
  • Jetpack Photon Addon
  • Cloudflare Auto Cache Purge
  • Cloudflare Cache Clear
  • Cloudflare Preload Cache
  • SEO Images Addon
  • Telegram Notifier

1. Docker LCMP Multisite WordPress Minimal

Đây là bash script mình viết dài nhất, khoảng hơn 800 dòng, khá phức tạp vì chưa viết kiểu này bao giờ, công đoạn cấu hình bên trong cũng lằng nhằng, vì các hướng dẫn cấu hình trên docker không nhiều, nếu có thể cài Caddy, PHP, Mariadb mỗi domain thành 3 container riêng biệt thì mình sẽ hài lòng hơn

Không quá trông chờ vào 1 sản phẩm chạy trên docker, cá nhân mình thường không thích, chạy qua docker tốn thêm RAM, HDD không cần thiết, ban đầu chỉ tính đổi gió dùng docker ít hôm, mà sau khi chạy 2-3 tuần thì khá là thích

Bản này được cái tạo hay xóa trang rất nhanh, sạch sẽ, khi cần thử nghiệm gì ở 1 trang WordPress mới mình khá hay dùng

Các cấu hình PHP, Mariadb để sẵn bên trong từng domain, cần sửa gì sẽ đỡ mất thời gian hơn so với cấu hình thông thường, chưa kể do tách rời thành nhiều container, mỗi domain có thể dùng 1 cấu hình khác nhau, khi 1 trang gặp lỗi hoặc bị tấn công gì đó, sẽ hạn chế ảnh hưởng phần nào tới trang khác

Thực tế trước khi làm bản docker này, mình cũng làm khá nhiều bản cấu hình VPS cho thèng bibica.net, dùng vẫn thấy không quá quen =)) kiểu cứ sau 2-3 tháng không sờ vào VPS, các lệnh liên quan tới reset, restart hay gì là quên láng, dùng docker thực tế còn khó nhớ hơn, có điều mình bổ xung các lệnh hay dùng vào sẵn, đỡ phải nhớ nhiều

Sử dụng thực tế tầm 2-3 tuần nay chưa thấy lỗi phát sinh để có thể nói thêm, chủ yếu nó chạy trên các images mặc định, nếu có lỗi, thường là lỗi liên quan tới cấu hình PHP, Mariadb, mà các cấu hình đang dùng chủ yếu các cấu hình cơ bản, khó phát sinh lỗi gì đặc biệt ở tình huống sử dụng thông thường

Về hiệu năng mình khá tự tin, cấu hình Mariadb dùng từ bản được Releem tối ưu tự động, sau đó tùy chỉnh lại khá nhiều, chỉ khi chạy trên các shop thật to mới cần chỉnh sửa lại 1 chút, còn lại dùng như mặc định theo mình là quá thừa

Thường bạn nào phải có 10-20 trang trên 1 VPS may ra mới thấy ưu điểm và hiệu quả khi chạy qua docker, dùng chỉ 1-2 trang thì ưu điểm không bù nổi cho khuyết điểm 👹

2. Jetpack WebP CDN Replacer và Jetpack Photon Addon

Hài lòng với 2 plugin này, không cần cài Jetpack vẫn có thể tự đổi các query điều chỉnh kích thước ảnh, bạn nào dùng trên theme khác, cần phải sửa lại code Jetpack Photon Addon 1 chút, để nó có thể hiểu vị trí hay các kích thước Image sizes khác

Trừ 1 số bài viết quá cũ, ngày xưa máu chó viết ở định dạng Block editor, giờ xem lại thì cũng chịu, chằng chịt các code, quá là loạn, các bài viết theo định dạng Classic editor thì thoải mái, ảnh hiện ra chính xác

Đến giờ mình cũng không hiểu sao WordPress bắt dùng Block editor mặc định để viết bài nữa, thấy cái chuẩn này nó nặng điên cuồng, có 1 bài viết xưa mình để hơn 60 ảnh, giờ mỗi lần ấn vào bài đó, ảnh thường, ảnh trong album … chi chít các thứ 🏭

Hỗ trợ thêm Markdown có phải viết khỏe và dễ hơn không?

Qua giờ có ý định viết thêm 1 plugin nhỏ, tống hết các ảnh cũ lên Cloudflare R2, sau đó dùng trực tiếp các link từ Cloudflare R2, mà sau khi tính toán qua lại, cảm giác nó không quá hiệu quả, ngoài chuyện tấm ảnh upload lên cần phải đi qua 2-3 nơi, ảnh hưởng tốc độ upload lần đầu, vấn đề backup lâu dài cũng phiền hà, cứ để ảnh gốc trực tiếp trên VPS như hiện tại, đơn giản, dễ quản lý hơn

3. Cloudflare Cache Clear và Cloudflare Auto Cache Purge và Cloudflare Preload Cache

Ban đầu mình viết Cloudflare Cache Clear, tạo thêm 1 nút nhỏ xóa tất cả cache từ Cloudflare, cảm giác nó thiếu tính năng quá, ơn trời là sau khi kết hợp với Cloudflare Auto Cache Purge, tự xóa cache ở bài viết hoặc trang thì combo này lại như bánh mì với patê 🏹

Cloudflare Auto Cache Purge mình lú nhất về logic hoạt động, vì cần xử lý trên quá nhiều trường hợp, bài viết thay đổi từ viết nháp sang public, rồi từ public chuyển về thùng rác hay sang xóa hẳn, rồi thư mục hay thẻ đi kèm mỗi lần thay đổi thì làm sao? rồi trang nào liên quan tới trang nào, bài nào phải xóa? kiểu như trang Toolbox trên thèng bibica.net nó chỉ là 1 trang, nhưng nó nằm trên header, mọi trang khác đều có hiện trang này, khi sửa tiêu đề trang này là phải xóa toàn bộ cache, còn chỉ sửa nội dung bên trong, chỉ cần xóa duy nhất trang này là đủ hay trong trường hợp trang này liên quan tới 1 số trang hay bài viết cụ thể khác thì sao?

Xử lý tự động cho tất cả các tình huống xảy ra thì mình chịu, lú luôn, đại ka nào code tốt thì xử lý vụ này chắc ổn, chứ mình xin thua 🎃

Chỉnh mãi cũng chạy các bước xóa cache căn bản, có điều không chắc là có phát sinh thêm lỗi gì không, mà thiệt vừa chạy 1 ngày tự dưng thấy nó tự xóa cache ầm ầm khi bài viết đang viết nháp??? vụ này tình cờ biết do mình đang check 1 plugin khác, ụa móa, tới giờ vẫn chịu, đéo hiểu vì sao đang viết nháp mà nó vẫn tự đi xóa cache luôn :]]

Sửa tiếp lỗi này thấy tạm êm, dùng thử 2-3 ngày, khi cập nhập các bài viết siêu dài trên trang cảm giác là hiệu năng khi xóa cache tốt hơn so với bản gốc, không rõ plugin Cloudflare chính hãng, họ làm thêm bước nào không? chứ xóa cache chỉ gửi các URL cần xóa qua API, thường rất nhẹ, mà sau khi dùng bản tự xóa riêng, lại có cảm giác bản chính hãng xóa hơi nặng

Hiện tại thì thấy chạy ổn, không chắc có phát sinh thêm lỗi gì lạ đời không 🍚

Cloudflare Preload Cache là bước cuối, quy định chạy sau cùng trong các công đoạn liên quan tới cache, tự động preload cache bài viết/trang khi tạo, cập nhật hoặc đưa vào thùng rác. Bổ xung nút “Preload Cache” bên phải admin bar nếu cần preload cache thủ công.

Preload khi chạy yêu cầu các quyền rất cao, vì để đảm bảo hiệu năng và ổn định, cần chạy trực tiếp từ PHP CLI

Cá nhân khá hài lòng về hiệu năng của Cloudflare Preload Cache, khi chạy nó dùng ít CPU và chính xác hơn so với với phần lớn các plugin preload đang có mặt trên thị trường

Tùy thuộc cách hoạt động của Cloudflare, khi 1 trang tại 1 location cụ thể nào đó có cache, Cloudflare chuyển cache này sang mọi location khác nhanh thì sẽ hiệu quả, còn nếu Cloudflare không hoặc chuyển chậm thì preload sẽ mất đi khá nhiều tác dụng

4. SEO Images Addon

Plugin này có tính chất chống đối, chủ yếu thêm atl từ tiêu đề bài viết vào tấm ảnh để các trang tìm kiếm đánh giá SEO tốt hơn

Viết hợp lý theo mình nên dùng qua AI, đọc nội dung bài viết, hiểu nghĩa, sau đó tự tạo ra các atl phù hợp cho bức ảnh, có điều mình không rõ có dịch vụ AI nào hỗ trợ vụ này không? chắc chỉ các trang shop bán hàng chuyên nghiệp mới cần làm tới mức đấy, người dùng cuối làm văn vẻ, có atl vào được rồi 🗝️

Đánh giá về 1 số plugin tự viết riêng
Chú thích riêng cho tấm ảnh tại đây

Đây là plugin mình kiểm tra kĩ nhất về hiệu năng, vì mình không muốn mỗi khi save lại bài viết, chỉ vì thêm atl vào tấm ảnh mà ảnh hưởng tới trải nghiệm sử dụng, giờ không cần phải chỉnh sửa thủ công tấm ảnh nào, khi public hay khi ấn save nó tự sửa lại, lúc nào cần chú thích 1 tấm ảnh cụ thể nào đó trong bài viết thì mới cần tự thêm vào

Dù ý nghĩa khá ngu học, nhưng hoạt động chính xác như nó được viết, không có gì để phàn nàn ⛳

5. Telegram Notifier

Telegram Notifier được lấy ý tưởng từ WP Telegram, khi bài viết hoặc trang được tạo mới hoặc khi có cập nhật lớn, muốn gửi thông báo có thể click vào checkbox Telegram Notifier bên trong metabox “Publish

Viết ngắn gọn, đủ dùng, chạy vài tuần khá ổn, không thấy lỗi gì phát sinh

Kết luận

Code các plugin bên trong hơi be bét, chỉnh sửa loạn cả lên, nhưng tối thiểu bật define('WP_DEBUG', true); sẽ không thấy lỗi

Chỉ dùng các hàm có sẵn của WordPress, hạn chế tối đa các công cụ bên ngoài, cũng cố để nó hoạt động nhẹ và hiệu quả hơn so với plugin chính thức từ hãng, các vấn đề liên quan tới bảo mật này nọ cũng có thêm vào cho đúng thủ tục 🔐 kiểu ra khỏi nhà thì có khóa, trộm nó bẻ thì ít ra cũng gào là teo có khóa cửa mà bị bẻ, chứ không phải teo quên khóa 📚

Nói chứ dùng ổn á, ở thời điểm hiện tại, công đoạn xem bài preview hay public bài mới, update bài cũ, mình đều thấy hiệu năng tốt hơn so với trước đây, khi save bài viết cũng có cải thiện tốc độ, 1 phần do mình cải tổ lại rất nhiều plugin khác, sửa 1 số lỗi liên quan tới giao diện hiển thị, khi chạy PHP 8.3 rất hay gặp các thông báo liên quan tới các plugin cũ viết trên PHP 7.4, fix hết các thông báo lỗi sẽ nhẹ nhàng cho Caddy, PHP, Mariadb hơn, vì đỡ phải lưu các log này, tổng thể tốc độ trang sẽ cải thiện hơn

Bài viết này ngoài chuyện ngồi bốc phét, chủ yếu thử xem vấn đề tốc độ khi viết bài thực tế nó ra làm sao, như khi WordPress auto save, hay khi ấn save, preview, public … thời gian chạy ra làm sao

Cụ thể bài viết này, viết nháp save mất tầm 1-2s, public bài lần đầu tầm 4-6s, cập nhập sửa bài viết khoảng 4-5s, lý do lâu thế vì phần lớn plugin mình dùng hay viết riêng, phần lớn quản lý thông qua hook save_post, khi ấn Update bài viết các plugin này mới chạy, mà toàn các thứ khá nặng như xóa cache, tạo alt cho ảnh, gửi các thông báo hay kiểm soát ngày tháng cập nhập …

Cũng không thấy giải pháp nào tối ưu để xử lý các vấn đề này, đành chấp nhận các con số loanh quanh 4-6s mỗi khi ấn update bài viết vậy


Related Posts

Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.

• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.

✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!