Откуда ты, странник? Определяем с помощью 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), а не как замену.
Радмир
Веб-разработчик, специалист по SEO и ИИ-решениям. Опыт 12+ лет.
Нужна помощь с проектом?
Оставьте заявку — обсудим задачу и предложим решение.