Продолжаем оптимизировать сайт на WordPress

Продолжаем оптимизировать сайт на WordPressВ статье Плагин NSx Referers я начала рассказывать о том, как оптимизировать сайт под низкочастотные запросы в WordPress. В этой статье я продолжу и расскажу о том, как вывести под статьей поисковые запросы, по которым заходят люди.

Первым делом, я хочу заметить, что все, что будет описано ниже не работает без установки плагина NSx Referers. Так что в любом случае, сначала вернитесь к статье по ссылке, указанной выше.
Напоминаю, что этот плагин собирает данные о том, на какие страницы и по каким запросам приходят посетители на сайт. Давайте теперь выведем на странице со статьей только запросы, которые приводят к ней.
1. Заходим в панель администрирования — Внешний вид — Редактор и выбираем файл functions.php
В самый конец файла добавляем функцию
Codefunction getKeywords($url,$count,$text=’А так же ‘){
global $wpdb;
$url=str_replace(«адрес сайта»,»»,$url);
$ourkeys=$text;
$keys=$wpdb->get_results(«SELECT search FROM wp_referers WHERE url = ‘$url’ ORDER BY hits Desc LIMIT $count»);
foreach ($keys as $key) {
$ourkeys = $ourkeys.$key->search.’, ‘;
}
$ourkeys =substr($ourkeys, 0, strlen($ourkeys)-2);
return $ourkeys;
}

и сохраняем.
Дабы Вам было понятно, что мы делаем. Я распишу весь этот небольшой код
1.1. В wordpress все адреса запоминаются абсолютными, например, http://otlichnica.ucoz.ru/publ/20-1-0-3363 ,
а в таблице с поисковыми запросами wp_referers плагин NSx Referers запоминает относительные адреса, например, /publ/20-1-0-3363
Логично было бы внести корректировку в этот плагин. Но, полагаю, он будет развиваться и дальше, поэтому трогать его не будем. А просто вырежем из адреса адрес сайта
Code$url=str_replace(«http://otlichnica.ucoz.ru»,»»,$url);
1.2. Выведем начальный текст перед выводом самих слов
Code$ourkeys=’А так же ‘;
Можете заменить этот текст на что угодно.
1.3. Следующей строкой Мы как раз вытаскиваем из базы данных заданное количество ключевых фраз для текущей страницы. Количество фраз передается переменной $count
1.4 Codeforeach ($keys as $key) {
$ourkeys = $ourkeys.$key->search.’, ‘;
}
перебираем весь полученный массив и записываем его в строчку через запятую
1.5. Code$ourkeys =substr($ourkeys, 0, strlen($ourkeys)-2);
}
После пункта 1.4 мы получили строку, заканчивающуюся запятой и пробелом. Их надо обрезать. Что и делается функцией substr

Все , наша функция готова. Осталось ее вывести.
2. Для этого заходим в single.php и в удобное для Вас место (тут все зависит от шаблона) выводим вызов этой функции:
Code <?php $link=get_permalink(); echo getKeywords($link,10); ?> 

где $link — это и есть адрес поста, а 10 — количество запросов (можете поставить любое)
Все готово.
Удачи!

Комментарии на Facebook