lutov/server_yametrika

Composer-compatible fork of a server-side Yandex Metrika counter


License
GPL-3.0+

Documentation

Π‘Π΅Ρ€Π²Π΅Ρ€Π½ΠΎΠ΅ отслСТиваниС посСтитСлСй с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ЯндСкс.ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для PHP

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ дСйствия Π½Π° сторонС сСрвСра Π±Π΅Π· JavaScript.

НапримСр:

  • Π‘Π»Π΅ΠΆΠΊΠ° Π·Π° поисковыми Ρ€ΠΎΠ±ΠΎΡ‚Π°ΠΌΠΈ
  • Π Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Ρ‹
  • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²
  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ с ошибками (403, 404, 500)
  • RSS
  • ВрСмя выполнСния скриптов
  • ВрСмя запросов ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…
  • Π’Ρ€Π΅ΠΊΠΊΠΈΠ½Π³ AJAX-запросов
  • ΠΈ ΠΏΡ€.

ВозмоТности

БСрвСрная рСализация сдСлана ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с JavaScript-Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

  • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° страницы - hit()
  • ДостиТСниС Ρ†Π΅Π»ΠΈ - reachGoal()
  • Π’Π½Π΅ΡˆΠ½ΡΡ ссылка - extLink()
  • Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π° - file()
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΠ·ΠΈΡ‚Π° - params()
  • НСотказ - notBounce()

ЯндСкс.ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ…ΠΈΡ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ https-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ SSL Π² PHP.

Настройки счётчика ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ

Π’ настройках счётчика Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹Β» / Β«Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ²Β» Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Β«Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ посСщСния всСх Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ²Β». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, статистика ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ

ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны Π² ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅ ΠΏΡ€ΠΈ сСрвСрной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ:

  • ΠŸΠΎΠ»ΠΎΠ²ΠΎΠ·Ρ€Π°ΡΡ‚Π½Π°Ρ структура
  • Пол ΠΈ возраст
  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ дисплССв
  • ВСрсия Flash ΠΈ Silverlight
  • Π’Π΅Π±Π²ΠΈΠ·ΠΎΡ€, Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Ρ„ΠΎΡ€ΠΌ
  • ΠšΠ°Ρ€Ρ‚Π° ΠΊΠ»ΠΈΠΊΠΎΠ²

Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ посСтитСли ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΏΠΎ User Agent ΠΈ IP-адрСсу.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΠΎΡΠ΅Ρ‰Π΅Π½ΠΈΠ΅ страницы:

<?php
//...
include('yametrika.php');

$counter = new YaMetrika(123456); // НомСр счётчика ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
$counter->hit('http://example.ru/archive.zip');
//...
?>

ДостиТСниС Ρ†Π΅Π»ΠΈ:

<?php
//...
include('yametrika.php');

$counter = new YaMetrika(123456); // НомСр счётчика ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
$counter->hit() // Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ привязки Ρ†Π΅Π»ΠΈ ΠΊ Π²ΠΈΠ·ΠΈΡ‚Ρƒ
$counter->reachGoal('submit');
//...
?>

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π°:

<?php
//...
include('yametrika.php');

$counter = new YaMetrika(123456); // НомСр счётчика ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ
$counter->file('http://example.ru/archive.zip');
//...
?>

КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ посСтитСли для чтСния RSS:

<?php
//...
include('yametrika.php');

$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
require('yametrika.php');

$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 License