Как сделать счетчик посещений на сайте html

Добавил пользователь Morpheus
Обновлено: 05.10.2024

Счетчик посещений на php. Сделаем несколько вариантов счетчиков на php! Простой счетчик - когда-то именно с такого счетчика начинал я! счетчик перезагрузок страницы без ограничений! И последний счетчик - он будет ограничен сессией!Скрипт счетчика очень простой! При загрузке страницы прибавить 1 , к уже имеющимся посещениям страницы!

Подробно о счетчике посещений для сайта

Самый простой счетчик посещений на php

Алгоритм работы самого простого счетчика посещений на php

А, что есть уникального у страницы, чтобы каким-то образом эту уникальность превратить в название файла для записи данных? Правильно - её адрес. Здесь может быть множество решений!

В переменную $counter получаем с помощью file_get_contents данные из файла и сразу прибавляем единицу.

С помощью функции file_put_contents перезаписываем данные в файле. Если данные записались, проверяем существует ли переменная $write, если да, то можно сообщить, что "Ваш вход засчитан" - эта информация пользователю не нужна, используется в момент тестирования счетчика.

Скрипт самого простого счетчика на php

Это базовый скрипт счетчика, который можно модифицировать до бесконечности!

Как создать путь и имя файла для счетчика?

Я специально не стал загромождать данный счетчик, именем и путем до файла - " $path_to_file " - потому, что это может отличаться настолько кардинально! Что вариант может просто не подойти! Ниже рассмотрим два варианта для этой переменной

Счетчик №2 посещаемости на php

Логика скрипта абсолютно аналогичная, что и в первом пункте.

Получаем адрес страницы.

Создаем уникальный идентификатор для названия файла из адреса.

Функция file_get_contents -получаем данные из файла.

Функция file_put_contents - записываем данные в файл.

И ещё можно посчитать уникальное количество посещений.

Единственное, что мы сделаем, это во всех подробностях рассмотрим два варианта создания имени файла для записи.

И расскажу несколько нюансов, которые будут подстерегать вас на этом пути!

Папка для сохранения результатов подсчета посещений на php

Если для вас не проблема создания пути до папки, то можно этот пункт пропустить!

Создаем путь на путь на сервере тоже самое - путь до корневой. Помещаем данный путь в переменную - $home(это просто удобно) :

Выведем echo $home. Результат у вас будет точно будет другим.

От корневой до папки где будут храниться файлы, прописываем вручную

Я вам даже ссылку на эту папку дам . здесь была ссылка на папку, но в связи с тем, что теперь у нас единая точка входа, то посмотреть вы на неё не сможете.

Создание названия файла для счетчика php

Сперва нам нужен алгоритм

Алгоритм создания названия фала для записи посещений

Нужно получить адрес из адресной строки, не будем останавливаться на этом, разбирали этот вопрос здесь

Из полученного уникального адреса создать уникальный идентификатор, который и будет служить названием файла, для этого будем использовать md5.

Добавляем расширение, я уже давно использую расширение ".dat" он лучше ".txt" проверено!

Создаем уникальное имя для файла посещаемости

Как уже было выше сказано - получаем адрес страницы

$domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];
$parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
$real_page = $domen . $parse_url
echo $real_page;

Выведем живой результат по данной странице прямо здесь ( echo $real_page; ):

Сделаем из последней строки уникальный идентификатор:

Аналогично выведем здесь результат:

Добавляем расширение ".dat"

Мы подготовили название файла для записи количества посещений на странице.

Соединяем папку + имя файла, собираем скрипт посещаемости

Соединяем папку и название файла :

Собираем весь код счетчика посещаемости вместе:

$domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];
$parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
$real_page = $domen . $parse_url;

$counter = @file_get_contents($path_to_file) +1;

$write = @file_put_contents($path_to_file, $counter);

Получение результата и вывод количества посещаемости из файла

Выше приведенный код счетчика размещаем после всех проверок на сайте, и когда 404 не срабатывает, т.е. существующая страница начинает загружаться, то запускаем наш счетчик!

И в нужно месте выводим количество посещений через php:

Поскольку наш код счетчика, почти копия приведенного то мы можем вывести количество посещений данной страницы

Либо, как вариант, можно в любой точке страницы получить количество посещений таким образом:

Это же число, вы можете наблюдать под первым заголовком, где в том числе находится дата.

Как получить количество посещений с другой страницы?

Если вам требуется получить количество посещений с другой страницы, то вам нужно передать на неё адрес требуемой страницы.

На сайте я использую данный счетчик со времени, когда написал самый первый скрипт счетчика

