Đếm lượt xem chuyên nghiệp với WP Statistics




data vpn

Như trước kia mình đã có bài hướng dẫn tự code chức năng đếm lượt xem kèm theo chức năng hiển thị ra bên ngoài và sắp xếp bài viết theo thứ tự xem nhiều. Tuy nhiên bài hướng dẫn đó chỉ nằm ở mức đơn giản mà nếu bạn có nhu cầu đếm lượt xem đa dạng hơn, dễ dàng quản lý thì phải làm nhiều hơn.

Nếu bạn là người dùng phổ thông và cần một chức năng đếm lượt xem bài viết tốt hơn, vẫn có chức năng hiển thị lượt xem đầy đủ thì ở bài này mình sẽ giới thiệu các bạn đến plugin WP Statistics và cách làm hiển thị lượt xem ra bên ngoài bài viết. Còn nếu bạn là lập trình viên, bạn vẫn có thể sử dụng plugin này tốt vì nó hỗ trợ rất nhiều shortcode và hàm cần tùy biến.

Giới thiệu WP Statistics

wpstatistics

Đây là một plugin hỗ trợ đếm lượt xem của bài viết (áp dụng cho tất cả các post type) khá lâu đời và đến nay nó đã được phát triển lên phiên bản 8.7.2 với gần 1 triệu lượt tải về. Bản thân mình vẫn đang sử dụng plugin này cho một số website cần đếm lượt xem từng bài viết ngoài việc sử dụng Google Analytics và thấy nó rất ổn định để sử dụng.

Các chức năng chính:

  • Xem số lượng người dùng đang online trên website.
  • Thống kê có bao nhiêu lượt truy cập trong ngày.
  • Xem thông tin chi tiết người dùng đang truy cập website.
  • Theo dõi từng trang riêng để biết trang nào đang được xem nhiều.
  • Thống kê các lượt truy cập từ các máy tìm kiếm như Google, Yahoo, Baidu, Bing,….
  • Theo dõi lượt truy cập qua từng quốc gia.
  • Hỗ trợ tùy chọn không lưu địa chỉ IP.
  • Thống kê quốc gia truy cập dựa theo bản đồ.
  • Gửi thống kê đầy đủ qua email.
  • Thiết lập quyền xem và quản lý dựa theo nhóm người dùng trong WordPress.
  • Tùy chọn không đếm lượt xem từ các người dùng theo nhóm chỉ định.
  • Loại bỏ đếm lượt xem qua các bot tìm kiếm.
  • Loại bỏ đếm lượt xem dựa theo subnet của địa chỉ IP.
  • Loại bỏ đếm lượt xem trong trang Dashboard của quản trị viên.
  • Thống kê theo dõi các lượt xem bị loại bỏ.
  • Tự động cập nhật cơ sở dữ liệu của GeoIP.
  • Tự động xóa các dữ liệu cũ.
  • Xuất thống kê ra tập tin Excel, XML, CSV hoặc TSV.
  • Trang tổng quan thống kê lượt xem chi tiết như quốc gia, địa chỉ IP, trang giới thiệu, số lượt xem, số người online,….
  • Hỗ trợ widget hiển thị thống kê lượt xem của website.
  • Hỗ trợ shortcode và các hàm PHP để hiển thị thông tin lượt xem của post, page hoặc toàn website.
  • Có bảng theo dõi chi tiết trong Admin.
  • Có ngôn ngữ Việt hóa nếu bạn cài ngôn ngữ tiếng Việt cho WordPress.

Sử dụng WP Statistics

Ngay sau khi cài đặt, lượt xem của bạn sẽ được tính lại từ đầu nếu bạn cài đặt plugin WP Statistics lần đầu tiên. Bạn sẽ thấy một khu vực rất rộng lớn bao gồm quản trị và tùy chỉnh thông số của plugin tại menu Statistics trong Dashboard.

statistics-dashboard

Khu vực quản trị và xem thống kê của WP Statistics

