перенаправление с дорвеев на Sutra, код на javascript
Модератор: Begemot
перенаправление с дорвеев на Sutra, код на javascript
Эти данные устарели.
На данный момент Sutra умеет сама парсить поисковый рефер и брать из него ключевую фразу и имя поисковика.
Подробнее читайте в документации Sutra в раделе "код для размещения на дорвее"
схема перенаправления с поисковика на "пункт назначения" такая:
(поисковик)->(дорвей)->(Sutra)->(пункт назначения)
Нашей задачей является следующее:
1. на дорвее узнать искомое ключевое слово (независимо от поисковика)
2. перенаправить посетителя с дорвея на Sutra передавая в параметре искомое ключевое слово из п.1.
на javascript.
После тщетных попыток найти готовый javascript для большинства поисковиков, я написал его сам. Код претендует на самый короткий существующий
Вот он:
<script>
var r=document.referrer,t="",q;
if(r.indexOf("google.")!=-1)t="q";
if(r.indexOf("msn.")!=-1)t="q";
if(r.indexOf("yahoo.")!=-1)t="p";
if(r.indexOf("altavista.")!=-1)t="q";
if(r.indexOf("aol.")!=-1)t="query";
if(r.indexOf("ask.")!=-1)t="q";
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
window.location="http://powertraff.biz/tds/in.cgi?10&par ... lit("&")[0];
</script>
PS: копирование кода на форум или другое публичное место, разрешено только при наличии ссылки на этот топик
На данный момент Sutra умеет сама парсить поисковый рефер и брать из него ключевую фразу и имя поисковика.
Подробнее читайте в документации Sutra в раделе "код для размещения на дорвее"
схема перенаправления с поисковика на "пункт назначения" такая:
(поисковик)->(дорвей)->(Sutra)->(пункт назначения)
Нашей задачей является следующее:
1. на дорвее узнать искомое ключевое слово (независимо от поисковика)
2. перенаправить посетителя с дорвея на Sutra передавая в параметре искомое ключевое слово из п.1.
на javascript.
После тщетных попыток найти готовый javascript для большинства поисковиков, я написал его сам. Код претендует на самый короткий существующий
Вот он:
<script>
var r=document.referrer,t="",q;
if(r.indexOf("google.")!=-1)t="q";
if(r.indexOf("msn.")!=-1)t="q";
if(r.indexOf("yahoo.")!=-1)t="p";
if(r.indexOf("altavista.")!=-1)t="q";
if(r.indexOf("aol.")!=-1)t="query";
if(r.indexOf("ask.")!=-1)t="q";
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
window.location="http://powertraff.biz/tds/in.cgi?10&par ... lit("&")[0];
</script>
PS: копирование кода на форум или другое публичное место, разрешено только при наличии ссылки на этот топик
Последний раз редактировалось Begemot Пн май 19, 2008 9:35 pm, всего редактировалось 3 раза.
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
Часа два сидел парился так как вобще не знаю джаву после долгих проб и ошибок получилось доработать
<script language="JavaScript">
var r=document.referrer,t="",q;
if(r.indexOf("google.")!=-1)t="q";
if(r.indexOf("msn.")!=-1)t="q";
if(r.indexOf("yahoo.")!=-1)t="p";
if(r.indexOf("altavista.")!=-1)t="q";
if(r.indexOf("aol.")!=-1)t="query";
if(r.indexOf("ask.")!=-1)t="q";
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
{
window.location="http://domen.com/in.cgi?10¶meter="+ ... lit("&")[0];
}
else
{
var so="cash";
window.location="http://domen.com/in.cgi?10¶meter="+so;
}
</script>
Если запрос не определен отправляет по запросу указанному в so
Надеюсь правильно зделал
<script language="JavaScript">
var r=document.referrer,t="",q;
if(r.indexOf("google.")!=-1)t="q";
if(r.indexOf("msn.")!=-1)t="q";
if(r.indexOf("yahoo.")!=-1)t="p";
if(r.indexOf("altavista.")!=-1)t="q";
if(r.indexOf("aol.")!=-1)t="query";
if(r.indexOf("ask.")!=-1)t="q";
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
{
window.location="http://domen.com/in.cgi?10¶meter="+ ... lit("&")[0];
}
else
{
var so="cash";
window.location="http://domen.com/in.cgi?10¶meter="+so;
}
</script>
Если запрос не определен отправляет по запросу указанному в so
Надеюсь правильно зделал
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
Вот еще вариант, позволяет видеть в статистике URL дора и поисковик с которого пришел серфер:
var r=document.referrer,u=document.URL,t="",q,se="gb";
if(r.indexOf("google.")!=-1){t="q";se="google";}
if(r.indexOf("msn.")!=-1){t="q";se="msn";}
if(r.indexOf("yahoo.")!=-1){t="p";se="yahoo";}
if(r.indexOf("altavista.")!=-1){t="q";se="altavista";}
if(r.indexOf("aol.")!=-1){t="query";se="aol";}
if(r.indexOf("ask.")!=-1){t="q";se="ask";}
if(r.indexOf("eureka.com.")!=-1){t="q";se="eureka.com";}
if(r.indexOf("lycos.com.")!=-1){t="query";se="lycos";}
if(r.indexOf("hotbot.com.")!=-1){t="MT";se="hotbot";}
if(r.indexOf("infoseek.com.")!=-1){t="qt";se="infoseek.com";}
if(r.indexOf("webcrawler.")!=-1){t="searchText";se="webcrawler";}
if(r.indexOf("excite.")!=-1){t="search";se="excite";}
if(r.indexOf("netscape.com.")!=-1){t="search";se="netscape";}
if(r.indexOf("mamma.com.")!=-1){t="query";se="mamma";}
if(r.indexOf("alltheweb.com.")!=-1){t="query";se="alltheweb.com";}
if(r.indexOf("northernlight.com.")!=-1){t="qr";se="northernlight.com";}
if(r.indexOf("rambler.ru.")!=-1){t="words";se="rambler.ru";}
if(r.indexOf("aport.ru.")!=-1){t="r";se="aport.ru";}
if(r.indexOf("yandex.ru.")!=-1){t="text";se="yandex.ru";}
if(r.indexOf("pingwin.ru.")!=-1){t="searchword";se="pingwin.ru";}
if(r.indexOf("www.ru.")!=-1){t="Str_Find";se="www.ru";}
if(r.indexOf("punto.ru.")!=-1){t="text";se="punto.ru";}
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
{
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER= ... lit("&")[0];
}
else
{
var so="{fid}";
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER= ... meter="+so;
}
Begemot , спасибо за терпение , софт просто отличный !
var r=document.referrer,u=document.URL,t="",q,se="gb";
if(r.indexOf("google.")!=-1){t="q";se="google";}
if(r.indexOf("msn.")!=-1){t="q";se="msn";}
if(r.indexOf("yahoo.")!=-1){t="p";se="yahoo";}
if(r.indexOf("altavista.")!=-1){t="q";se="altavista";}
if(r.indexOf("aol.")!=-1){t="query";se="aol";}
if(r.indexOf("ask.")!=-1){t="q";se="ask";}
if(r.indexOf("eureka.com.")!=-1){t="q";se="eureka.com";}
if(r.indexOf("lycos.com.")!=-1){t="query";se="lycos";}
if(r.indexOf("hotbot.com.")!=-1){t="MT";se="hotbot";}
if(r.indexOf("infoseek.com.")!=-1){t="qt";se="infoseek.com";}
if(r.indexOf("webcrawler.")!=-1){t="searchText";se="webcrawler";}
if(r.indexOf("excite.")!=-1){t="search";se="excite";}
if(r.indexOf("netscape.com.")!=-1){t="search";se="netscape";}
if(r.indexOf("mamma.com.")!=-1){t="query";se="mamma";}
if(r.indexOf("alltheweb.com.")!=-1){t="query";se="alltheweb.com";}
if(r.indexOf("northernlight.com.")!=-1){t="qr";se="northernlight.com";}
if(r.indexOf("rambler.ru.")!=-1){t="words";se="rambler.ru";}
if(r.indexOf("aport.ru.")!=-1){t="r";se="aport.ru";}
if(r.indexOf("yandex.ru.")!=-1){t="text";se="yandex.ru";}
if(r.indexOf("pingwin.ru.")!=-1){t="searchword";se="pingwin.ru";}
if(r.indexOf("www.ru.")!=-1){t="Str_Find";se="www.ru";}
if(r.indexOf("punto.ru.")!=-1){t="text";se="punto.ru";}
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
{
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER= ... lit("&")[0];
}
else
{
var so="{fid}";
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER= ... meter="+so;
}
Begemot , спасибо за терпение , софт просто отличный !
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
сорри, в строке:
var so="{fid}";
вместо {fid} можно указать любой кей по умолчанию, это у меня осталось от доргенерирования
будет вот так var so="casino";
var so="{fid}";
вместо {fid} можно указать любой кей по умолчанию, это у меня осталось от доргенерирования
будет вот так var so="casino";
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
Спасибо парни! отличный скрипт. А как сделать чтобы результат этого скрипта, тоесть то уже куда средиректит сутра отккрывался прямо во фрейме на доре, тоесть чтоб у серфера не менялось в адресной строке ничего. хелп ми.. спасибо
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
чуть позже напишу код
Последний раз редактировалось Begemot Ср июн 28, 2006 11:58 am, всего редактировалось 1 раз.
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
Скажите пожалуйста, как это реализовать ? Аналогично, нужно отображать "ответ" SUTRы в том же самом окне (на той же странице), возможно без фрейма..whitegold писал(а):Спасибо парни! отличный скрипт. А как сделать чтобы результат этого скрипта, тоесть то уже куда средиректит сутра открывался прямо во фрейме на доре, то есть чтоб у серфера не менялось в адресной строке ничего. хелп ми.. спасибо
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
окей, я написал более короткий код с комментариями,
он дает возможность видеть в статистике по реферам
урл дорвея + поисковик
наиболее удобный вариант как по мне:
если дор не рассчитан на русскую аудиторию, то можно укоротить код удалив строки с русскими поисковиками
не забудьте заменить
http://sutra.com/in.cgi
на ваш собственный урл сутры
он дает возможность видеть в статистике по реферам
урл дорвея + поисковик
наиболее удобный вариант как по мне:
Код: Выделить всё
r=document.referrer;u=document.URL;t="";se="unknown";
k="phentermine"; // кейворд по-умолчанию (вставляется при генерировании дор-генератором):
function a(c,d,e){if(r.indexOf(c)!=-1){t=d;se=e;}}
a("google.","q","google");
a("msn.","q","msn");
a("yahoo.","p","yahoo");
a("altavista.","q","altavista");
a("aol.","query","aol");
a("ask.","q","ask");
a("eureka.com.","q","eureka.com");
a("lycos.com.","query","lycos");
a("hotbot.com.","MT","hotbot");
a("infoseek.com.","qt","infoseek.com");
a("webcrawler.","searchText","webcrawler");
a("excite.","search","excite");
a("netscape.com.","search","netscape");
a("mamma.com.","query","mamma");
a("alltheweb.com.","query","alltheweb.com");
a("northernlight.com.","qr","northernlight.com");
a("rambler.ru.","words","rambler.ru");
a("aport.ru.","r","aport.ru");
a("yandex.ru.","text","yandex.ru");
a("pingwin.ru.","searchword","pingwin.ru");
a("www.ru.","Str_Find","www.ru");
a("punto.ru.","text","punto.ru");
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))k=r.substring(q+2+t.length).split("&")[0];
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+"&ur=1¶meter="+k;
// далее идут способы предоставления контента клиенту, раскомментируйте нужный способ
// 1) обычное перенаправление с дорвея:
window.location=g;
// 2) отображение ифрейма вместо перенаправления:
//document.write( "<iframe width=\"100%\" height=\"100%\" src=\""+g+"\"></iframe>" );
не забудьте заменить
http://sutra.com/in.cgi
на ваш собственный урл сутры
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
подскажите плз, как этот скрипт модифицировать таким образом чтобы редирект на фид шел через заданный параметр ($parameter), а в статистике (табл. Referers) отображалась такая строка
www.url-dora.com/tralala/phentermine.ht ... hentermine
где buy+cheap+phentermine это запрос, который задал юзвер на поисковике.
www.url-dora.com/tralala/phentermine.ht ... hentermine
где buy+cheap+phentermine это запрос, который задал юзвер на поисковике.
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
нужно вместо строкиMann писал(а):подскажите плз, как этот скрипт модифицировать таким образом чтобы редирект на фид шел через заданный параметр ($parameter), а в статистике (табл. Referers) отображалась такая строка
www.url-dora.com/tralala/phentermine.ht ... hentermine
где buy+cheap+phentermine это запрос, который задал юзвер на поисковике.
Код: Выделить всё
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+"&ur=1¶meter="+k;
Код: Выделить всё
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+";"+k.split("+").join("%20").split("%20").join("%2B")+"&ur=1¶meter=заданный_параметр";
Последний раз редактировалось Begemot Вс авг 06, 2006 9:51 pm, всего редактировалось 1 раз.
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
Хелп плз, я в яве не силен )! Я использую для передачи реферера строчку вида:
Если "+r.substring(q+2+t.length).split("&")[0]+" односложный запрос то все ок, в админке имеем реферер:
но при двухсловном и более запросе ( т.е. присутствует пробел ) например "free porn" реферер в админке имее вид:
т.е. режет по пробелу, помогите плиз решить трабл.
Код: Выделить всё
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+se+";"+r.substring(q+2+t.length).split("&")[0]+";"+u+"&ur=1¶meter="+escape(top.document.location);
Код: Выделить всё
google;porn;http://www.ref-url.com
Код: Выделить всё
google;free
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |
Mann, я отредактировал так как нужно было, смотри выше.
Kosmos, юзай строчку
при этом пробелы будут заменяться на "+" что, думаю, вполне устроит
Kosmos, юзай строчку
Код: Выделить всё
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+se+";"+r.substring(q+2+t.length).split("&")[0].split("+").join("%20").split("%20").join("%2B")+";"+u+"&ur=1¶meter="+escape(top.document.location);
Ссылка: | |
BBcode: | |
HTML: | |
Скрыть ссылки на пост |