avdeevsv91/server_yametrika

此包已被放弃且不再维护。未建议替代包。

使用Yandex.Metrika进行服务器端访客跟踪

v1.0.4 2019-09-23 10:36 UTC

This package is not auto-updated.

Last update: 2020-08-25 14:07:49 UTC


README

在某些情况下,需要在不使用JavaScript的情况下在服务器端跟踪操作。

例如

  • 跟踪搜索机器人
  • 重定向
  • 文件加载
  • 错误页面(403、404、500)
  • RSS
  • 脚本执行时间
  • 数据库查询时间
  • AJAX请求跟踪
  • 等等。

功能

服务器端实现与JavaScript实现类似。

  • 页面加载 - hit()
  • 达成目标 - reachGoal()
  • 外部链接 - extLink()
  • 文件加载 - file()
  • 访问参数 - params()
  • 非跳出 - notBounce()

Yandex.Metrika只接受通过https协议的hit,请确保PHP支持SSL,详情请查看PHP的SSL支持

Metrika计数器设置

在计数器设置中,在“筛选器”/“机器人筛选”选项卡中,必须选择“考虑所有机器人的访问”。否则,统计信息将不会收集。

限制

服务器端发送时在Metrika中不可用的报告

  • 性别和年龄结构
  • 性别和年龄
  • 显示器分辨率
  • Flash和Silverlight版本
  • Webvizor,表单分析
  • 点击地图

唯一访客根据User Agent和IP地址计算。

如何使用

访问页面

<?php
//...
use ServerYaMetrika\YaMetrika;

$counter = new YaMetrika(123456); // Номер счётчика Метрики
$counter->hit('http://example.ru/archive.zip');
//...
?>

达成目标

<?php
//...
use ServerYaMetrika\YaMetrika;

$counter = new YaMetrika(123456); // Номер счётчика Метрики
$counter->hit() // Вызов метода необходим для корректной привязки цели к визиту
$counter->reachGoal('submit');
//...
?>

文件加载

<?php
//...
use ServerYaMetrika\YaMetrika;

$counter = new YaMetrika(123456); // Номер счётчика Метрики
$counter->file('http://example.ru/archive.zip');
//...
?>

访客使用哪些程序读取RSS

<?php
//...
use ServerYaMetrika\YaMetrika;

$counter = new YaMetrika(123456); // Номер счётчика Метрики
// Просмотр статистики в отчёте "Параметры визитов", ветка RSS -> User Agent
$counter->params(Array('RSS' => Array('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(Array('Robots.txt' => Array('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许可证