Mặc định chỉ cần kích hoạt plugin lên là nó có thể tự đếm lượt xem cho bạn rồi, bạn có thể để nguyên hoặc muốn thì vào Statistics -> Settings để thiết lập.

wp-statistics-settings

Trong phần thiết lập có rất nhiều tùy chọn nên mình sẽ chỉ giải thích ý nghĩa của từng tab tùy chọn để bạn hình dung thôi nhé.

  • General: Các thiết lập tổng quan về plugin, bạn có thể bật/tắt các chức năng chính của plugin tại đây.
  • Notifications: Thiết lập tùy chọn gửi thống kê qua email.
  • Dashboard/Overview: Tùy chỉnh các thiết lập xem thống kê lượt truy cập tại trang quản trị.
  • Access/Exclusions: Thiết lập lại quyền xem thốn
    g kê và các tùy chọn loại bỏ đếm lượt xem.
  • GeoIP: Tùy chỉnh lại tính năng thống kê theo quốc gia bằng GeoIP.
  • browscap: Thiết lập lại cơ sở dữ liệu về trình duyệt của browscap để phát hiện trình duyệt.
  • Maintenance: Thiết lập chức năng tự xóa dữ liệu cũ.
  • Removal: Sử dụng nếu bạn muốn xóa bỏ plugin, nó sẽ giúp bạn xóa các dữ liệu liên quan của plugin trong database.
  • About: Giới thiệu plugin.

Khi bạn vào phần quản lý các bài viết (ví dụ Posts -> All Posts), bạn sẽ thấy nó xuất hiện thêm một cột hiển thị số lượt truy cập của từng post và dữ liệu nó sẽ được cập nhật liên tục mỗi lần xem bài là một lượt xem.

wp-statistics-post-hits

Hoặc nếu bạn muốn xem chi tiết hơn bạn có thể click vào số lượt xem trên từng post hoặc hãy vào Statistics -> Overview để xem thống kê toàn diện về website hơn.

Hiển thị lượt xem ra ngoài website

Hiển thị thống kê toàn bộ website bằng widget

WP Statistics cung cấp cho bạn một widget tên là Statistics nên bạn có thể sử dụng trong Appearance -> Widget. Trong widget này nó có rất nhiều tùy chọn mà bạn muốn hiển thị thống kê gì thì cứ click vào.

wp-statistics-widget

Nếu bạn có cài tiếng Việt cho WordPress thì widget sẽ hiển thị thế này:

wp-statistics-widget02

Hiển thị lượt xem trong nội dung bài viết

Mặc định plugin WP Statistics sẽ không hỗ trợ bạn thiết lập tự hiển thị số lượt xem của nó khi vào xem nội dung một bài viết do các vấn đề liên quan xảy ra khi sử dụng cache. Tuy nhiên nếu cần thiết, bạn có thể làm được việc này bằng shortcode hoặc một hàm PHP mà plugin có hỗ trợ.

Nếu bạn muốn lấy lượt xem của bài viết hiện tại thì có thể viết một shortcode này vào nội dung:

[wpstatistics stat=pagevisits]

Mặc định nó sẽ lấy tổng số lượt xem. Nếu bạn muốn lấy số lượt xem của bài theo ngày, tuần hoặc tháng thì có thể thêm tham số time vào, ví dụ:

[wpstatistics stat=pagevisits time=week]

Các tham số time bao gồm:

  • today
  • yesterday
  • week
  • month
  • year
  • total
  • -x (ví dụ nếu bạn muốn lấy thống kê của 10 ngày trước thì nhập là -10)

Nếu bạn muốn cho nó tự hiển thị shortcode này trên toàn bộ bài viết thì có thể sử dụng hàm do_shortcode và chèn vào file single.php (template để hiển thị nội dung của post).

<?php do_shortcode('[wpstatistics stat=pagevisits]');?>

Còn nếu bạn muốn sử dụng hàm PHP để lấy số lượt xem của một bài post hiện tại thì chèn vào file single.php như sau:

<?php echo "Lượt xem ". wp_statistics_pages( 'total' , get_permalink($post->ID), $post->ID); ?>