Пример вы можете посмотреть здесь - справа от названия страницы - количество посещений страницы выводится из файла.
Как это работает.

Из базы в цикле получаем адрес страницы, который был записан туда при создании страницы.

$real_page получаем из базы. Новая строка - новая страница-новый адрес.

Адрес преобразуем в идентификатор.

Создаем путь до файла с записанными посещениями.

В самом конце цикла убиваем $counter

Считаем уникальные посещения.

Как сделать, чтобы счетчик посещений считал только уникальные заходы на страницу?

Давайте сделаем такой счетчик!

Логика скрипта подсчета уникальных посещений:

По условию if будем проверять, была ли создана сессия для данной страницы.

Если нет, то записываем + 1. И создаем сессию по адресу страницы $_SESSION[$real_page]

Как только сессия создана, более запись в файл не будет производиться. До того момента, пока сессия не уничтожится.

Код счетчика с подсчетом уникальных посещений:

$parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);

$real_page = $domen . $parse_url;

$path_to_file = $home."/ ВАШ_ПУТЬ_ДО_ПАПКИ/ ".md5($real_page).".dat";

@file_put_contents($path_to_file , ($counter + 1));

Старый вариант названия файла

Старый вариант названия файл не стал удалять какое-то время. Когда начал пользоваться новым названием файла пункт 2.2, но потом вернулся к старому названию файла для записи посещений!
Почему?

Сравните два названия файла, если вы думаете как я , то увидите разницу без объяснений! Новое название:

Новый вариант названия файла обезличенный и ничего не говорит ни вам, ни мне!

А вот второй файл говорит, может он вам никогда и не пригодится, но по виду старый все же приятнее.

Не буду удалять этот вариант, может кому и пригодится.

От нового отличается тем, что использовали функцию str_replace с помощью неё заменили массив знаков - $array_replace = array("&", "?", " kod">

Друзья! Для всех кто не в курсе, то мы периодически возвращаемся к старым страницам и одна из таких страниц – это счетчик на PHP, и я его написал, наверно одним из первых кодов вообще!

И сейчас – это реально невозможно понять и прочитать! Поэтому весь старый контент в мусорку!

Полностью переписали данную страницу!

Надеюсь стало понятнее.

Счетчик посещений каждый день

Совсем недавно запустили новый вид счетчика - количество посещений в день.

На каждый новый день создается отдельная ячейка ассоциативного массива

Так же прибавляется +1.

Ограничение по сессии - засчитывается один раз.

Нам понадобятся две новые функции:

Нам понадобится $real_page, для ограничения по сессии :

$domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];
$parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
$real_page = $domen . $parse_url

$path_to_file - копируем какой-то из вариантов - вариант №1 или вариант №2 или создаем самостоятельно.

Весь счетчик количество посещений по дням:

$parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);

$real_page = $domen . $parse_url


$ARRAY_COUNT_VISITS = @unserialize(file_get_contents( $path_to_file ));

@file_put_contents( $path_to_file , serialize($ARRAY_COUNT_VISITS));

Создание сайта – очень трудоемкий процесс. Требуется продумать дизайн, обеспечить работу всех функций и корректное отображение в самых популярных браузерах. Человек трудится изо всех сил, порой забывая о цели создания информационного ресурса.

А ведь сайт создаётся для того, чтобы им пользовались люди. Без посещений ресурс будет мертвым, и все усилия создателей должны быть направлены на увеличение получаемого трафика:


Если количество посетителей выступает одним из главных показателей успешности, то огромное значение приобретает измерение этого параметра. В этом деле может помочь счетчик посещений сайта, о котором и пойдёт речь в данной статье.

Что такое счетчики, и зачем они нужны

Счетчик представляет собой сервис, который осуществляет подсчет количества посещений того или иного сайта. Для того чтобы организовать работу такого сервиса на своем ресурсе, необходимо разместить код конкретного счетчика на тех страницах, информация о посещении которых необходима. Как правило, проделав это, можно узнать следующие данные:

  • Количество уникальных посетителей сайта. Когда пользователь в первый раз за сутки заходит на страницу ресурса – он добавляет к показателю счетчика единицу. Повторное посещение в течение суток уже не будет считаться уникальным;
  • Визиты. Установить счетчик посещений на сайт можно и для того, чтобы определить: сколько раз в течение суток конкретный пользователь заходил на информационный ресурс;
  • Общее количество посещений сайта. По тому, насколько данный показатель больше числа уникальных посетителей, можно определить: хотят ли люди возвращаться на страницы ресурса.

