Khởi nguồn: Vì sao chỉ “view” là chưa đủ?
Bài viết gốc đặt ra câu hỏi quan trọng: “Liệu một lượt tải trang có thực sự là một lượt đọc?” Và câu trả lời là: không. Một page view tính cả bot, reload, hoặc người dùng thoát ngay sau 1-2 giây. Để biết bài viết có thực sự được quan tâm, cần những tín hiệu chính xác hơn: thời gian ở lại trang và phần trăm nội dung được đọc qua.
Ý tưởng ban đầu
Giải pháp đầu tiên là kết hợp JavaScript với REST API:
- Khi người đọc ở lại ít nhất 15 giây và cuộn qua tối thiểu 75% nội dung, mới tính là một “lượt đọc thật sự”.
- Sử dụng
sessionStorageđể tránh đếm lặp lại nhiều lần. - Tạo endpoint REST API để ghi nhận dữ liệu vào
postmeta.
Đoạn code mẫu đơn giản đó đã mở ra cánh cửa cho một hệ thống view count hoàn toàn mới.
Từ snippet thành plugin
Sau vài thử nghiệm, giải pháp được đóng gói thành một plugin – Init View Count. Plugin này không chỉ đếm “page view”, mà còn tập trung vào “true read” – lượt đọc thật sự dựa trên hành vi người dùng. Và từ đây, nó dần phát triển theo nhu cầu thực tế:
- Thêm shortcode hiển thị lượt đọc, ranking.
- Batch view tracking để giảm tải server trên site traffic lớn.
- Chống spam views bằng strict IP check và session validation.
- Trending Engine: phát hiện bài hot dựa trên velocity, freshness, engagement.
Những bước tiến vượt ngoài mong đợi
Từ bản 1.14 trở đi, Init View Count không chỉ dừng lại ở view tracking, mà trở thành một hệ thống phân tích & gợi ý nội dung thực thụ:
- Trending Engine v3: AI-powered uplift & momentum detection.
- Traffic Shape Learner: học phân phối traffic theo giờ/ngày để so sánh và phát hiện anomaly.
- MMR re-ranking: đảm bảo kết quả trending đa dạng, không bị độc quyền bởi một vài bài.
- Anti-gaming protection: tránh bị spam view hoặc “hack trending”.
Mọi thứ bắt đầu từ một vấn đề nhỏ: “Đếm sao cho đúng?”
Bài học rút ra
Hành trình của Init View Count cho thấy:
- Hãy bắt đầu từ vấn đề thực tế: một snippet code nhỏ, nhưng giải quyết nỗi đau thật của tracking.
- Phát triển dần dần: từ snippet → plugin nhỏ → hệ thống lớn, nhưng luôn giữ backward compatibility.
- Kết nối blog và sản phẩm: bài viết là nguồn cảm hứng, plugin là sản phẩm hiện thực hóa.
Kết luận
Một ý tưởng tưởng chừng nhỏ bé có thể mở ra cả một hệ sinh thái. Init View Count là minh chứng: từ bài viết “Đếm lượt đọc bài chính xác” đến một plugin AI-powered trending engine, tất cả chỉ bắt đầu từ một câu hỏi đơn giản: “View có thực sự là Read?”
Bình luận