У меня есть сайт, который основан на контенте. Есть более 500 страниц, и это увеличивается. Я также использую Google Analytics, но я хочу узнать, какие страницы популярны в разных местах. Я не смог найти простое решение в Google Analytics, поэтому я внедрил свою собственную систему.
Каждый раз, когда пользователь открывает страницу, я записываю 4 столбца:
id_user, id_page, время, IP_user
for IP field I am using:
//Test if it is a shared client
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
//Is it a proxy address
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
//The value of $ip at this point would look something like: "192.0.34.166"$ip = ip2long($ip);
//The $ip would now look something like: 1073732954
Этот код кодирует IP в меньшее число для эффективности базы данных. Для получения информации о географическом местоположении я использую http://ipinfo.io/ с IP-адресом пользователя, он дает мне местоположение. Я не записываю страну и город, так как считаю, что это замедлит скорость страницы.
Два анализа данных, которые я должен получить местоположения, поэтому я подготовил работу CRON, чтобы вставить город & страна к таблице, которую я упомянул из IP. Но http://ipinfo.io/ ограничивает 120 поисков в минуту. [2] Так что это ограничение может создать проблемы в будущем.
Я хотел бы спросить вас, есть ли у системы, которую я разработал, недостатки? Или кто-нибудь знает лучшую систему для отслеживания местоположения пользователей без снижения скорости страницы?
Задача ещё не решена.
Других решений пока нет …