Блог начинающего SEO оптимизатора » Перелинковка DLE по НЧ запросам

Перелинковка DLE по НЧ запросам

Июль 30, 2011 | SEO, Wordpress


Доброго времени суток! Поздравляю с очередным апом тиц которого ждали аж 3 месяца :) Я уже пол года никаких действий по повышению его не делаю поэтому у меня без изменений. Мне больше нравиться работать с трафиком. Во первых это интереснее скучной продажи ссылок, а во вторых более стабильный способ монетизации, если не считать арбитраж трафика. К примеру сапа сайты начинают приносить прибыль после создания после полугода существования + затраты на тиц, а  сайт сделанный под трафик примерно уже через месяц.

Сайт с посещаемостью в 1000 человек  сутки, приносит в день 50 — 100 рублей в день. Стоят только тизеры ( (17-26 р.) и (14-24 р.)) и ротатор баннеров разных платников (~50 р.). Раньше еще стоял ,  цены за клик мне очень нравилась, но часто тизеры просто не отображались — поэтому убрал. Они меняли код, поэтому можешь чего изменилось, позже попробую подружиться с ними опять.

Опущу момент сбора  запросов и подбора к ним релевантных страниц, каждый это делает по разному. Я пользуюсь программой Key Collector. В конце работы с ней получаю файл с готовыми ссылками и анкорами к ним. Остаеться их только разместить. Раньше пользовался плагином к  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.»}. Можно заменить вывод похож новостей, все равно бесполезная штука.
Вроде ничего не забыл, если чего спрашивайте.
Скачать архив со всеми файлами из статьи можно по этой ссылке -> СКАЧАТЬ

 

Предлагаю обзор программ, на устройствах с android просмотр doc проще некуда!

Tags: , , ,







Comments (6)

 

  1. :

    Хорошая статья, спасибо. Сегодня попробую на денвере посмотрим что получиться. Отпишусь здесь

  2. :

    Что то, не хочет работать. Вывод написан не правильно {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

  3. Андрей:

    Так я не понял.
    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.

  4. :

    Сыроват немного модуль, но идея в полне нормальная, прийдется чуть допилить.