Разработка15 июня 2024 г.👁 4

Откуда ты, странник? Определяем с помощью PHP из какой поисковой системы пришёл посетитель

Иногда возникает необходимость определить из какого поисковика пришёл посетитель и выполнить разные сценарии на сайте.

Зачем определять источник посетителя?

Представьте ситуацию: вам нужно показывать разный контент пользователям из Яндекса и Google. Или вы хотите вести статистику по источникам трафика прямо на сайте. PHP позволяет это сделать через анализ HTTP_REFERER.

Как это работает

Каждый раз, когда пользователь переходит на ваш сайт из поисковой системы, браузер отправляет заголовок Referer, содержащий URL страницы, с которой был совершён переход. Мы можем проанализировать этот заголовок и определить источник.

Рабочий код на PHP

Основная идея — проверить наличие доменов поисковых систем в referer:

$referer = $_SERVER["HTTP_REFERER"] ?? "";

if (strpos($referer, "yandex") !== false) {
    $source = "Яндекс";
} elseif (strpos($referer, "google") !== false) {
    $source = "Google";
} elseif (strpos($referer, "mail.ru") !== false) {
    $source = "Mail.ru";
} else {
    $source = "Прямой заход или другой источник";
}

Практическое применение

Этот метод полезен когда нужно:

  • Показывать разные акции для посетителей из разных поисковиков
  • Вести собственную аналитику источников трафика
  • Персонализировать контент на странице
  • Тестировать эффективность SEO в разных поисковых системах

Важные нюансы

HTTP_REFERER может быть пустым — не все браузеры его передают. Также некоторые пользователи используют расширения, блокирующие передачу referer. Поэтому этот метод стоит использовать как дополнение к основным системам аналитики (Яндекс.Метрика, Google Analytics), а не как замену.

#PHP
Р

Радмир

Веб-разработчик, специалист по SEO и ИИ-решениям. Опыт 12+ лет.

Нужна помощь с проектом?

Оставьте заявку — обсудим задачу и предложим решение.