Clean branded URLs
Turn long URLs into memorable paths like /go/summer-sale or /download/free-guide.
Free PHP script
A private, self-hosted click and download counter for ordinary websites.
Create clean tracking URLs, count redirects and download starts, view simple stats, and show public counters from your own hosting. No database, no Composer, no framework, no cloud account.
No SQL databaseUpload, configure, and go.
Safe redirectsPublic URLs only resolve stored slugs.
Privacy mindedNo third-party analytics or tracking pixels.
What it does
Turn long URLs into memorable paths like /go/summer-sale or /download/free-guide.
Count valid redirects, external download starts, and protected local downloads streamed through PHP.
See total clicks, daily counts, recent activity, link status, expiration, limits, and diagnostics.
Show a public count on another page with a small local JavaScript file and a simple HTML snippet.
Create JSON backups, restore data, run maintenance, and export CSV reports with safer spreadsheet values.
Plain PHP, local assets, Apache rewrite rules, query-string fallbacks, and clear setup instructions.
Good for
Click Counter is intentionally focused. It helps you answer, “How many people clicked this?” without adding a full analytics suite.
Install
/shed/click-counter/.
config.php
Set your base URL, timezone, storage paths, and administrator password hash.
/tools/generate-password.php once, paste the hash, then delete the helper.
Includes the PHP app, admin dashboard, public endpoints, assets, documentation, and test scripts.
Included
FAQ
No. It stores link records, daily counts, recent events, rate limits, and backups as JSON files.
No. Public links only contain a stored slug. The destination is read from the private link record.
No. By default it stores aggregate counts only. Optional referrer and device data are limited, and raw IP addresses are not stored.
Yes. Protected downloads are stored with randomized filenames and streamed through PHP so the private file path is not exposed.
No. It is for private self-hosted links on your own website, not for running a public URL-shortening service.