|
|
|
|
|
|
для: cheops
(19.07.2005 в 00:41)
| | Таки напортачил малость: сгоряча убрал условие $search != "own_site" и строчку if(strpos($reff,$_SERVER["SERVER_NAME"])) $search = 'own_site';
Уже понял что был неправ:) Вернул все назад:
<?
if(!empty($reff) && $search="none")
{
$query_reff = "INSERT INTO refferer VALUES (
0,
'$reff',
now(),
INET_ATON('$ip'),
$id_page)";
@mysql_query($query_reff);
}
//вносим поисковый запрос в соответствующую таблицу
if($search!="none" && $search != "own_site")
{
switch($search)
?>
|
ну и далее... | |
|
|
|
|
|
|
|
для: Loki
(19.07.2005 в 00:38)
| | Завтра на свежую голову за него возьмусь :))) | |
|
|
|
|
|
|
|
для: Loki
(18.07.2005 в 22:51)
| | Короче, добавил новую таблицу. Структура:
CREATE TABLE 'searchquerys' (
'quer_id' int(11) NOT NULL auto_increment,
'query' tinytext NOT NULL,
'putdate' datetime NOT NULL default '0000-00-00 00:00:00',
'ip' bigint(20) NOT NULL default '0',
'id_page' int(11) NOT NULL default '0',
'searches' enum('yandex','google','rambler','aport','mail','msn') NOT NULL default 'yandex',
PRIMARY KEY ('quer_id')
) type=MyISAM;
|
В прикрепленном файле исправленные файлы.
Файл srchtransfer.php перегоняет поисковые запросы в созданную таблицу.
ВНИМАНИЕ! данный файл в процессе работы изменяет структуру таблицы refferers (убирает последний столбец).
Осталось только написать статистику поисковых запросов, но это должно быть не сложно:)
Cheops, посмотрите в count.php не напортачил ли я с условиями? | |
|
|
|
|
|
|
|
для: Loki
(14.07.2005 в 14:08)
| | Прикрутил к count.php следующий код:
<?//вносим поисковый запрос в соответствующую таблицу
if(!empty($search) && $search != "own_site")
{
switch($search)
{
case 'yandex':
{
eregi("text=([^&]*)", $reff."&", $query);
if(strpos($reff,"yandpage")!=null)
$quer=convert_cyr_string(urldecode($query[1]),"k","w");
else
$quer=$query[1];
break;
}
case 'rambler':
{
eregi("words=([^&]*)", $reff."&", $query);
$quer=$query[1];
break;
}
case 'mail':
{
eregi("q=([^&]*)", $reff."&", $query);
$quer=$query[1];
break;
}
case 'google':
{
eregi("q=([^&]*)", $reff."&", $query);
$tmpstr = utf8_win($query[1]);
$quer=$tmpstr;
break;
}
case 'msn':
{
eregi("q=([^&]*)", $reff."&", $query);
$tmpstr = utf8_win($query[1]);
$tmpstr;
break;
}
case 'aport':
{
eregi("r=([^&]*)", $reff."&", $query);
$quer=$query[1];
break;
}
}//конец для switch
$sql="INSERT INTO searchquerys VALUES (0, '$quer', now(), '$ip', $id_page, '$search')";
@mysql_query($sql);
?>
|
Стурктура таблицы, думаю, ясна.
Сейчас набросаю скрипт для трансформации таблицы refferer в поисковые запросы, после чего, буду переделывать скрипт статистики запросов, а потом - делать отчет по статистике поисковых слов. | |
|
|
|
|
|
|
|
для: cheops
(14.07.2005 в 12:59)
| | Думаю, завести отдельную таблицу следующей структуры:
id
query
putdate
searcher
Чтобы можно было выводить эту статистику за разные промежутки времени.
Вот только надо будет прогонять запросы через регулярное выражение, так как в них частенько встречаются скобки, плюсы и прочее... а после того как это все заменено на пробелы, надо еще убедиться что они не дублируются:) | |
|
|
|
|
|
|
|
для: Loki
(14.07.2005 в 09:23)
| | >Думаю взяться за статистику поисковых запросов.
Это было бы здорово.
>определиться как ее реализовать: по поисковым словам или по
>поисковым фразам. Думаю, надо делать по фразам целиком: так
>как запросы с разным порядком следования слов имеют разную
>релевантность.
Да так будет лучше, плюс ко всему это снижает нагрузку при обработке каждой из фраз - не нужно разрезать и осуществлять множественное сравнение. | |
|
|
|
|
|
|
|
для: Loki
(11.07.2005 в 12:05)
| | Cheops, так а чем, собственно, можно помочь?
Думаю взяться за статистику поисковых запросов. Только надо определиться как ее реализовать: по поисковым словам или по поисковым фразам. Думаю, надо делать по фразам целиком: так как запросы с разным порядком следования слов имеют разную релевантность. | |
|
|
|
|
 7 Кб |
|
|
для: cheops
(11.07.2005 в 00:47)
| | В count.php еще сделана проверка на изменение названия. То есть если название страницы изменилось, а адрес - нет, то в базе заменяется название, а id остается прежним.
И еще нужная вестч: сделал чтобы можно было просмотреть уже отфильтрованные реффереры за выбранный период (например, зашло ко мне с софттайма за вчера 3 человека, а в таблице не видно с каких именно адресов они зашли. Дополнительный файлк reff.php позволяет это посмотреть).
Ну и до кучи, уже упоминал, что Фильтры отображаются не по содержанию, а по названиям. То есть можно задать фильтр narod.ru/?id=01510146, а в названии написать Гостевая Васи Пупкина. Удобно. | |
|
|
|
|
|
|
|
для: Loki
(10.07.2005 в 23:06)
| | А да, 5 периодов на главной странице нужно... возмём :))) title введём пожалуй, но сделаем по хитрому - будем его в перменной name держать - те страницы, у которых он имеется, будут называться по title, а те у которых title нет по старинке - это позволит безболезненно переехать на новые рельсы. | |
|
|
|
|