Приведенные выше данные являются основой, но современные сервисы предоставляют гораздо больше информации, на основании которой можно сделать выводы о качестве работы сайта. Ниже приведены некоторые детали, о которых можно узнать, установив счетчик на сайт.

Установка счетчика на сайт может преследовать следующие цели:

  • Сбор статистики и её анализ. Некоторые сервисы предоставляют рекомендации на основании собранной информации, но можно и самостоятельно сделать выводы;
  • Немного демонстрации. Если люди видят: насколько посещаемый у вас ресурс, то они конечно…могут ничего и не подумать, но в некоторых случаях это повышает доверие к сайту;
  • Помощь поисковым системам. Поисковики учитывают данные, полученные благодаря счетчикам, при ранжировании.

Какие счетчики существуют

Одним из главных свойств счетчика является его видимость для посетителей. В зависимости от этого различают:

  • Полностью скрытые счетчики. В этом случае статистические данные будут известны только владельцу ресурса;
  • Видимые для определенного круга людей. Те, кто хочет узнать информацию о посетителях, должны ввести пароль. Кому его предоставлять – вопрос к владельцу конкретного сайта;
  • Видимые для всех. Данные таких счетчиков будут видны всем посетителям ресурса.

Рассмотрим наиболее популярные и полезные счетчики посещений.

  • Наиболее популярный на сегодняшний день видимый счетчик для сайта – LiveInternet :

Какие счетчики существуют

Данный сервис прекрасно подходит для новичков, потому как полученные данные легко интерпретировать и сделать соответствующие выводы. Счетчик можно сделать и невидимым, но за это придется ежемесячно платить.

  • Google Analytics – мощный инструмент, позволяющий кроме всего прочего получать информацию о посещениях:

Какие счетчики существуют - 2

Подойдёт опытным пользователям, так как предоставляемой информации достаточно много. Счетчик невидимый, а к данным статистики имеется доступ только у владельца сайта.

  • Яндекс.Метрика . Отечественный гигант не остается в стороне и принимает активное участие в обеспечении владельцев сайтов нужной статистикой:


Предоставляемый Яндексом счётчик посещаемости сайта подходит как новичкам, так и опытным вебмастерам. По умолчанию, статистика доступна только владельцу ресурса, однако можно открыть ее как ограниченному кругу людей, так и всем посетителям ресурса.

Какие счетчики будут полезны

Стоит отметить, что большинство владельцев сайтов используют на страницах своих ресурсов несколько счетчиков сразу. Это обусловлено тем, что каждый подобный сервис имеет свои преимущества, а вместе они дополняют друг друга.

Установка счетчиков осуществляется и для участия в рейтингах, высокое положение в которых значительно увеличит трафик. В качестве примера можно привести Rambler TOP100 , использование которого не позволит получить подробную статистику, но хорошее положение в данном рейтинге обеспечит приток уникальных посетителей.

Как установить счетчик

Перед тем, как вставить код счетчика на страницы своего сайта, нужно подумать о том, что будут видеть посетители. Выбрав, что скрыть, а что предоставить на всеобщее обозрение, можно приступать к установке. В общем случае, это выглядит следующим образом:

    Предположим, что необходимо поместить на страницу два счетчика, один из которых не будет виден для посетителей. Располагаем счетчики внутри тега div :

Как установить счетчик

Как установить счетчик - 2



Таким образом, размещение счетчиков посещений на страницах сайта может предоставить необходимую информацию владельцу ресурса. Помимо сбора статистики, ценится возможность включения в рейтинги, которые выступают надежным источником трафика.

Перед тем, как установить на своем сайте несколько счетчиков, необходимо подумать: какие из них сделать видимыми, а какие скрыть.

Так же стоит помнить, что одновременное использование большого количества сервисов статистики считается дурным тоном и отпугивает посетителей.

После создания сайта у меня возникла необходимость сделать учёт посещаемости. Надо сказать, что на хостинге и так стоит WebAlizer, который работает на стороне сервера и собирает довольно обширную статистику. Но и у него есть свои недостатки, самый главный - невозможность точно сказать, сколько человек действительно было на сайте и смотрело страницы. Суть проблемы заключается в том, что помимо пользователей есть ещё и различные программы, например, поисковые пауки или программы взлома, которые также запрашивают страницы сайта, но не отображают их пользователю. Ещё некоторые клиенты запрашивают файлы напрямую, что, в принципе, не является посещением самого сайта. В связи с этим появилось желание поставить обычный графический счётчик, который учитывает именно посетителей.