Trong đó, total là tham số thời gian giống như ở trên.

Danh sách các shortcode của WP Statistics

Ngoài việc hiển thị số lượt xem của post như mình đã bày ở trên thì plugin này còn có rất nhiều shortcode khác nhau để bạn sử dụng một cách linh hoạt nhất.

Cách viết shortcode của WP Statistics phải là:

[wpstatistics stat=xxx time=xxx provider=xxx]

Trong đó,

  • stat – Loại dữ liệu cần hiển thị (xem bên dưới)
  • time – thời gian truy xuất dữ liệu (như ở trên)
  • provider – Nếu muốn xem thống kê lượt truy cập của bot tìm kiếm thì dùng tham số này (bing/duckduckgo/google/yahoo/yandex).

Tham số stat bao gồm các giá trị sau:

StatMô tả
usersonlineSố lượng người dùng đang online trên website.
visitsSố lượt xem của website.
visitorsSố người truy cập của website.
pagevisitsSố lượt xem của post hiện tại (áp dụng cho các post type khác).
searchesTổng số lượt truy cập từ máy tìm kiếm.
postcountTổng số bài post có trên website.
pagecountTổng số page có trên website.
commentcountTổng số lượt bình luận trên website.
spamcountTổng số lượt bình luận spam.
usercountTổng số người dùng trên website (user).
postaverageSố lượt bài đăng trung bình của mỗi user trên website.
commentaverageSố lượt bình luận trung bình của mỗi user trên website.
useraverageSố lượng user trung bình.
lpdNgày cuối cùng có đăng bài trên website.

Ví dụ:

  • [wpstatistics stat=usersonline]
  • [wpstatistics stat=visitors time=today]
  • [wpstatistics stat=visits time=today]
  • [wpstatistics stat=visitors time=yesterday]
  • [wpstatistics stat=visits time=yesterday]
  • [wpstatistics stat=visitors time=total]
  • [wpstatistics stat=visits time=total]

Danh sách các hàm PHP của WP Statistics

Công dụng của các hàm PHP hầu như giống hoàn toàn shortcode, nhưng cái khác nhau là có hàm có tham số, có hàm không có tham số nào. Dưới đây là bảng danh sách các hàm của WP Statistics, nếu có tham số thì mình cũng có ghi vào.

FunctionMô tả
wp_statistics_useronline()Hiển thị số người đang online.
wp_statistics_visitor(time)Hiển thị tổng số người truy cập.
wp_statistics_visit(time)Hiển thị tổng số lượt truy cập
wp_statistics_pages(time,uri,id)Hiển thị tổng số lượt truy cập của một trang nào đó.
wp_statistics_uri_to_id(uri)Lấy số ID của trang hiện tại (áp dụng cho post type).
wp_statistics_get_top_pages()Lấy danh sách các trang nhiều.
wp_statistics_get_uri()Lấy đường dẫn của trang hiện tại đang xem.
wp_statistics_searchengine(provider, time)Hiển thị tổng số lượt truy cập từ máy tìm kiếm.
wp_statistics_ua_list()Lấy danh sách các User Agent truy cập vào website.
wp_statistics_useragent(agent)Lấy số lượt truy cập của một User Agent nhất định.
wp_statistics_platform_list()Lấy danh sách các nền tảng sử dụng của người truy cập.
wp_statistics_platform(platform)Hiển thị lượt truy cập dựa theo một nền tảng sử dụng nhất định.
wp_statistics_agent_version_list(agent)Lấy danh sách phiên bản của User Agent.
wp_statistics_agent_version(agent, version)Lấy tổng số lượt truy cập dựa theo phiên bản User Agent.
wp_statistics_searchengine_list(all)Lấy danh sách các máy tìm kiếm có lượt truy cập vào website.
wp_statistics_searchword_query (search_engine)Lấy truy vấn tìm kiếm của người dùng tìm thấy nội dung của bạn trên máy tìm kiếm theo tên máy tìm kiếm nhất định.
wp_statistics_searchengine_query (search_engine)Returns the SQL query portion to find all search engine results for a given search engine
wp_statistics_searchengine_regex (search_engine’)Trả về kết quả kiểu regex (biểu thức chính quy) của các trang nhận được truy cập từ máy tìm kiếm.
wp_statistics_countposts()Danh sách số lượng post có trên website.
wp_statistics_countpages()Danh sách số lượng page có trên website.
wp_statistics_countcomment()Danh sách số lượng bình luận có trên website.
wp_statistics_countspam()Danh sách số lượng bình luận spam có trên website.
wp_statistics_countusers()Danh sách số lượng người dùng có trên website.
wp_statistics_lastpostdate()Ngày cuối cùng có đăng bài.
wp_statistics_average_post()Lấy số lượng post trung bình của website.
wp_statistics_average_comment()Lấy số lượng bình luận trung bình của website.
wp_statistics_average_registeruser()Lấy số lượng người dùng trung bình của website.

