Перелинковка DLE по НЧ запросам
Июль 30, 2011 | SEO, Wordpress
Доброго времени суток! Поздравляю с очередным апом тиц которого ждали аж 3 месяца Я уже пол года никаких действий по повышению его не делаю поэтому у меня без изменений. Мне больше нравиться работать с трафиком. Во первых это интереснее скучной продажи ссылок, а во вторых более стабильный способ монетизации, если не считать арбитраж трафика. К примеру сапа сайты начинают приносить прибыль после создания после полугода существования + затраты на тиц, а сайт сделанный под трафик примерно уже через месяц.
Сайт с посещаемостью в 1000 человек сутки, приносит в день 50 — 100 рублей в день. Стоят только тизеры ( (17-26 р.) и (14-24 р.)) и ротатор баннеров разных платников (~50 р.). Раньше еще стоял , цены за клик мне очень нравилась, но часто тизеры просто не отображались — поэтому убрал. Они меняли код, поэтому можешь чего изменилось, позже попробую подружиться с ними опять.
Опущу момент сбора НЧ запросов и подбора к ним релевантных страниц, каждый это делает по разному. Я пользуюсь программой Key Collector. В конце работы с ней получаю файл с готовыми ссылками и анкорами к ним. Остаеться их только разместить. Раньше пользовался плагином к DLE autoseo 2.0, он же «Авто продвижение по НЧ«. Но из-за ряда причин и проблем с ним пришлось отказаться. Все альтернативы что нашел в сети мне не подошли и я решил сделать немного по своему (и наверное топорно, но работает и просто).
Сам скрипт я подсмотрел в блоге adne.info в статье. Проблема только в том что там сделано для wordpress и одна ссылка на одной странице. Пришлось немного подумать.
Итак сначала создаем таблицу в бд DLE
CREATE TABLE `dle_perelink` ( `id` int(255) NOT NULL, `url` varchar(200) NOT NULL, `link1` varchar(1000) NOT NULL, `link2` varchar(1000) NOT NULL, `link3` varchar(1000) NOT NULL, `link4` varchar(1000) NOT NULL, `link5` varchar(1000) NOT NULL ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251;
Не забудем сменить кодировку если у вас DLE работает на utf8. Таблица простая, в поле url будет ссылка на страницу где будут отображаться ссылки из полей link1, link2 и т.д.
Теперь приступаем к наполнению нашей таблицы данными. Вот скрипт
<? $hostname = "localhost"; $username = "root"; $password = "pass"; $dbName = "vashaDB"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); $links = file("links.txt"); $li=0; $sql = "SELECT * FROM `dle_post`"; $result = mysql_query($sql); while($data = mysql_fetch_array($result)) { $id=$data[id]; $alt=$data[alt_name]; $url="http://domain.ru/$id-$alt.html"; $sql="INSERT INTO dle_perelink (`id`,`url`, `link1`, `link2`, `link3`, `link4`, `link5`) VALUES('".$data[id]."','".$url."', '".$links[$li]."', '".$links[$li+1]."', '".$links[$li+2]."', '".$links[$li+3]."', '".$links[$li+4]."')"; mysql_query($sql); $li++; } echo "Информация занесена в базу данных."; mysql_close(); ?>
Небольшие пояснения. Указываем ваши данные для подключения к БД DLE. Рядом со скриптом должен лежать файл links.txt с вашими ссылками в формате.
<a href="http://domain.ru/95-title.html">текст</a> <a href="http://domain.ru/72-title.html">текст</a> <a href="http://domain.ru/69-title.html">текст</a>
Если вы убрали id поста из ссылки, работать не будет. В первоначальном скрипте привязка ссылок идет к id поста на вордпрессе и последующий вывод из по id поста. Я не нашел как это сделать в DLE, поэтому сделал по принципу который первый пришел на ум. Сделал проверку урла страницы и если найдено соответствие к ней в БД, последующий вывод ссылок. Если кто предложит что попроще, я буду рад.
Не забываем поменять domain.ru на ваш. Так же если в базе за место кириллицы будут знаки вопроса вставляем в скрипт
mysql_query ("set character_set_client='cp1251'"); mysql_query ("set character_set_results='cp1251'"); mysql_query ("set collation_connection='cp1251_general_ci'");
Кодировку меняем на свою. Ну и сам вывод ссылок
<? $a=$_SERVER['REQUEST_URI']; $b="http://domain.ru$a"; $hostname = "localhost"; $username = "root"; $password = "pass"; $dbName = "vashaDB"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); mysql_query ("set character_set_client='cp1251'"); mysql_query ("set character_set_results='cp1251'"); mysql_query ("set collation_connection='cp1251_general_ci'"); $sql = "SELECT * FROM `dle_perelink` WHERE '".$b."' = `url`"; $result = mysql_query($sql); $array = mysql_fetch_array($result); print $array[link1]; print "<br>"; print $array[link2]; print "<br>"; print $array[link3]; print "<br>"; print $array[link4]; print "<br>"; print $array[link5]; mysql_close(); ?>
На правильность кода я не претендую и что тем кто использует конструкцию типа »SELECT * FROM нужно бить палками по рукам знаю.
Теперь открываем файл fullstory.tpl в папке с вашим шаблоном. Вставляем {include file=»путьдонашегоскрипта/links.php»}. Можно заменить вывод похож новостей, все равно бесполезная штука.
Вроде ничего не забыл, если чего спрашивайте.
Скачать архив со всеми файлами из статьи можно по этой ссылке -> СКАЧАТЬ
Предлагаю обзор программ, на устройствах с android просмотр doc проще некуда!
Tags: dle, php, НЧ, перелинковкаComments (6)
Хорошая статья, спасибо. Сегодня попробую на денвере посмотрим что получиться. Отпишусь здесь
Что то, не хочет работать. Вывод написан не правильно {include file=»путьдонашегоскрипта/linksout.php»}- linksout.php в место links.php(например кинул его в тему {include file=/links.php} — так должно выглядеть?). И куда этот файл из архива tosql.php
Web, все верно у меня ошибка сейчас исправлю. Конечно links.php должен быть.
по второму вопросу там просто путь до файла. положить его надо в папку с модулями.
{include file=»engine/modules/links.php»}
tosql.php нужен для наполнения базы ссылками. не важно куда, главное рядом с links.txt
Так я не понял.
1. Итак сначала создаем таблицу в бд DLE
Это заходим в PhpMyAdmin и вручную создаем ?
Куда класть links.php, tosql.php ?
Что вручную запускать что не вручную ….
Точно голову сожно сломать, неужели было трудно написать пару строчек пояснений в статье …
Приветствую Андрей!
1. тут как удобно, можно через PhpMyAdmin или другой аналогичной программой.
2. tosql.php можно положить в корень, после обработки links.txt с ссылками лучше его удалить или переименовать.
Links.php положить в engine/modules, соответственно там где будем выводить блок ссылок вставляем {include file=»engine/modules/links.php»} в вашем шаблоне.
Вручную запускается только tosql.php один раз чтобы ссылки из links.txt попали в mysql.
Сыроват немного модуль, но идея в полне нормальная, прийдется чуть допилить.