{"id":306474,"date":"2026-05-17T02:29:45","date_gmt":"2026-05-17T02:29:45","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mostify-trending-widgets\/"},"modified":"2026-05-17T02:14:28","modified_gmt":"2026-05-17T02:14:28","slug":"mostify","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/mostify\/","author":23489785,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"trunk","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Mostify","header_author":"Ducntnz","header_description":"Lightweight popular-posts engine. Track page views and comments, then display top posts by today \/ this week \/ this month \/ all-time via shortcode, widget, or Gutenberg block.","assets_banners_color":"132034","last_updated":"2026-05-17 02:14:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/wpmostify.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":12,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3534174,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3534174,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":{"mostify\/ranking":{"name":"mostify\/ranking","title":"Mostify Ranking"}},"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings \u2192 Mostify \u2014 General tab with shortcode builder.","2":"Counter tab listing the active Views and Comments counters.","3":"Frontend ranking output rendered with the Bars list style.","4":"Frontend ranking output rendered with the Cards list style.","5":"Post editor meta box showing the per-post chart."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3280,59298,5990,53163,23753],"plugin_category":[],"plugin_contributors":[263193],"plugin_business_model":[],"class_list":["post-306474","plugin","type-plugin","status-publish","hentry","plugin_tags-page-views","plugin_tags-popular-widget","plugin_tags-post-views","plugin_tags-trending-posts","plugin_tags-view-counter","plugin_contributors-ducntnz","plugin_committers-ducntnz"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/mostify\/assets\/icon-256x256.png?rev=3534174","icon_2x":"https:\/\/ps.w.org\/mostify\/assets\/icon-256x256.png?rev=3534174","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Mostify is a fast, no-bloat popular-posts plugin that turns your WordPress views and comments into ranked lists you can drop anywhere via shortcode, widget, or Gutenberg block.<\/p>\n\n<p>It uses a pre-aggregated bucket schema (one row per post per time bucket) so ranking queries stay snappy even on sites with millions of pageviews \u2014 no on-the-fly aggregation, no JOIN fan-out, no slow <code>wp_postmeta<\/code> scans.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li><strong>Page-views counter<\/strong> \u2014 AJAX tracking with bot detection, per-visitor cookie deduplication, and a <code>mostify_should_track_view<\/code> filter for custom rules.<\/li>\n<li><strong>Comments counter<\/strong> \u2014 counts approved comments (auto-approved + admin-approved transitions).<\/li>\n<li><strong>Time-period rankings<\/strong> \u2014 <code>today<\/code>, <code>yesterday<\/code>, <code>past_24_hours<\/code>, <code>this_week<\/code>, <code>last_week<\/code>, <code>past_7_days<\/code>, <code>this_month<\/code>, <code>last_month<\/code>, <code>past_30_days<\/code>, <code>this_year<\/code>, <code>last_year<\/code>, <code>past_12_months<\/code>, <code>all_time<\/code>.<\/li>\n<li><strong>Custom periods<\/strong> \u2014 build any window via <code>custom_hours_N<\/code>, <code>custom_days_N<\/code>, <code>custom_months_N<\/code>.<\/li>\n<li><strong>4 list styles<\/strong> \u2014 simple, bars, cards, medal (top-3 medal emoji).<\/li>\n<li><strong>10 color presets<\/strong> \u2014 ocean, sunset, forest, berry, fire, midnight, coral, arctic, earth, neon \u2014 plus theme inheritance and custom CSS.<\/li>\n<li><strong>Display surfaces<\/strong> \u2014 shortcode <code>[mostify]<\/code>, classic widget, server-rendered Gutenberg block, post-editor meta box, auto-insert into the_content.<\/li>\n<li><strong>Admin chart<\/strong> \u2014 per-post hourly \/ daily \/ monthly histogram with period switcher.<\/li>\n<li><strong>Performance<\/strong> \u2014 3-tier cache (request memo + object cache + transient), optional batch-write buffer for high-traffic sites.<\/li>\n<li><strong>Capabilities<\/strong> \u2014 role-based access via the <code>mostify_edit<\/code> and <code>mostify_view<\/code> capabilities.<\/li>\n<li><strong>Privacy<\/strong> \u2014 no third-party tracking. View tracking happens entirely on your own server.<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>Mostify stores anonymous, per-post view counts on your own database. No personal data, no IP addresses, and no third-party services are involved. The view-tracking AJAX endpoint sets a single first-party cookie (<code>mostify_v_&lt;post_id&gt;<\/code>, default 3-hour TTL) used solely for deduplication; cookie name and TTL are filterable. The plugin makes no outbound HTTP calls.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>mostify<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, <strong>or<\/strong> install directly from the WordPress admin via <em>Plugins \u2192 Add New \u2192 Search \"Mostify\"<\/em>.<\/li>\n<li>Activate through the <em>Plugins<\/em> screen.<\/li>\n<li>Visit <em>Settings \u2192 Mostify<\/em> to configure tracking and view the shortcode builder.<\/li>\n<li><p>Drop the shortcode anywhere:<\/p>\n\n<p>[mostify counter=\"views\" limit=\"10\" period=\"this_week\"]<\/p>\n\n<p>\u2026or use <em>Appearance \u2192 Widgets<\/em> to drop the <strong>Mostify \u2014 Popular Posts<\/strong> widget into a sidebar, or insert the <strong>Mostify Ranking<\/strong> block in the Gutenberg editor.<\/p><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20call%20any%20external%20service%3F\"><h3>Does the plugin call any external service?<\/h3><\/dt>\n<dd><p>No. View tracking, ranking queries, and chart rendering all happen on your own server. The plugin makes no outbound HTTP calls.<\/p><\/dd>\n<dt id=\"how%20are%20page%20views%20counted%3F\"><h3>How are page views counted?<\/h3><\/dt>\n<dd><p>A small JavaScript snippet sends a one-shot AJAX request after the page loads. The server checks a per-visitor cookie (3-hour window by default, filterable) and a User-Agent allowlist before incrementing the counter. Admins can be excluded via <em>Settings \u2192 Mostify \u2192 Exclude admins from tracking<\/em>.<\/p><\/dd>\n<dt id=\"is%20bot%20traffic%20excluded%3F\"><h3>Is bot traffic excluded?<\/h3><\/dt>\n<dd><p>Yes \u2014 there's a built-in User-Agent allowlist covering the long tail of search-engine crawlers, AI scrapers, social link-preview fetchers, and CLI\/programmatic clients. You can extend it with the <code>mostify_bot_patterns<\/code> filter.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20rendered%20html%3F\"><h3>Can I customize the rendered HTML?<\/h3><\/dt>\n<dd><p>Yes. The renderer exposes <code>mostify_render_html<\/code>, <code>mostify_list_html<\/code>, and <code>mostify_list_item_html<\/code> filters so themes can swap markup, inject columns, or override empty-state output.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20caching%20plugins%3F\"><h3>Does it work with caching plugins?<\/h3><\/dt>\n<dd><p>The view-tracking AJAX call happens after the page is delivered, so static-cached HTML still triggers a fresh tracking call per visitor. Ranking queries use a 5-minute transient + object-cache layer that any cache plugin can extend.<\/p><\/dd>\n<dt id=\"how%20do%20i%20report%20a%20bug%3F\"><h3>How do I report a bug?<\/h3><\/dt>\n<dd><p>Use the <em>Support<\/em> tab on the <a href=\"https:\/\/wordpress.org\/plugins\/mostify\/\">Mostify plugin directory page<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release on the WordPress Plugin Directory.<\/li>\n<li>Page-views counter with bot detection and per-visitor dedup cookie.<\/li>\n<li>Comments counter (auto-approved + admin-approved transitions).<\/li>\n<li>List rendering with 4 list styles and 10 color presets.<\/li>\n<li>13 built-in time-period presets plus a custom-period builder (<code>custom_hours_N<\/code>, <code>custom_days_N<\/code>, <code>custom_months_N<\/code>).<\/li>\n<li>Shortcode, classic widget, Gutenberg block, post-editor meta box, and auto-insert display surfaces.<\/li>\n<li>Per-post chart with hourly \/ daily \/ monthly granularity in the admin meta box.<\/li>\n<li>Optional batch-write buffer for high-traffic sites.<\/li>\n<li>Role-based access via the <code>mostify_edit<\/code> \/ <code>mostify_view<\/code> capabilities.<\/li>\n<\/ul>","raw_excerpt":"Lightweight popular-posts engine. Track page views and comments, display top posts by today, this week, this month, or all-time.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/306474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=306474"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ducntnz"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=306474"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=306474"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=306474"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=306474"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=306474"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=306474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}