{"id":389310,"date":"2026-11-10T18:04:51","date_gmt":"2026-11-10T18:04:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nahnu-install-tracker\/"},"modified":"2026-11-10T18:04:28","modified_gmt":"2026-11-10T18:04:28","slug":"nahnu-install-tracker","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/nahnu-install-tracker\/","author":14745143,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Nahnu Install Tracker","header_author":"Ja1me4","header_description":"Track active install counts and versions for WordPress.org plugins and GitHub releases, then show them anywhere with a shortcode.","last_updated":"2026-11-10 18:04:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.nahnuplugins.com\/wordpress-plugins\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"ja1me4","date":"2026-11-10 18:04:28","revision":3794998}},"upgrade_notice":{"1.0.1":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3794998,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3794998,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3794998,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3794998,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3794998,"resolution":"1","location":"assets","locale":"","width":2000,"height":1137},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3794998,"resolution":"2","location":"assets","locale":"","width":2000,"height":997},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3794998,"resolution":"3","location":"assets","locale":"","width":2000,"height":836}},"screenshots":{"1":"Install Tracker: active installs, downloads, ratings, the combined total, and a copyable shortcode for every plugin.","2":"WP.org Version: current version, \"tested up to\" version, and last updated date for each plugin.","3":"Fetch Settings: choose how often data refreshes and see when it last ran and runs next."}},"plugin_section":[],"plugin_tags":[74070,1673,49558,80,9150],"plugin_category":[43],"plugin_contributors":[267678],"plugin_business_model":[],"class_list":["post-389310","plugin","type-plugin","status-publish","hentry","plugin_tags-active-installs","plugin_tags-github","plugin_tags-plugin-stats","plugin_tags-shortcode","plugin_tags-version","plugin_category-customization","plugin_contributors-ja1me4","plugin_committers-ja1me4"],"banners":{"banner":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/banner-772x250.png?rev=3794998","banner_2x":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/banner-1544x500.png?rev=3794998","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/icon-128x128.png?rev=3794998","icon_2x":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/icon-256x256.png?rev=3794998","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/screenshot-1.png?rev=3794998","caption":"Install Tracker: active installs, downloads, ratings, the combined total, and a copyable shortcode for every plugin."},{"src":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/screenshot-2.png?rev=3794998","caption":"WP.org Version: current version, \"tested up to\" version, and last updated date for each plugin."},{"src":"https:\/\/ps.w.org\/nahnu-install-tracker\/assets\/screenshot-3.png?rev=3794998","caption":"Fetch Settings: choose how often data refreshes and see when it last ran and runs next."}],"raw_content":"<!--section=description-->\n<p>Nahnu Install Tracker keeps your plugin numbers up to date on your own site. Add a WordPress.org slug or a GitHub URL, copy the shortcode, and paste it into any page, heading, widget, or page builder text field.<\/p>\n\n<p>It is built for plugin developers who want \"Active installs: 10,000+\" or \"Version 2.1.4\" on their website without updating it by hand.<\/p>\n\n<p><strong>This plugin is a service that relies on external APIs.<\/strong> To get your numbers, it reads public data from the WordPress.org Plugins API (api.wordpress.org) and, only if you add GitHub sources, from the GitHub REST API (api.github.com). No account or API key is needed. It never loads scripts, styles, images, or fonts from other servers; every file it uses is bundled in the plugin. See \"External services\" below for exactly what is sent and when.<\/p>\n\n<p><strong>100% free.<\/strong> Every feature is included. Nothing is locked, there is no account to create, and nothing about your site is tracked.<\/p>\n\n<h4>What it tracks<\/h4>\n\n<ul>\n<li><strong>Active installs<\/strong> from WordPress.org, shown the same way WordPress.org shows them (e.g. 10,000+ or Fewer than 10), per plugin or combined across all of them<\/li>\n<li><strong>Downloads, star rating, and review count<\/strong> from WordPress.org<\/li>\n<li><strong>Current version, \"tested up to\" version, and last updated date<\/strong> from WordPress.org<\/li>\n<li><strong>Release version and stars<\/strong> from GitHub, from the latest release or a JSON file in your repository<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<p>Every shortcode prints only the value, with no words or HTML around it. You write the text yourself, in any language, and place the shortcode where the number belongs. For example: <code>Trusted on [nahnu_total_installs] sites<\/code>.<\/p>\n\n<p>WordPress.org (use the plugin slug):<\/p>\n\n<ul>\n<li><code>[nahnu_installs slug=\"your-plugin\"]<\/code> active installs, e.g. <code>10,000+<\/code> or <code>Fewer than 10<\/code><\/li>\n<li><code>[nahnu_total_installs]<\/code> active installs of every plugin on your Install Tracker list added up, e.g. <code>50,000+<\/code> (limit it with <code>slugs=\"plugin-a,plugin-b\"<\/code>)<\/li>\n<li><code>[nahnu_downloads slug=\"your-plugin\"]<\/code> total downloads, e.g. <code>9,400<\/code><\/li>\n<li><code>[nahnu_rating slug=\"your-plugin\"]<\/code> star rating out of 5, e.g. <code>4.9<\/code><\/li>\n<li><code>[nahnu_reviews slug=\"your-plugin\"]<\/code> number of ratings, e.g. <code>37<\/code><\/li>\n<li><code>[nahnu_wp_version slug=\"your-plugin\"]<\/code> current version, e.g. <code>2.1.4<\/code><\/li>\n<li><code>[nahnu_tested slug=\"your-plugin\"]<\/code> latest WordPress version it is tested with, e.g. <code>7.0<\/code><\/li>\n<li><code>[nahnu_last_updated slug=\"your-plugin\"]<\/code> date of the last release in your site date format, e.g. <code>July 1, 2026<\/code> (change it with <code>format=\"M Y\"<\/code>)<\/li>\n<\/ul>\n\n<p>GitHub (use the label you gave the source, in lowercase with hyphens):<\/p>\n\n<ul>\n<li><code>[nahnu_gh_version id=\"your-label\"]<\/code> version exactly as published, e.g. <code>v1.2.3<\/code><\/li>\n<li><code>[nahnu_gh_stars id=\"your-label\"]<\/code> stars on the repository, e.g. <code>128<\/code><\/li>\n<\/ul>\n\n<p>Because the output is plain text, it fits inside headings, buttons, and page builder fields, and it is easy to translate. The settings screen shows a ready-to-copy shortcode for every plugin you track.<\/p>\n\n<h4>How it stays fast<\/h4>\n\n<p>Data is fetched in the background on a schedule you choose (every 1, 6, 12, or 24 hours) and saved in your database. Shortcodes read from the saved data, so visitors never wait on an outside request. You can also fetch everything right away with the Refresh now button.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Clean tabbed settings screen: Install Tracker, WP.org Version, GitHub Version, Fetch Settings, and About<\/li>\n<li>Paste plain slugs or full wordpress.org\/plugins\/ URLs<\/li>\n<li>Install change since the previous fetch, total downloads, rating, and review count<\/li>\n<li>Combined install total across all your plugins<\/li>\n<li>Copy button next to every shortcode<\/li>\n<li>Keeps the last good value if a fetch fails, so your site never shows a blank<\/li>\n<li>Translation ready<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin is a service that reads public data about plugins and GitHub repositories so you can display it on your site. It does not load any scripts, styles, images, or fonts from other servers. Every file it uses is included in the plugin.<\/p>\n\n<p>To do its job, it connects to the services below. Connections happen only during the scheduled background fetch (every 1, 6, 12, or 24 hours, your choice) or when an administrator saves settings or clicks Refresh now. Shortcodes only read data already saved in your database, so site visitors never cause a connection. No account, API key, or sign-up is needed for any of these services.<\/p>\n\n<h4>WordPress.org Plugins API<\/h4>\n\n<ul>\n<li>What it is: the public API WordPress itself uses to show plugin details under Plugins &gt; Add New.<\/li>\n<li>Server called: api.wordpress.org, through WordPress's built-in <code>plugins_api()<\/code> function.<\/li>\n<li>What is sent: the plugin slugs you enter on the Install Tracker and WP.org Version tabs. As with every Plugins &gt; Add New lookup, WordPress also includes your site address and WordPress version in the request header.<\/li>\n<li>What it is used for: active installs, downloads, rating, number of ratings, version, \"tested up to\" version, and last updated date.<\/li>\n<li>Service: https:\/\/wordpress.org\/<\/li>\n<li>Privacy policy: https:\/\/wordpress.org\/about\/privacy\/<\/li>\n<\/ul>\n\n<h4>GitHub<\/h4>\n\n<ul>\n<li>What it is: the public GitHub REST API.<\/li>\n<li>Server called: api.github.com only, over HTTPS.<\/li>\n<li>What is sent: requests for the repositories you add on the GitHub Version tab: the latest release, the JSON file you name (through the repository contents endpoint), and the repository's public details to read its star count. Nothing about your site or its visitors is sent.<\/li>\n<li>What it is used for: the version number and star count of each source you add.<\/li>\n<li>No account or token is needed for public repositories.<\/li>\n<li>Terms of service: https:\/\/github.com\/site\/terms<\/li>\n<li>Privacy policy: https:\/\/github.com\/site\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install from Plugins &gt; Add New, or upload the <code>nahnu-install-tracker<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Settings &gt; Install Tracker.<\/li>\n<li>Add your plugin slugs or GitHub URLs and click Save and fetch.<\/li>\n<li>Copy a shortcode from the table and paste it anywhere on your site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20it%20really%20free%3F\"><h3>Is it really free?<\/h3><\/dt>\n<dd><p>Yes. Every feature is included and nothing is locked. There is no account or sign-up.<\/p><\/dd>\n<dt id=\"why%20do%20the%20shortcodes%20print%20only%20a%20number%3F\"><h3>Why do the shortcodes print only a number?<\/h3><\/dt>\n<dd><p>So you can write the text around it yourself, in your own words and language. For example <code>Trusted on [nahnu_total_installs] sites<\/code> or <code>M\u00e1s de [nahnu_installs slug=\"my-plugin\"] instalaciones activas<\/code>.<\/p><\/dd>\n<dt id=\"how%20is%20the%20combined%20total%20worked%20out%3F\"><h3>How is the combined total worked out?<\/h3><\/dt>\n<dd><p>It adds up the active installs of every plugin on your Install Tracker list. Each count is already rounded down by WordPress.org, so the total is a minimum too.<\/p><\/dd>\n<dt id=\"do%20the%20shortcodes%20slow%20down%20my%20pages%3F\"><h3>Do the shortcodes slow down my pages?<\/h3><\/dt>\n<dd><p>No. Shortcodes only read data that is already saved in your database.<\/p><\/dd>\n<dt id=\"why%20does%20my%20plugin%20show%20%22fewer%20than%2010%22%3F\"><h3>Why does my plugin show \"Fewer than 10\"?<\/h3><\/dt>\n<dd><p>WordPress.org reports 0 active installs for any plugin with fewer than 10. The plugin shows \"Fewer than 10\", the same wording WordPress.org uses.<\/p><\/dd>\n<dt id=\"my%20shortcode%20prints%20nothing.%20why%3F\"><h3>My shortcode prints nothing. Why?<\/h3><\/dt>\n<dd><p>The slug has not been added yet, or it has not been fetched. Add the slug on the Install Tracker or WP.org Version tab and click Save and fetch. Shortcodes print nothing rather than an error, so your pages never show a broken message.<\/p><\/dd>\n<dt id=\"which%20github%20sources%20are%20supported%3F\"><h3>Which GitHub sources are supported?<\/h3><\/dt>\n<dd><p>Public repositories. Enter the repository as owner\/repo or paste its GitHub link, then choose:<\/p>\n\n<ul>\n<li>Latest release: leave the JSON file field empty. The version is the tag of the latest release.<\/li>\n<li>JSON file: enter the path of a JSON file in the repository, such as version.json, and the key that holds the version (default <code>version<\/code>). Branch is optional; the default branch is used when it is empty.<\/li>\n<\/ul>\n\n<p>Pasting a github.com link to the file fills in the path and branch for you.<\/p><\/dd>\n<dt id=\"what%20is%20the%20shortcode%20id%20for%20a%20github%20source%3F\"><h3>What is the shortcode id for a GitHub source?<\/h3><\/dt>\n<dd><p>It is your label in lowercase with hyphens, so \"My Plugin\" becomes <code>my-plugin<\/code>. The exact shortcode is shown in the table on the GitHub Version tab.<\/p><\/dd>\n<dt id=\"how%20often%20is%20data%20updated%3F\"><h3>How often is data updated?<\/h3><\/dt>\n<dd><p>Every 24 hours by default. Change it to every 1, 6, or 12 hours on the Fetch Settings tab. WordPress runs scheduled jobs when your site gets a visit, so on very quiet sites a fetch can run a little late.<\/p><\/dd>\n<dt id=\"what%20is%20removed%20when%20i%20delete%20the%20plugin%3F\"><h3>What is removed when I delete the plugin?<\/h3><\/dt>\n<dd><p>All of its settings, saved data, and scheduled jobs.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>","raw_excerpt":"Show WordPress.org install counts and plugin versions, plus GitHub release versions, anywhere on your site with a shortcode.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/389310","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=389310"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ja1me4"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=389310"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=389310"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=389310"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=389310"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=389310"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=389310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}