{"id":18376750,"url":"https://github.com/hcodes/server_yametrika","last_synced_at":"2025-04-09T18:17:20.626Z","repository":{"id":3444480,"uuid":"4497402","full_name":"hcodes/server_yametrika","owner":"hcodes","description":"Серверное отслеживание посетителей с помощью Яндекс.Метрики","archived":false,"fork":false,"pushed_at":"2024-09-08T06:24:38.000Z","size":73,"stargazers_count":74,"open_issues_count":0,"forks_count":20,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-09T18:16:53.252Z","etag":null,"topics":["analytics","metrika","php","yandex-metrica","yandex-metrika"],"latest_commit_sha":null,"homepage":"https://packagist.org/packages/hcodes/server_yametrika","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hcodes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-05-30T16:52:07.000Z","updated_at":"2025-03-31T17:06:24.000Z","dependencies_parsed_at":"2024-11-06T00:27:23.414Z","dependency_job_id":null,"html_url":"https://github.com/hcodes/server_yametrika","commit_stats":{"total_commits":76,"total_committers":2,"mean_commits":38.0,"dds":0.25,"last_synced_commit":"ffa163c0a94f183fdeb4bc7e8a489415bf802ff2"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcodes%2Fserver_yametrika","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcodes%2Fserver_yametrika/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcodes%2Fserver_yametrika/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hcodes%2Fserver_yametrika/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hcodes","download_url":"https://codeload.github.com/hcodes/server_yametrika/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085321,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","metrika","php","yandex-metrica","yandex-metrika"],"created_at":"2024-11-06T00:24:37.038Z","updated_at":"2025-04-09T18:17:20.605Z","avatar_url":"https://github.com/hcodes.png","language":"PHP","readme":"\n# hcodes/server_yametrika\n![Packagist Version](https://img.shields.io/packagist/v/hcodes/server_yametrika)\n![Packagist Downloads](https://img.shields.io/packagist/dm/hcodes/server_yametrika)\n![Packagist License](https://img.shields.io/packagist/l/hcodes/server_yametrika)\n\n**Серверное отслеживание посетителей с помощью Яндекс.Метрики для PHP.**\n\nВ некоторых случаях требуется отслеживать действия на стороне сервера без JavaScript.\n\nНапример:\n+ Слежка за поисковыми роботами\n+ Редиректы\n+ Загрузка файлов\n+ Страницы с ошибками (403, 404, 500)\n+ RSS\n+ Время выполнения скриптов\n+ Время запросов к базам данных\n+ Треккинг AJAX-запросов\n+ и пр.\n\n## Возможности\nСерверная реализация сделана по аналогии с [JavaScript-реализацией](https://yandex.ru/support/metrica/code/counter-initialize.html).\n+ Посещение страницы `hit()`\n+ Достижение цели `reachGoal()`\n+ Внешняя ссылка `extLink()`\n+ Загрузка файла `file()`\n+ Параметры визита `params()`\n+ Неотказ `notBounce()`\n\n**Яндекс.Метрика принимает хиты только по https-протоколу, не забудьте проверить поддержку SSL в PHP.**\n\n## Настройки счётчика Метрики\n**В настройках счётчика во вкладке «Фильтры» / «Фильтрация роботов» необходимо выбрать опцию «Учитывать посещения всех роботов». В противном случае, статистика собираться не будет.**\n\n## Ограничения\nОтчёты, которые будут недоступны в Метрике при серверной отправки:\n+ Половозрастная структура\n+ Пол и возраст\n+ Разрешения дисплеев\n+ Вебвизор, аналитика форм\n+ Карта кликов\n\nУникальные посетители считаются по User Agent и IP-адресу.\n\n\n## Установка\n```bash\ncomposer require hcodes/server_yametrika\n```\n\n## API\n### Посещение страницы\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики\n\n// Все параметры по умолчанию.\n$counter-\u003ehit(); // Значение URL и referer берутся по умолчанию из $_SERVER\n\n// Отправка хита с абсолютными урлами.\n// page_url, title, referer\n$counter-\u003ehit('https://mysite.org', 'Main page', 'https://ya.ru');\n\n// Отправка хита с относительными урлами.\n$counter-\u003ehit('/index.html', 'Main page', '/back.html');\n\n// Отправка хита вместе с параметрами визитов.\n$userParams = ['param' =\u003e 1, 'param2' =\u003e 2];\n$counter-\u003ehit('https://mysite.org', 'Main page', 'https://ya.ru', $userParams);\n\n// Отправка хита вместе с параметрами визитов и с запретом на индексацию.\n$userParams = ['param1' =\u003e 1, 'param2' =\u003e 2];\n$counter-\u003ehit(\n    'https://mysite.org',\n    'Main page',\n    'https://ya.ru',\n    $userParams,\n    'noindex'\n);\n\n?\u003e\n```\n\n### Достижение цели\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n// Внимание! Перед вызовом методов reachGoal должен вызван метод hit(...),\n// чтобы была корректная привязка цели к визиту.\n$counter-\u003ereachGoal('goal_name');\n\n// С параметрами визита.\n$counter-\u003ereachGoal('goal_name', ['param1' =\u003e 1, 'param2' =\u003e 2]);\n\n?\u003e\n```\n\n### Внешняя ссылка, отчёт «Внешние ссылки»\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n$counter-\u003eextLink('https://yandex.ru');\n\n// С названием ссылки.\n$counter-\u003eextLink('https://yandex.ru', 'Яндекс');\n\n?\u003e\n```\n\n### Загрузка файла, отчёт «Загрузка файлов»\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n\n$counter-\u003efile('https://mysite.org/archive.zip');\n\n// С названием ссылки.\n$counter-\u003efile('https://mysite.org/archive.zip', 'Архив рассылки');\n\n?\u003e\n```\n\n### Отправка пользовательских параметров, отчёт «Параметры визитов»\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n\n$counter-\u003eparams(['level1' =\u003e ['level2' =\u003e 1]]);\n\n?\u003e\n```\n\n### Неотказ\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n\n$counter-\u003enotBounce();\n\n?\u003e\n```\n\n## Примеры применения\n### Какие программы используют посетители для чтения RSS?\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n// Просмотр статистики в отчёте «Параметры визитов», ветка RSS → User Agent.\n$counter-\u003eparams(['RSS' =\u003e ['User Agent' =\u003e $_SERVER['HTTP_USER_AGENT']]]);\n\n?\u003e\n```\n\n### Слежка за роботами за скачкой robots.txt\nДобавляем в корневой .htaccess строку \"RewriteRule ^robots.txt$ robots.php\" и создаём в корне файл robots.php с содержанием:\n```PHP\n\u003c?php\n\nuse ServerYaMetrika\\YaMetrika;\n\n$counter = new YaMetrika(123456); // Номер счётчика Метрики.\n// Просмотр статистики в отчёте «Параметры визитов», ветка Robots.txt → User Agent.\n$counter-\u003eparams(['Robots.txt' =\u003e ['User Agent' =\u003e $_SERVER['HTTP_USER_AGENT']]]);\n\n$txt = file_get_contents('robots.txt');\n\nheader('Cache-Control: no-cache');\nheader('Pragma: no-cache');\nheader('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');\nheader('Content-Type: text/plain');\n\nprint $txt;\n\n?\u003e\n```\n\n## Полезные ссылки\n+ [Лёгкая Я.Метрика](https://github.com/hcodes/lyam/)\n+ [Версия для Node.js](https://github.com/hcodes/server_yametrika_nodejs/)\n+ [React/Preact-компонент для Яндекс Метрики](https://github.com/hcodes/react-metrika)\n+ [Помощь Яндекс.Метрики](https://yandex.ru/support/metrica/)\n\n\n## [Лицензия](./LICENSE.md)\nMIT License\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcodes%2Fserver_yametrika","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhcodes%2Fserver_yametrika","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhcodes%2Fserver_yametrika/lists"}