1. Static ruleset: rule đi cùng package extension
Chrome định nghĩa static rules là rule được đóng gói, cài và cập nhật khi extension được cài mới hoặc nâng cấp. Chúng nằm trong file JSON và được liệt kê bằng rule_resources trong manifest.
Nhà phát triển có thể chia rule thành nhiều ruleset và đánh dấu enabled/disabled. Chrome đặt giới hạn số static rulesets có thể khai báo và số rulesets có thể bật đồng thời.
Static phù hợp cho nền tảng filter lớn, ổn định và có thể được kiểm tra cùng package extension. Khi publisher phát hành bản extension mới, bộ static rule đóng gói có thể thay đổi.
2. Dynamic rules: được thay đổi bằng JavaScript và tồn tại qua update
Dynamic rules không cần được đóng gói hết trong manifest. Extension dùng updateDynamicRules() để thêm hoặc xóa rule trong lúc chạy.
Điểm dễ nhầm: dynamic rules persist across browser sessions and extension upgrades theo tài liệu Chrome. Vì vậy chúng không tự mất mỗi khi bạn đóng Chrome hoặc extension được nâng cấp.
Dynamic phù hợp cho cấu hình do người dùng tạo, allow/block tùy chỉnh hoặc rule mà extension cần cập nhật mà không biến mọi thứ thành static package.
3. Session rules là loại thứ ba để hiểu đúng bức tranh
Session rules cũng được quản lý bằng JavaScript nhưng có vòng đời ngắn hơn. Chrome xóa chúng khi browser tắt và khi phiên bản extension mới được cài.
Đây là lựa chọn phù hợp cho trạng thái tạm thời: ví dụ một ngoại lệ chỉ cần trong phiên hiện tại. Nếu bạn thấy một rule “mất sau khi restart”, hãy kiểm tra nó là session hay dynamic trước khi gọi đó là bug.
Ba loại rule tạo ra ba lớp: package ổn định, state bền, state tạm thời.
4. Static và dynamic có quota khác nhau
Chrome tài liệu hóa giới hạn riêng cho static rulesets, dynamic rules, session rules và regex rules. Một số giới hạn đã thay đổi theo phiên bản Chrome, nên không nên ghi nhớ một con số cũ rồi áp dụng mãi.
Chrome hiện phân biệt safe dynamic rules với unsafe dynamic rules và có quota khác nhau. Nhà phát triển adblock phải thiết kế cách phân bổ filter dựa trên loại rule và API version.
Với người dùng, việc một blocker quảng cáo “có N rule” không tự nói lên chất lượng. Rule relevance, precedence, filter quality và cập nhật còn quan trọng hơn.
5. Adblock MV3 thường dùng static và dynamic như thế nào?
Một kiến trúc phổ biến là dùng static rulesets cho danh sách lọc chính và dynamic rules cho tùy chỉnh người dùng/ngoại lệ. Tuy nhiên mỗi sản phẩm có thiết kế riêng; không nên suy ra tất cả blocker đều tổ chức giống nhau.
Khi bạn bật/tắt một filter list, ứng dụng có thể enable/disable static ruleset hoặc chuyển logic vào dynamic rules tùy thiết kế. Vì vậy UI “cập nhật filter” không ánh xạ một-một với một loại rule.
Cài SENSEL Adblock và kiểm tra trên chính máy của bạn
SENSEL là tiện ích chặn quảng cáo cho Google Chrome Desktop, tập trung giảm quảng cáo gây gián đoạn khi xem YouTube. Cài miễn phí từ Chrome Web Store chính thức, sau đó kết nối tài khoản để dùng thử 7 ngày nếu đủ điều kiện. Không cần thanh toán trước và không tự động gia hạn.
Nguồn chính thức và tài liệu tham khảo
Bài được đối chiếu với tài liệu chính thức tại thời điểm cập nhật 07/09/2026. Chrome, YouTube, Windows, macOS và chính sách quảng cáo có thể thay đổi; khi áp dụng hãy ưu tiên tài liệu hiện hành.
Câu hỏi thường gặp
Dynamic rules có mất khi đóng Chrome không?
Không. Theo Chrome, dynamic rules tồn tại qua browser sessions. Session rules mới là loại bị xóa khi browser shutdown.
Static rules có thể bật/tắt được không?
Có. Static rulesets có thể được khai báo enabled/disabled và extension có thể quản lý việc bật/tắt ruleset trong giới hạn API.
Loại rule nào chặn quảng cáo tốt hơn?
Không có câu trả lời chung. Static, dynamic và session phục vụ vòng đời/use case khác nhau; chất lượng phụ thuộc cả rule set và thiết kế extension.

