Връзка с поддръжката

Отговаряме по имейл, обикновено до два дни.

Google reCAPTCHA проверява това изпращане срещу злоупотреби; данни се изпращат към Google. Скриптът се зарежда само когато този формуляр бъде отворен.

← Всички публикации

Как броим кликовете, без да нарушаваме поверителността

Броячът отговаря на въпроса „колко дойдоха“. По-полезният въпрос обикновено е „колко направиха нещо“ — кликнаха връзката за контакт, отвориха файла за изтегляне, отидоха към профил в социална мрежа. Сайтът има събития за целта, откакто те са създадени: поставете data-s4u-event="contact" на даден елемент и кликовете върху него се броят по име.

Почти никой не ги използваше, защото почти никой не знаеше за тях. Затова сега има отметка: автоматично броене на кликове по връзки, без нужда от атрибути. Интересното не е превключвателят. Интересно е как се нарича преброеното.

Не текстът на връзката

Очевидното име за един клик са думите, върху които посетителят е кликнал. То е и грешното.

Текстът на връзката е свободно съдържание. Една връзка може да гласи „Поръчка 4711“ или „Съобщение от Анна“, или да съдържа номер на къща, номер на резервация, имейл адрес. Всичко това би попаднало в колона на базата данни с име name и би останало там. Политиката за поверителност на тази услуга гласи, че статистиката не съдържа лични данни, и това трябва да остане вярно, без да зависи от това какво някой собственик на сайт е написал вътре в таг за връзка.

Има и втори проблем, по-малък, но реален: двадесет връзки с текст „тук“ на една страница са едно име, което не казва нищо, а една и съща връзка в единадесет превода би станала единадесет имена от петдесетте, позволени за един брояч.

Затова името идва от целевия път. Собственикът на сайта го е избрал, той е стабилен и вече е ключът, който използва статистиката по страници.

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

  • Премахва се езиковият префикс. /de/blog и /pl/blog са една и съща страница. Без това само превключвателят на езика на един многоезичен сайт би изразходвал единадесет от петдесетте имена.
  • Поредици от пет или повече цифри стават n. Две статистически страници с различни номера на броячи не са две страници; те са една и съща страница два пъти.
  • Връзките, които водят извън сайта, стават ex- плюс хоста. Пътят на чужда страница не казва нищо на собственика. Казва му нещо това накъде е отишъл кликът.
/de/blog/pl/blogblogедна и съща страница на два езика/live/2733270live/nномерът на брояч не е страницаhttps://example.org/xex-example.orgчуждият път не казва нищо, хостът казваимето идва от целта, никога от текста на връзката

Връзките към котви, mailto:, tel: и javascript: се пропускат — това не са цели, за които някой има нужда от броене. Пропускат се и елементите, които вече носят собствено име на събитие, иначе един и същ клик би се преброил два пъти.

Колко струва

Скриптът в браузъра нарасна с 1 022 байта в компресиран вид, еднократно при първото посещение. Нищо друго: флагът пътува в заявка, която скриптът и без това прави при всяко зареждане на страница — заявка, която досега винаги отговаряше с една и съща константа — така че няма второ обръщение до сървъра. На сървъра списъкът с броячите с включен превключвател се пази в малък файл, а не в заявка, защото тази заявка е пълно сканиране на 166 433 реда и струва измерени 143,9 милисекунди.

По подразбиране е изключено и остава изключено. При обема на този сайт включването навсякъде би добавило около девет хиляди записа на ден в най-натоварената таблица, която има. Това е нещо, което собственикът включва съзнателно, а не нещо, което се случва на един сайт от само себе си.

Реклама