hcodes/server_yametrika
Composer 安装命令:
composer require hcodes/server_yametrika
包简介
Server-side tracking of visitors using Yandex.Metrica
README 文档
README
Серверное отслеживание посетителей с помощью Яндекс.Метрики для PHP.
В некоторых случаях требуется отслеживать действия на стороне сервера без JavaScript.
Например:
- Слежка за поисковыми роботами
- Редиректы
- Загрузка файлов
- Страницы с ошибками (403, 404, 500)
- RSS
- Время выполнения скриптов
- Время запросов к базам данных
- Треккинг AJAX-запросов
- и пр.
Возможности
Серверная реализация сделана по аналогии с JavaScript-реализацией.
- Посещение страницы
hit() - Достижение цели
reachGoal() - Внешняя ссылка
extLink() - Загрузка файла
file() - Параметры визита
params() - Неотказ
notBounce()
Яндекс.Метрика принимает хиты только по https-протоколу, не забудьте проверить поддержку SSL в PHP.
Настройки счётчика Метрики
В настройках счётчика во вкладке «Фильтры» / «Фильтрация роботов» необходимо выбрать опцию «Учитывать посещения всех роботов». В противном случае, статистика собираться не будет.
Ограничения
Отчёты, которые будут недоступны в Метрике при серверной отправки:
- Половозрастная структура
- Пол и возраст
- Разрешения дисплеев
- Вебвизор, аналитика форм
- Карта кликов
Уникальные посетители считаются по User Agent и IP-адресу.
Установка
composer require hcodes/server_yametrika
API
Посещение страницы
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики // Все параметры по умолчанию. $counter->hit(); // Значение URL и referer берутся по умолчанию из $_SERVER // Отправка хита с абсолютными урлами. // page_url, title, referer $counter->hit('https://mysite.org', 'Main page', 'https://ya.ru'); // Отправка хита с относительными урлами. $counter->hit('/index.html', 'Main page', '/back.html'); // Отправка хита вместе с параметрами визитов. $userParams = ['param' => 1, 'param2' => 2]; $counter->hit('https://mysite.org', 'Main page', 'https://ya.ru', $userParams); // Отправка хита вместе с параметрами визитов и с запретом на индексацию. $userParams = ['param1' => 1, 'param2' => 2]; $counter->hit( 'https://mysite.org', 'Main page', 'https://ya.ru', $userParams, 'noindex' ); ?>
Достижение цели
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. // Внимание! Перед вызовом методов reachGoal должен вызван метод hit(...), // чтобы была корректная привязка цели к визиту. $counter->reachGoal('goal_name'); // С параметрами визита. $counter->reachGoal('goal_name', ['param1' => 1, 'param2' => 2]); ?>
Внешняя ссылка, отчёт «Внешние ссылки»
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. $counter->extLink('https://yandex.ru'); // С названием ссылки. $counter->extLink('https://yandex.ru', 'Яндекс'); ?>
Загрузка файла, отчёт «Загрузка файлов»
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. $counter->file('https://mysite.org/archive.zip'); // С названием ссылки. $counter->file('https://mysite.org/archive.zip', 'Архив рассылки'); ?>
Отправка пользовательских параметров, отчёт «Параметры визитов»
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. $counter->params(['level1' => ['level2' => 1]]); ?>
Неотказ
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. $counter->notBounce(); ?>
Примеры применения
Какие программы используют посетители для чтения RSS?
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. // Просмотр статистики в отчёте «Параметры визитов», ветка RSS → User Agent. $counter->params(['RSS' => ['User Agent' => $_SERVER['HTTP_USER_AGENT']]]); ?>
Слежка за роботами за скачкой robots.txt
Добавляем в корневой .htaccess строку "RewriteRule ^robots.txt$ robots.php" и создаём в корне файл robots.php с содержанием:
<?php use ServerYaMetrika\YaMetrika; $counter = new YaMetrika(123456); // Номер счётчика Метрики. // Просмотр статистики в отчёте «Параметры визитов», ветка Robots.txt → User Agent. $counter->params(['Robots.txt' => ['User Agent' => $_SERVER['HTTP_USER_AGENT']]]); $txt = file_get_contents('robots.txt'); header('Cache-Control: no-cache'); header('Pragma: no-cache'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Type: text/plain'); print $txt; ?>
Полезные ссылки
Лицензия
MIT License
hcodes/server_yametrika 适用场景与选型建议
hcodes/server_yametrika 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21.46k 次下载、GitHub Stars 达 74, 最近一次更新时间为 2021 年 03 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「yandex」 「metrika」 「tracking」 「metrica」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hcodes/server_yametrika 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hcodes/server_yametrika 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hcodes/server_yametrika 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Laravel - Yandex Metrika
The flysystem adapter for yandex disk rest api.
PHP SDK for the Parcel Monkey UK API
Yandex Metrika Integration to Magento
Easy and complete YooKassa (previously Yandex Checkout) integration for Laravel
Scrapping TOP10 Yandex Market Reviews
统计信息
- 总下载量: 21.46k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 74
- 点击次数: 29
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-03-07