Среди большого количества бесплатных счётчиков, которые предоставляют сервис статистики, я выбрал HotLog. Этот выбор был обусловлен тем, что HotLog, в общем, неплохой сервис и предоставляет то самое, чего не хватает WebAlizer. Их графический счётчик показывает общее число посещений и прибавку посетителей за текущий день.

Однако, после некоторого времени использования счётчика, наблюдалась следующая ситуация - сервер статистики, который выдаёт картинку, был недоступен огромное количество времени. Это и понятно - бесплатный сервис работает по остаточному принципу. Но разница, которая была между хотлоговским счётчиком и WebAlizer, меня не устраивала. Так родилась идея написать очень простой и быстрый счётчик, который бы учитывал общее число посетителей, прибавку за день и количество посещённых страниц.

Постановка задачи

Разработать графический счётчик посещений, который бы учитывал общее количество посещений, прибавку посещений за день и количество просмотренных страниц.

От постановки задачи уже можно перейти к условностям :-). Решение программных задач очень схоже с решением уравнений. Итак, пускай посетитель у нас будет хостом, просмотр страницы хитом. Пускай хостом будет считаться браузер, который не передал секретную куку (cookie - печенье), или в переданной куке содержится вчерашняя дата. Вообще, в куке будет храниться дата, когда она (кука) была установлена счётчиком. Это нужно, чтобы разделять посетителей по дням, то есть, если пользователь зашёл вчера и посетил 10 страниц, то должны насчитаться 1 хост и 10 хитов. Если этот же пользователь зашёл уже сегодня и посетил 5 страниц, то это 1 хост и 5 хитов. То есть, статистика пользователей должна быть посуточной. Хитом в этом случае будет считаться любое посещение пользователя.

Для хранения статистики я выбрал обычный текстовый файл, где будет храниться всего одна строка. Это будет самый быстрый вариант хранения данных. Конечно, много информации так не сохранишь, но мне это и не требуется.

Решение задачи

Поскольку счётчик графический, то самое главное, что нельзя забывать, необходимо проверить доступность функций для работы с графикой. Эти функции не являются обязательными для PHP и зависят от библиотеки gd. Поэтому нужно всегда проверять, доступны ли они.

Второй момент - графический фон счётчика. Всё-таки намного эстетичней, когда счётчик сам по себе не портит дизайн сайта и вписывается в него органично. Поэтому нужно предусмотреть два варианта, когда есть подложка и когда файл-подложка недоступен. Если файла с фоном нет, то его (фон) нужно нарисовать.

И третье, что нужно учесть - блокировка файла на время обработки. Блокировать нужно на тот случай, если будет несколько обращений к файлу статистики одновременно. Если же файл не блокировать, то вполне вероятно, что будет ситуация, когда либо сам файл повредится, либо некоторые данные будут теряться.

Помня обо всём этом, можно приступать к написанию скрипта.

Этот скрипт я назвал index.php и поместил в папку counter .

Для большего удобства и эстетики я написал ещё небольшой mod_rewrite движок, который позволит обращаться к счётчику как картинке.

Теперь можно обращаться к счётчику по ссылке counter/cnt.jpg .

Последним штрихом, я написал файл, который отображает краткую статистику счётчика в виде html-страницы.

Пример работы

После размещения файлов на сервере, я вставил такой код в шаблон:

В результате получил счётчик, почти как у HotLog :-), а может и лучше, ведь он доступен всегда, когда доступен сайт!

Что можно добавить

Я привёл пример очень простой реализации графического счётчика. Без особых усилий к нему можно добавить более детальную статистку, которая бы могла рассчитывать не только суточные показатели, но и по месяцам. Это довольно легко реализуется на текстовых файлах, однако, если же вы захотите хранить полные списки ip адресов, информацию о браузерах, разрешение экрана и т.п., то одними текстовыми файлами тут не обойтись.

© 2022 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

Мы разработали подробную инструкцию по установке счетчика метрики на сайт на все самые популярные системы управления.

  • Как получить счетчик в Яндекс Метрике
  • Куда ставить счетчик метрики
  • Установка метрики для Wordpress
  • Установка метрики для Bitrix
  • Установка метрики для Joomla
  • Установка метрики для Wix
  • Установка метрики для Tilda
  • Установка метрики для MODx
  • Установка метрики для Opencart
  • Как узнать присвоен ли сайту код Метрики
  • Как удалить метрику сайта

Мы разработали подробную инструкцию по установке счетчика метрики на сайт на все самые популярные системы управления.

Яндекс Метрика – это современный инструмент отслеживания посещаемости ресурса. Чтобы статистика заработала необходимо установить код счетчика.

Как получить счетчик в Яндекс Метрике

Читайте также: