Cloudflare Auto Cache Purge

Cloudflare Auto Cache Purge là sự thay thế plugin Cloudflare chính thức trên bibica.net, do chỉ cần dùng duy nhất tính năng xóa cache Cloudflare, về lý thuyết Cloudflare Auto Cache Purge chỉ có tác dụng trên trang bibica.net 😀

Cụ thể Cloudflare Auto Cache Purge chỉ quản lý xóa cache cho bài viết và trang

Lý do vì thèng bibica.net sử dụng hệ thống comment Artalk, công đoạn xóa cache comment không phải làm, nên không bổ xung vào 😛

Cloudflare Auto Cache Purge
Cloudflare Auto Cache Purge

Cách hoạt động

  • Bài viết: khi một bài viết được xuất bản, cập nhật hoặc chuyển vào thùng rác, plugin sẽ xóa cache cho các URL liên quan như URL bài viết, trang chủ, các trang phân trang, danh mục, thẻ, các URL tùy chỉnh được chỉ định thêm

Khi danh mục hoặc thẻ tạo mới, chỉnh sửa, hoặc bị xóa, plugin sẽ xóa cache cho các URL liên quan đến danh mục hoặc thẻ đó, kể cả các danh mục hoặc thẻ cũ, giúp xóa cache chính xác hơn

Ví dụ ban đầu bài viết ở danh mục A và B, sau đó thay đổi chỉ dùng danh mục A, khi cập nhập bài viết sẽ tự xóa thêm cache danh mục B cũ

  • Trang: khi một trang được xuất bản, cập nhật hoặc chuyển vào thùng rác, chỉ duy nhất URL của trang đó được xóa khỏi cache.

Trang là 1 tình huống bất trị, mình không nghĩ ra bất cứ giải pháp nào để xóa trang, vì không thể biết được trang đó liên quan với trang nào, nên chỉ xóa duy nhất URL của trang

Trong trường hợp trang đó liên quan tới 1001 trang khác, có thể xử lý cục súc nhất là xóa toàn bộ cache bằng Cloudflare Cache Clear

Do trên thèng bibica.net có làm phần Archives, hiển thị tất cả các bài viết, mình bổ xung nó vào dạng URL tùy chỉnh, xóa thêm trang này khi bài viết có cập nhập, vì đôi khi thay đổi tiêu đề bài viết, nếu không xóa trang Archives, nó vẫn sẽ dùng theo tên bài viết cũ (chắc đây là thứ duy nhất Cloudflare Auto Cache Purge làm tốt hơn plugin Cloudflare chính thức, vì có thể thêm vào các URL tùy chỉnh)

Xóa cache Cloudflare là hành động ưu tiên, mình quy định nó sẽ chạy trước phần lớn các plugin khác

Cài đặt:

Do là 1 bản viết riêng, chắc không ai dùng, vì nó không quản lý xóa phần comment, có điều vẫn upload lên đây, bạn nào trang đơn giản, không dùng comment hoặc dùng comment ngoài có thể dùng thử xem thế nào, đại ka nào có thể nâng cấp, tối ưu hiệu năng của nó lên nữa thì càng tốt

  • Tải plugin tại đây hoặc đây, cài đặt như 1 plugin thông thường 🧁
  • v1.1: bổ xung 1 ít trường hợp không xóa cache (‘draft’ hoặc ‘auto-draft’)
  • Demo: bibica.net 🧁

Cấu hình

Dùng cùng cách cấu hình Cloudflare Cache Clear, các thông tin về API Cloudflare lấy từ bên trong wp-config.php

  • Thêm các dòng sau để cung cấp thông tin cấu hình cho plugin:
/* CloudFlare Functions */
define('CLOUDFLARE_API_EMAIL', 'xxx@gmail.com'); // Địa chỉ email Cloudflare
define('CLOUDFLARE_API_KEY', '1111111111111111111111'); // API key Cloudflare (dùng Global API Key cũng được)
define('CLOUDFLARE_ZONE_ID', '2222222222222222222222'); // Zone ID của Domain (xem ở tab Overview)

Bổ sung

Nó có 1 phần URL tùy chỉnh, tự xóa các trang này khi xóa bài viết

// Danh sách URL tùy chỉnh cần xóa cache khi xóa bài viết
function ccp_get_custom_urls_to_purge() {
    return array(
        'https://bibica.net/archives/',
    );
}

Phần này đúng ra nên đưa vào dạng giao diện để tự thêm, sửa, xóa thì hợp lý hơn, có điều mình dùng cá nhân, chỉ xóa thêm đúng trang đó, viết thêm phức tạp nên thêm thẳng vào code, muốn thêm url nào thì copy dòng 'https://bibica.net/archives/', đưa thêm xuống dưới

'https://bibica.net/archives/',
'https://domain.com/url2/',
'https://domain.com/url3/',

Lỗi?

Lỗi nào mình thấy, sử lý được thì cố, cụ thể khi viết bài này xong, tự dưng thấy 1 vụ khá nhảm, mặc định thì nó chỉ chạy khi bài viết/trang ở chế độ public, mà không hiểu sao khi đang viết nháp, vẫn thấy nó gọi tới API Cloudflare xóa cache như đúng rồi, coi mãi vẫn không hiểu vì sao 😀 đành nện thêm 1 số rule vào, để ngăn hành động xóa cache Cloudflare khi đang viết nháp :]]

Hiệu quả

Mới viết xong thì cũng khá rén, mà sau vài ngày sử dụng thực tế khá hài lòng, ít nhất khi viết bài mới, cập nhập hay xóa hẳn …. nó đều tự xóa cache, cũng nhẹ hơn một chút so với plugin gốc từ hãng, vận hành tự động khá tốt, khi sửa gì lớn thì xóa toàn bộ cache bằng Cloudflare Cache Clear là được

Trên thèng bibica.net, hiệu quả tổng thể của combo này tốt hơn so với dùng plugin Cloudflare chính thức

Bạn nào code tốt, viết plugin dạng này là như ăn kẹo, có điều vấn đề xóa cache Cloudflare nhỏ quá, không ai thèm làm, hoặc chỉ viết riêng cho các dịch vụ cá nhân, mình chỉ cố chỉnh sửa các kiểu cho code nó chạy, thấy lủng chỗ nào thì vá chỗ đó thôi ⛏️

Phiên bản này theo mình còn nhiều thứ cần tối ưu hay nâng cấp lắm 😀 nhất là mấy khoản logic xóa trang


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ị!