#performance #cookies #google-analytics #subdomain #cookieless
#Производительность #файлы cookie #google-analytics #поддомен #без использования Cookies
Вопрос:
Я настраиваю поддомен static.map.ninux.org для загрузки статических файлов для домена map.ninux.org . Целью было создать домен без cookies.
Я проверил и обнаружил, что Google Analytics на map.ninux.org создает файлы cookie с помощью домена «.map.ninux.org » которые по какой-то причине действительны и для static.map.ninux.org .
Как я могу решить эту проблему?
PS: правильный ли этот код?
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26436344-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_setDomainName', 'map.ninux.org']);
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
При этом я все равно получаю файлы cookie с помощью host «.map.ninux.org «
Ответ №1:
Редактировать:
Вы не можете сделать static.map.ninux.org cookie бесплатно при настройке cookie для map.ninux.org , потому что static.map.ninux.org унаследует все файлы cookie от map.ninux.org (и у вас нет никаких шансов изменить это поведение).
Возможно, вы захотите изменить доменное имя cookiefree на static-map.ninux.org вместо этого. В этом случае значение _setDomainName по умолчанию, которое равно «auto», будет работать правильно.
Комментарии:
1. Правильный ли код, который я добавил к ответу? Я все еще получаю файлы cookie с помощью host: «.map.ninux.org «. 🙁
2. добавлено к вопросу * извините.
Ответ №2:
порядок параметров трекера Google играет главную роль. поместите параметр setDomainName перед _trackPageview, и он будет работать.
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X'],
['_setDomainName', 'www.example.com'],
['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
Ответ №3:
Еще один способ облегчить домены без cookies — направить ваш трафик на www.map.ninux.org вместо того , чтобы map.ninux.org — таким образом, static.map.ninux.org останется без приготовления.
Затем, как и в предыдущем ответе, вы можете использовать следующую директиву
['_setDomainName', 'www.map.ninux.org']
Или для другого варианта Google Analytics, который выглядит так:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-XX', 'ninux.org');
ga('send', 'pageview');
</script>
Вы можете вручную соответствующим образом изменить часть «ga create»:
ga('create', 'UA-XXXX-XX', 'www.map.ninux.org')
Это приведет к тому, что Google Analytics создаст свои файлы cookie на.www.map.ninux.org домен, а не вкл.ninux.org домен.