Если вам нужен код определения поискового запроса на JavaScript, то это всего десяток-другой строк. Разумеется, безо всяких внешних API, просто из реферера.
Определяет переходы с 4 популярных поисковиков, можете добавить и другие по аналогии: фрагмент домена и параметр, в котором находится запрос.
<html>
<body>
<script type="text/javascript"><!--
function getSearchQuery()
{
var engines = [["google.", "q"], ["yandex.", "text"], ["go.mail.ru", "q"], ["rambler.ru", "query"]];
var re = new RegExp("^https?://([^/]*)/([^?]*)[?](.*)$");
var parts = re.exec(document.referrer);
if (parts) {
var i;
for (i = 0; i < engines.length; i++) {
if (parts[1].search(engines[0]) >= 0) {
var params = parts[3].split("&");
var j;
for (j = 0; j < params.length; j++) {
var p = params[j].split("=");
if (p[0] == engines[1]) {
try {return decodeURIComponent(p[1]);}
catch (err) {return unescape(p[1]);}
}
}
}
}
}
return "";
}
//--></script>
alyarobinsss: Спасибо за ответ. Может быть Вы знаете? Если посетители идут с поисковой выдачи google.ru/, почему не отслеживаются поисковые фразы?
Потому что Гугл сам специально подменяет реферер на такой, в котором вырезана поисковая фраза. Либо на простой https://www.google.ru/, либо на длинный с параметрами, в которых нет поисковой фразы.
---------- Добавлено 23.10.2013 в 21:03 ----------
MVYur: Гугл начал повсеместно внедрять в свою органическую выдачу протокол https, а при переходе с сайта, поддерживающего https на обычный http сайт, рефер, а соответственно, и поисковый запрос, не передаётся.
Вы путаете две разных проблемы.
Проблема не в переходе https->http. Проблема в вырезании Гуглом поискового запроса из параметров. При переходе с Гугла есть реферерер. В реферере нет поискового запроса.
Гугл всех отправляет на свою https-версию, жесткий редирект с http. А при переходе с https-страниц Гугл убирает из адреса поисковый запрос. Остались только какие-то очень редкие частные случаи, когда редирект не делается.
Поэтому никакие системы статистики не могут определить поисковый запрос при переходе с Гугла, можно определить только то, что это переход с Гугла.
Mylena: Т.е. все пользователи ЖЖ обделены лайвинтернетом? Вот этот новость :)
Если не нужна информация, откуда переходят на дневник, а достаточно только информации об объемах посещаемости, то можно пользоваться и liveinternet'ом. Для ЖЖ выдается простой код без JavaScript.
Чем же они тогда пользуются..
Ничем, наверное :)
А если нужна информация о ссылающихся страницах, то Google Analytics.
LiveJournal запрещает пользователям устанавливать код с javascript. Вы никак не сможете получать информацию о ссылающихся страницах при самостоятельной установке любого счетчика.
Можете воспользоваться подключаемым непосредственно через LJ Google Analytics.
Если вам нужен код определения поискового запроса на JavaScript, то это всего десяток-другой строк. Разумеется, безо всяких внешних API, просто из реферера.
Определяет переходы с 4 популярных поисковиков, можете добавить и другие по аналогии: фрагмент домена и параметр, в котором находится запрос.
Спасибо за ответ. Может быть Вы знаете? Если посетители идут с поисковой выдачи google.ru/, почему не отслеживаются поисковые фразы?
Потому что Гугл сам специально подменяет реферер на такой, в котором вырезана поисковая фраза. Либо на простой https://www.google.ru/, либо на длинный с параметрами, в которых нет поисковой фразы.
---------- Добавлено 23.10.2013 в 21:03 ----------
Гугл начал повсеместно внедрять в свою органическую выдачу протокол https, а при переходе с сайта, поддерживающего https на обычный http сайт, рефер, а соответственно, и поисковый запрос, не передаётся.
Вы путаете две разных проблемы.
Проблема не в переходе https->http. Проблема в вырезании Гуглом поискового запроса из параметров. При переходе с Гугла есть реферерер. В реферере нет поискового запроса.
При переходе с поисковой выдачи Гугл сам ставит реферер https://www.google.ru/
В тех браузерах, в которых может поставить (например, Chrome).
В связи с засильем Not Provided возник такой вопрос - а если перевести свой ресурс на протокол htttps , будет ли передаваться реферер?
Реферер передается почти всегда. Не передается и не будет передаваться поисковый запрос в реферере.
и это мои 30% получается?
У вас что, 100% поисковых переходов с Гугла?
Гугл всех отправляет на свою https-версию, жесткий редирект с http. А при переходе с https-страниц Гугл убирает из адреса поисковый запрос. Остались только какие-то очень редкие частные случаи, когда редирект не делается.
Поэтому никакие системы статистики не могут определить поисковый запрос при переходе с Гугла, можно определить только то, что это переход с Гугла.
Т.е. все пользователи ЖЖ обделены лайвинтернетом? Вот этот новость :)
Если не нужна информация, откуда переходят на дневник, а достаточно только информации об объемах посещаемости, то можно пользоваться и liveinternet'ом. Для ЖЖ выдается простой код без JavaScript.
Ничем, наверное :)
А если нужна информация о ссылающихся страницах, то Google Analytics.
LiveJournal запрещает пользователям устанавливать код с javascript. Вы никак не сможете получать информацию о ссылающихся страницах при самостоятельной установке любого счетчика.
Можете воспользоваться подключаемым непосредственно через LJ Google Analytics.
http://www.liveinternet.ru/help/group.html
Но для какого региона обозначены эти позиции?
Для Москвы.