Связаться с поддержкой

Мы отвечаем по электронной почте, обычно в течение двух дней.

Для защиты от злоупотреблений Google reCAPTCHA проверяет эту отправку; при этом данные передаются в Google. Скрипт загружается только при открытии этой формы.

← Все записи

Считать клики, не читая текст ссылки

Счётчик отвечает на вопрос «сколько пришло». Более полезный вопрос обычно звучит «сколько что-то сделало» — нажали на ссылку контактов, открыли загрузку, ушли на профиль в соцсети. У этой службы есть для этого события с самого их создания: поставьте data-s4u-event="kontakt" на элемент, и клики по нему считаются под этим именем.

Почти никто этим не пользовался, потому что почти никто не знал. Поэтому теперь есть галочка: считать клики по ссылкам автоматически, без атрибутов. Интересен не переключатель. Интересно то, как называется посчитанное.

Не текст ссылки

Очевидное имя для клика — это слова, по которым посетитель нажал. Оно же и неверное.

Текст ссылки — это свободное содержимое. Ссылка может гласить «Заказ 4711» или «Сообщение от Анны», нести номер дома, номер брони, адрес почты. Всё это попало бы в столбец базы данных с названием name и там бы и осталось. Политика конфиденциальности этой службы говорит, что статистика не содержит персональных данных, и это должно оставаться правдой, не завися от того, что владелец сайта случайно напишет внутри тега ссылки.

Есть и вторая проблема, меньше, но настоящая: двадцать ссылок со словом «здесь» на одной странице — это одно имя, которое ничего не говорит, а та же ссылка в одиннадцати переводах была бы одиннадцатью именами из пятидесяти, положенных счётчику.

Поэтому имя берётся из пути назначения. Его выбрал владелец сайта, он устойчив, и он уже является ключом, которым пользуется постраничная статистика.

Три нормализации, каждая по своей причине

  • Языковой префикс убран. /de/blog и /pl/blog — это одна и та же страница. Без этого один только переключатель языка многоязычного сайта съел бы одиннадцать из пятидесяти имён.
  • Последовательности из пяти и более цифр становятся n. Две страницы статистики с разными номерами счётчиков — это не две страницы, а дважды одна.
  • Ссылки, уходящие с сайта, становятся ex- плюс хост. Путь чужой страницы владельцу ничего не говорит. А вот куда ушёл клик — говорит.

Якоря, mailto:, tel: и javascript: пропускаются — это не те цели, для которых кому-то нужно число. Элементы, у которых уже есть собственное имя события, тоже пропускаются, иначе один и тот же клик считался бы дважды.

Во что это обходится

Скрипт в браузере вырос на 1022 байта в сжатом виде, один раз за первое посещение. Больше ни во что: признак едет в запросе, который скрипт и так делает при каждой загрузке страницы — в запросе, который до сих пор всегда отвечал одной и той же константой — так что второй поездки нет. На сервере список счётчиков с включённым переключателем живёт в небольшом файле, а не в запросе, потому что этот запрос — полный проход по 166 433 строкам и стоит измеренных 143,9 миллисекунды.

По умолчанию выключено, и таким остаётся. При этом объёме включение везде добавило бы примерно девять тысяч записей в день в самую нагруженную на запись таблицу, какая здесь есть. Это то, что включают, а не то, что с тобой случается.

Реклама