Счётчик для статических сайтов
Статический хостинг незаметно стал разумным способом разместить небольшой сайт в интернете. GitHub Pages, Codeberg Pages, Neocities или просто папка с файлами на любом дешёвом хостинге: никакой базы данных, никакого серверного языка, нечего обновлять, нечего взламывать.
У него есть ровно один пробел. Нет серверного журнала, который можно почитать, и нет способа запустить что-либо, что вело бы подсчёт. Сайт опубликован — и никаких сведений о том, приходил ли кто-нибудь.
Именно для такой ситуации и был придуман счётчик посетителей, и именно поэтому счётчики на самом деле не устарели.
Что нужно сделать
Фрагмент кода со страницы статистики вставляется в HTML, в то место, где должен появиться счётчик. Это вся процедура. Это работает, потому что счётчик — это изображение и небольшой скрипт — две вещи, которые любой статический хостинг отдаёт, не зная и не заботясь о том, что это такое.
Подсчёт происходит на нашем сервере. Хостинг остаётся просто папкой с файлами.
Скрипт не копируют в репозиторий
Это единственный совет, ради которого стоит весь этот пост, потому что привычки статических сайтов сильно подталкивают к обратному. Помещать свои зависимости в репозиторий обычно считается хорошей практикой — это воспроизводимо, переживает исчезновение источника и экономит запрос.
Здесь этого делать не стоит.
Скопированный скрипт застывает в том состоянии, в котором его скопировали. Он навсегда продолжает делать то же самое, что делал в тот день, при каждом посещении, и ничто из того, что происходит выше по цепочке, до него не доходит. Это не гипотетическая ситуация: когда в этом году из счётчика убрали разрешение экрана, копии старого скрипта продолжали его отправлять, и единственным способом прекратить сбор данных стало то, что сервер вообще перестал принимать это значение от кого бы то ни было.
То же самое касается исправлений безопасности, изменений в том, что отправляется, и всего остального, что должно доходить до посетителей. Скрипт подключается ссылкой. Это один запрос, он кешируется и всегда остаётся актуальным.
Что доступно, а что нет
Доступны количество посетителей, дни, страны, браузеры, домены переходов, самые посещаемые страницы и картина того, кто находится на сайте прямо сейчас. Для личного сайта, страницы проекта или небольшой витрины магазина это, как правило, и есть весь набор вопросов, которые вообще возникают.
Анализа журналов нет, потому что нет и журнала. Нет ничего о неудачных запросах, файлах с ошибкой 404 или трафике. Если это важно, статический хостинг изначально не подходил под эту задачу.
Ещё один момент, который подходит статическим сайтам
Здесь ничего не требует учётной записи. Не нужна регистрация, не нужно хранить пароль в репозитории, и нет ключа, который может утечь в публичный коммит — а такие случайности особенно часто происходят в проектах со статическими сайтами.