Новый счётчик гугла

Автор BIOHAZARD, 19 декабря 2009, 19:52:25

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

BIOHAZARD

Гугл вводит новый счётчик, видимо после того, как осознал, что сам является причиной тормозов на сайтах с установленными гуглосчётчиками  2funny (см. http://www.simplemachines.ru/index.php?topic=9165.0).
новый код делает загрузку этого самого счётчика "асинхронной", т.е. загрузка основной информации форума не прерывается во время загрузки скрипта счётчика


оригинальная тема: http://code.google.com/intl/ru/apis/analytics/docs/tracking/asyncTracking.html
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Bugo

Этот код лучше в Subs.php или в Load.php вставить?

Serifa

Вопрос: есть ли реальная польза от счетчиков для сайта?
Если пользы больше, чем вреда:

Второй вопрос: сразу приведи код, как вставить))) для версии 2.0 RC2
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

BIOHAZARD

Цитата: Bugo от 19 декабря 2009, 20:53:14
Этот код лучше в Subs.php или в Load.php вставить?
Одинаково приятно, но я ставлю в Load.php
Цитата: His Divine Shadow от 19 декабря 2009, 23:39:52
Вопрос: есть ли реальная польза от счетчиков для сайта?
Если пользы больше, чем вреда:

Второй вопрос: сразу приведи код, как вставить))) для версии 2.0 RC2
польза - постоянный мониторинг числа посетителей и ссылок, по которым они попали на сайт, что абсолютно необходимо при решении SEO-задач

мой код из Load.php
найти
  // Some basic information...
   if (!isset($context['html_headers']))
      $context['html_headers'] = '';

заменить на
  // Some basic information...
   if (!isset($context['html_headers']))
      $context['html_headers'] = '';
   
   $context['html_headers'] .= '
<!-- Yandex.Metrika -->
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script>
<script type="text/javascript">
try { var yaCounter###### = new Ya.Metrika(######); } catch(e){}
</script>
<!-- /Yandex.Metrika -->   
<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(["_setAccount", "UA-######"]);
  _gaq.push(["_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";
    (document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(ga);
  })();
</script>';

где ###### - персональные идентификаторы в яндухе и гугле
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Bugo

Вот, может кому пригодится :)

Мод на основе мода Google Analitics Code. В том моде был упор на изменение файла index.template.php, я же переделал на изменение файла Load.php, по совету BIOHAZARD'a и на основе этой темы

Итак, после установки в файле Load.php после блока:
// Some basic information...
if (!isset($context['html_headers']))
$context['html_headers'] = '';


появляется блок:
if(!empty($modSettings['googleAnalyticsCode']))
$context['html_headers'] .= '
<script type="text/javascript">
  var _gaq = _gaq || [];
_gaq.push([\'_setAccount\', \'' . $modSettings['googleAnalyticsCode'] . '\']);
_gaq.push([\'_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\';
    (document.getElementsByTagName(\'head\')[0] || document.getElementsByTagName(\'body\')[0]).appendChild(ga);
  })();
</script>';


В админке, в разделе Конфигурация -> Характеристики и настройки -> Настройки появляется форма ввода персонального кода отслеживания Google Analitics


А в исходном коде, при загрузке страниц форума, появляется блок:
<script type="text/javascript">
  var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-22000000-5']);
_gaq.push(['_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';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();
</script>

BIOHAZARD

хорошо бы ещё добить этот мод, чтоб в нём и яндуховский счётчик работал
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Bugo

Тоже об этом подумал, когда установил)))

Drakonsa

Цитата: BIOHAZARD от 20 декабря 2009, 17:24:44
хорошо бы ещё добить этот мод, чтоб в нём и яндуховский счётчик работал
Сказать что надо дописать? Или самому это сделать? :) Второй вариант более ленив :Р

Bugo

#8
Добавил поддержку Яндекс.Метрики, LiveInternet и Rambler's Top100. Перевод на английский дорабатывать не стал, лень :)

Протестируйте, пожалуйста, в SMF 1.x, кто может.

Serifa

Цитата: Bugo от 21 декабря 2009, 21:24:37
Добавил поддержку Яндекс.Метрики, LiveInternet и Rambler's Top100. Перевод на английский дорабатывать не стал, лень :)
Протестируйте, пожалуйста, в SMF 1.x, кто может.

А почему для 1.х? А для двойки как? Я, может, подумаю, и обратно свои счетчики верну)
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Bugo

Для двойки я уже протестировал сам, всё вроде нормально :)

Drakonsa

Цитата: Bugo от 21 декабря 2009, 23:05:47
Для двойки я уже протестировал сам, всё вроде нормально :)
Чтоб не мучаться с жкранированием добавь str_replace("'","\'",$modSettings['четатам']) или через addslashes, но тогда постраают и двойные кавычки.
И если я ничего не путаю, то в функциях смф была какая-то функция, которая их экранировала.


чуть-чуть напрягая мозг, надумал... Зачем их вообще экранировать если код идет как переменная? о_О

Bugo

Цитата: Drakonsa от 21 декабря 2009, 23:12:30
чуть-чуть напрягая мозг, надумал... Зачем их вообще экранировать если код идет как переменная? о_О

Действительно, спасибо за напоминание :)

Переделал код, постаравшись упростить. Добавил ещё вставку кода SpyLOG.
В общем, теперь не нужно заморачиваться над экранированием одинарных кавычек — можно просто вставлять код как есть.
Причем, учитывая, что для некоторых счётчиков (вроде LiveInternet) код счётчика и код логотипа идут отдельно, для них реализованы отдельные текстовые поля ввода. И если, например, будет указан только код для вставки логотипа, без указания кода самого счётчика, то и код логотипа вставляться никуда не будет.

Тестируйте.

in.mist


Bugo


in.mist


bingo_m

Цитата: Bugo от 22 декабря 2009, 06:24:02
Действительно, спасибо за напоминание :)
Тестируйте.
Спасиб за мод, робит! +1