LastQueries v1.1 - Сбор поисковых запросов

MSE

VIP
VIP
Прошёл марафон
Регистрация
2 Апр 2017
Сообщения
142
Реакции
4
Баллы
8
Для начала создадим новую таблицу в базе, где будем хранить список всех запросов. Для этого выполните запрос к вашей базе (через консоль или phpmyadmin):
Код:
CREATE TABLE IF NOT EXISTS `queries` (
`qid` int(10) NOT NULL auto_increment primary key,
  `query` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Теперь базу нужно наполнить запросами. Открываем /core/search.php, находим:
Код:
if ($results['tracks']){
и ВЫШЕ вставляем:
Код:
$sql = $conn->query("SELECT `qid` FROM `queries` WHERE `query` = '$query'");
if (!$sql->fetch_assoc()){
  $sql = $conn->query("INSERT INTO `queries` (`query`) VALUES ('$query')");
}
Логика работы очень проста - пробуем найти в базе такой поисковый запрос, если его нет - добавляем. Новый запрос будет добавляться каждый раз, при переходе на страницу трека или поиск через поисковую форму.

Ахтунг! На сайтах с посещаемостью, новые запросы будут добавляться очень быстро! Использовать аккуратно, так как может быть серьезная нагрузка на сервер.

Теперь можно сделать вывод последних запросов на сайте. Загружаем содержимое архива в корень сайта, открываем свой шаблон и в нужном месте вставляем:
Код:
{getLastQueries limit="10"}
{foreach $lastQueries as $searchQuery}
        <a class="pajax-link" href="/search/{$config.key}/{$searchQuery.query}/">{$searchQuery.query}</a>,
{/foreach}
limit="10" - как, наверное, вы догадались - это кол-во выводимых запросов.
Готово, ставим лойсы.
 

Вложения

Последнее редактирование модератором:

Artem

VIP
VIP
Регистрация
6 Апр 2017
Сообщения
167
Реакции
21
Баллы
28
А карту сайта на основе этого можно слепить как-то?)
 

MSE

VIP
VIP
Прошёл марафон
Регистрация
2 Апр 2017
Сообщения
142
Реакции
4
Баллы
8
@Artem, Ну могу слепить, за немного платно
 

seoal

VIP
VIP
Регистрация
19 Дек 2017
Сообщения
41
Реакции
10
Баллы
8
сколько будет стоить?
 
Последнее редактирование модератором:

Artem

VIP
VIP
Регистрация
6 Апр 2017
Сообщения
167
Реакции
21
Баллы
28
Присоединяюсь к вопросу
 

Rumiinn

VIP
VIP
Прошёл марафон
Регистрация
10 Май 2017
Сообщения
172
Реакции
46
Баллы
28
Для начала создадим новую таблицу в базе, где будем хранить список всех запросов. Для этого выполните запрос к вашей базе (через консоль или phpmyadmin):
Код:
CREATE TABLE IF NOT EXISTS `queries` (
`qid` int(10) NOT NULL auto_increment primary key,
  `query` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Теперь базу нужно наполнить запросами. Открываем /core/search.php, находим:
Код:
if ($results['tracks']){
и ВЫШЕ вставляем:
Код:
$sql = $conn->query("SELECT `qid` FROM `queries` WHERE `query` = '$query'");
if (!$sql->fetch_assoc()){
  $sql = $conn->query("INSERT INTO `queries` (`query`) VALUES ('$query')");
}
Логика работы очень проста - пробуем найти в базе такой поисковый запрос, если его нет - добавляем. Новый запрос будет добавляться каждый раз, при переходе на страницу трека или поиск через поисковую форму.

Ахтунг! На сайтах с посещаемостью, новые запросы будут добавляться очень быстро! Использовать аккуратно, так как может быть серьезная нагрузка на сервер.

Теперь можно сделать вывод последних запросов на сайте. Загружаем содержимое архива в корень сайта, открываем свой шаблон и в нужном месте вставляем:
Код:
{getLastQueries limit="10"}
{foreach $lastQueries as $searchQuery}
        <a class="pajax-link" href="/search/{$config.key}/{$searchQuery.query}/">{$searchQuery.query}</a>,
{/foreach}
limit="10" - как, наверное, вы догадались - это кол-во выводимых запросов.
Готово, ставим лойсы.
Для чего он нужен?
 
Последнее редактирование модератором:

Rumiinn

VIP
VIP
Прошёл марафон
Регистрация
10 Май 2017
Сообщения
172
Реакции
46
Баллы
28
Он нужен тем, кому он нужен. Если ты спрашиваешь, "для чего он нужен?", то он тебе не нужен.
Хороший ответ! это называется подскажи ближнему своему! Красава с Новым Годом!
 
Последнее редактирование модератором:

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
@Rumiinn, Предназначение хака, отражена в его названии - "Сбор поисковых запросов". Если ты не знаешь или не понимаешь, для чего это нужно, то для тебя, никакой пользы он не принесет.
 

Rumiinn

VIP
VIP
Прошёл марафон
Регистрация
10 Май 2017
Сообщения
172
Реакции
46
Баллы
28
@Rumiinn, Предназначение хака, отражена в его названии - "Сбор поисковых запросов". Если ты не знаешь или не понимаешь, для чего это нужно, то для тебя, никакой пользы он не принесет.
так это карта что ли?
 
Последнее редактирование модератором:

Rumiinn

VIP
VIP
Прошёл марафон
Регистрация
10 Май 2017
Сообщения
172
Реакции
46
Баллы
28
@Rumiinn, Предназначение хака, отражена в его названии - "Сбор поисковых запросов". Если ты не знаешь или не понимаешь, для чего это нужно, то для тебя, никакой пользы он не принесет.
Объясни для чегог это нужно!
 
Последнее редактирование модератором:

seoal

VIP
VIP
Регистрация
19 Дек 2017
Сообщения
41
Реакции
10
Баллы
8
@Rumiinn, хак выводит запросы, которые юзеры вводят через форму поиска
 

Artem

VIP
VIP
Регистрация
6 Апр 2017
Сообщения
167
Реакции
21
Баллы
28
@dr.gopher, можно и складчину. Как автор решит
 

Artem

VIP
VIP
Регистрация
6 Апр 2017
Сообщения
167
Реакции
21
Баллы
28
а скрипт проверяет на 404 ошибку прежде, чем добавить в базу?
 
Последнее редактирование модератором:

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
@Artem, У тебя 404 ошибки получаются?
 

Artem

VIP
VIP
Регистрация
6 Апр 2017
Сообщения
167
Реакции
21
Баллы
28
ну если не будет трека, который ищут, будет ошибка. Скрипт добавит этот запрос в базу?
 
Последнее редактирование модератором:

Seopirat

Admin
Команда форума
Приватовец
VIP
Прошёл марафон
Регистрация
21 Фев 2017
Сообщения
2.169
Реакции
1.556
Баллы
113
@Artem, Я не помню, где у скрипта обработка ошибок, попробуй и расскажи. Вроде бы, код добавляется после вывода ошибки, т.е. при ошибке, двиг вовсе не должен дойти до этого места.
 
Последнее редактирование модератором:
Сверху Снизу