перелинковка dle по нч запросам Добро пожаловать на SEO Форум, все для вебмастера. Показано с 1 по 1 из 1 Тема: перелинковка dle по нч запросам
  1. 31.10.2011 13:24 #1 d1amant Супер-модератор Репутация0 Регистрация 23.10.2011 Сообщений 800 Поблагодарил(а) 0 Получено благодарностей: 1 (сообщений: 1). перелинковка dle по нч запросам Опущу момент сбора НЧ запросов и подбора к ним релевантных страниц, каждый это делает по разному. Я пользуюсь программой Key Collector. В конце работы с ней получаю файл с готовыми ссылками и анкорами к ним. Остаеться их только разместить. Раньше пользовался плагином к DLE autoseo 2.0, он же «Авто продвижение по НЧ«. Но из-за ряда причин и проблем с ним пришлось отказаться. Все альтернативы что нашел в сети мне не подошли и я решил сделать немного по своему (и наверное топорно, но работает и просто).
    Итак сначала создаем таблицу в бд DLE
    PHP код: 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 и т.д.

    Теперь приступаем к наполнению нашей таблицы данными. Вот скрипт
    PHP код: <?
    $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=$dataid;
    $alt=$dataalt_name;
    $url="http://domain.ru/$id-$alt.html";
    $sql="INSERT INTO dle_perelink (`id`,`url`, `link1`, `link2`, `link3`, `link4`,
     `link5`) VALUES('".$dataid."','".$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 с вашими ссылками в формате.
    PHP код: <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 на ваш. Так же если в базе за место кириллицы будут знаки вопроса вставляем в скрипт
    PHP код: mysql_query ("set character_set_client='cp1251'");
    mysql_query ("set character_set_results='cp1251'");
    mysql_query ("set collation_connection='cp1251_general_ci'"); 
    Кодировку меняем на свою. Ну и сам вывод ссылок
    PHP код: <?
    $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 $arraylink1;
    print "<br>";
    print $arraylink2;
    print "<br>";
    print $arraylink3;
    print "<br>";
    print $arraylink4;
    print "<br>";
    print $arraylink5;
    mysql_close();
    ?> На правильность кода я не претендую и что тем кто использует конструкцию типа »SELECT * FROM нужно бить палками по рукам знаю.

    Теперь открываем файл fullstory.tpl в папке с вашим шаблоном. Вставляем {include file="путьдонашегоскрипта/linksout.php"}. Можно заменить вывод похож новостей, все равно бесполезная штука.
    Вроде ничего не забыл, если чего спрашивайте.
    Автор статьи: Jester © Последний раз редактировалось d1amant; 31.10.2011 в 13:45. Ответить с цитированием
  2. 1 пользователь сказал cпасибо d1amant за это полезное сообщение: Вако (31.10.2011)

  Быстрый переход Форум для новичков SEO Вверх « Предыдущая тема | Следующая тема » Похожие темы
  1. Apple займется телевизорами по заветам Джобса от d1amant в разделе Apple Ответов: 0 Последнее сообщение: 28.10.2011, 23:06
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Back to top Powered by vBulletin®
Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.
Перевод: zCarot Текущее время: 12:16. Часовой пояс GMT +4.