Tất cả các hàm đều chỉ get dữ liệu nên nếu bạn muốn hiển thị ra thì phải kèm theo từ khóa “echo” để nó hiển thị nhé.

Xóa bớt dữ liệu của WP Statistics trong database

Nếu sau bạn sử dụng plugin này trong thời gian dài thì dĩ nhiên các dữ liệu về lượt truy cập của plugin này trong database là khá lớn. Do vậy thi thoảng bạn có thể tự xóa các dữ liệu không cần thiết bằng cách vào Statistics -> Optimization -> Purging để xóa dữ liệu. Bạn có thể xóa toàn bộ dữ liệu trong khoảng thời gian nhất định hoặc một loại dữ liệu nào đó bạn không sử dụng đến.

wp-statistics-optimization-purging

Vấn đề với plugin cache và hiệu suất host

Như bạn thấy, plugin này sẽ lưu lượt truy cập dựa vào một truy vấn mới vào database. Vì vậy nếu bạn sử dụng các plugin cache và áp dụng phương thức HTML Cache (ghi nội dung cache thành một file .html như các plugin cache phổ biến) thì chắc chắn nếu người truy cập vào website bạn và xem nội dung cache sẽ không được tính là một lượt xem trang, bởi vì đó chỉ là một trang tĩnh chứ không hề chứa bất kỳ truy vấn nào.

Do vậy, sử dụng plugin này cũng đồng nghĩa nó sẽ hoạt động không tốt nếu website bạn có dùng HTML Cache. Còn nếu bạn dùng máy chủ riêng với các loại cache khác như Opcode Cache, Object Cache hay Database Cache thì vẫn sử dụng tốt được do nó còn gửi truy vấn được ở mỗi lượt truy cập.

Có thể bạn thích: Plugin đếm lượt view bằng AJAX làm việc với cache.

Tham khảo: Các hình thức caching và ý nghĩa của nó.

Cũng do đặc tính nó thường xuyên phải ghi dữ liệu mới vào database nên chắc chắn nó sẽ tốn khá nhiều tài nguyên trên host. Nên hãy chắc chắn là host của bạn có PHP Memory Limit từ 64MB trở lên. Còn nếu bạn có lượt truy cập lớn, nhiều trang thì PHP Memory Limit cũng từ 128MB trở lên thì sẽ thoải mái hơn. Mà mình nghĩ chắc chức năng này thì đa phần là các site nhỏ hoặc trung bình sẽ dùng tới chứ site lớn họ không có dùng các giải pháp self-hosted như thế này nữa vì ảnh hưởng khá nhiều đến hiệu suất của website.

Nên xem: Những loại plugin tốn tài nguyên trên host.

Lời kết

Trong bài này mình đã trình bày chi tiết về plugin WP Statistics và cách sử dụng cũng như các lưu ý về nó. Thực ra mình viết bài này cũng là vô tình thôi vì khi sáng có hỗ trợ một bạn trên group WordPress Việt Nam và bạn ấy cần lôi cái lượt truy cập hiển thị ra nội dung của bài viết. Nhưng hy vọng plugin này cũng sẽ có ích đối với nhiều bạn ở đây.




data vpn

Leave your comment