hcodes / server_yametrika
使用 Yandex.Metrica 进行服务器端访客跟踪
v2.0.2
2021-04-05 07:06 UTC
Requires
- php: >=5.6
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-08 06:26:30 UTC
README
使用 Yandex.Metrica 为 PHP 进行服务器端访客跟踪。
在某些情况下,需要在不使用 JavaScript 的情况下在服务器端跟踪操作。
例如
- 跟踪搜索机器人
- 重定向
- 文件加载
- 错误页面(403、404、500)
- RSS
- 脚本执行时间
- 数据库查询时间
- AJAX 请求跟踪
- 等等。
功能
服务器端实现类似于 JavaScript 实现。
- 页面访问
hit()
- 达成目标
reachGoal()
- 外部链接
extLink()
- 文件加载
file()
- 访问参数
params()
- 非跳出
notBounce()
Yandex.Metrica 仅接受通过 https 协议的点击,请确保 PHP 支持 SSL。
计数器设置
在计数器设置中,在“筛选”/“筛选机器人”选项卡上,必须选择“考虑所有机器人”的选项。否则,统计信息将无法收集。
限制
在服务器端发送时,在 Metrika 中不可用的报告
- 性别和年龄结构
- 性别和年龄
- 显示器分辨率
- WebVisor,表单分析
- 点击图
唯一访客按 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 许可证