Поддержка Плагины Плагин для внутренней перилинковки по списку ключевик

  • Ну какого его не создали до сих пор??? все какие то карявые плагины перелинковки…у кого есть нормальный плагин который по ключевикам линкует?

    нашел один но и он не доработаный http://adne.info/adnelink/

    кто знает как хотя бы этот плагин обучить не собирать ссылки со всех постов? как к примеру сделать так чтобы он собирал свободные посты из заданных меток через запятую, хотя бы такое решение помогло бы…

    сам код плагина

    <?php
    /*
    Plugin Name: Adnelink
    Plugin URI: http://adne.info/adnelink/
    Description: Плагин для перелинковки под трафик
    Author URI: http://adne.info
    Author: Alexander Hodinar
    Version: 1.9
    */
    //функция перелинковки
    function get_adnelink_do(){
    print "<h1>Adnelink - перелинковка под трафик от <a target=_blank href=http://adne.info>adne.info</a></h1><br><br>";
    global $table_prefix;
    if(isset($_POST['g'])) {
    $r=$_POST['r'];
    $k=$_POST['k'];
    $g=$_POST['g'];
    if($g == 1) {
    //сколько у нас свободных линков
    $query = "SELECT sum(<code>pred</code>-<code>is</code>) FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code>"; $resul = mysql_query($query); $ir = mysql_fetch_array($resul); $nl= $ir['sum(<code>pred</code>-<code>is</code>)'];
    //сколько у нас свободных постов?
    $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>links</code> = ''"; $res = mysql_query($query); $n = mysql_num_rows($res);
    if($n != 0) {
    if($nl != 0) {
    //ограничитель
    if($k == "") { $k=ceil($nl/$n); }
    while ($row = mysql_fetch_assoc($res)) { $bl="";
    $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code> LIMIT ".$k;
    $rem = mysql_query($query); $number = mysql_num_rows($rem);
    if ($number != 0) {
    while ($rom = mysql_fetch_assoc($rem)) {
    $blu=urlencode($bl);$str = urlencode($rom['url']);$strt = urlencode($rom["text"]);
    if (!((preg_match ("/".$str."/i", $blu)) OR (preg_match ("/".$strt."/i", $blu)))) {
    $pl=get_permalink($row["pid"]); if ($pl != $rom["url"]) {
    $bl=$rom["html"].$r.$bl; $id=$rom["id"]; mysql_query("UPDATE <code>&quot;.$table_prefix.&quot;adnelinks</code> SET <code>is</code>=<code>is</code>+1 WHERE <code>id</code>=".$id." LIMIT 1;");
    }}}}
    mysql_query("UPDATE <code>&quot;.$table_prefix.&quot;adnelink</code> SET <code>links</code> ='".$bl."' WHERE <code>id</code> ='".$row["id"]."' LIMIT 1 ;");
    }
    print "Перелинковка сделана";
    } else { print "Нет неиспользованных ссылок для перелинковки"; }
    } else { print "Нет свободных постов для перелинковки"; }
    }
    if($g == 2) {
    $sql = "TRUNCATE <code>&quot;.$table_prefix.&quot;adnelink</code>"; mysql_query($sql);
    $sql = "TRUNCATE <code>&quot;.$table_prefix.&quot;adnelinks</code>"; mysql_query($sql);
    print "Ссылки удалены";
    }
    
    if($g == 3) {
    $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>pid</code> ='".$r."' LIMIT 1"; $rem = mysql_query($query);
    while ($row = mysql_fetch_assoc($rem)) {
    $links=$row["links"];
    print"<form method=post><input name=g type=hidden value=4><input name=r type=hidden value=$r>Редактировать блок ссылок:<br>
    <textarea name=k cols=100 rows=20>".$links."</textarea>
    <br><input type=submit value=\"Сохранить\"></form>";
    }
    }
    if($g == 4) {
    mysql_query("UPDATE <code>&quot;.$table_prefix.&quot;adnelink</code> SET <code>links</code> ='".$k."' WHERE <code>pid</code> ='".$r."' LIMIT 1 ;");
    print "Изменения сохранены";
    }
    
    if($g == 5) {
    if (!mysql_query("SELECT * FROM <code>&quot;.$table_prefix.&quot;adnelink</code>")){
    $sql="CREATE TABLE IF NOT EXISTS <code>&quot;.$table_prefix.&quot;adnelink</code> (
      <code>id</code> int(10) NOT NULL auto_increment,
      <code>pid</code> int(10) NOT NULL,
      <code>links</code> text NOT NULL,
       PRIMARY KEY  (<code>id</code>)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0";
    mysql_query($sql);
    }
    if (!mysql_query("SELECT * FROM <code>&quot;.$table_prefix.&quot;adnelinks</code>")){
    $sql="CREATE TABLE IF NOT EXISTS <code>&quot;.$table_prefix.&quot;adnelinks</code> (
      <code>id</code> int(10) NOT NULL auto_increment,
      <code>url</code> varchar(1000) NOT NULL,
      <code>text</code> varchar(1000) NOT NULL,
      <code>html</code> varchar(4000) NOT NULL,
      <code>is</code> int(10) NOT NULL,
      <code>pred</code> int(10) NOT NULL,
       PRIMARY KEY  (<code>id</code>)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0";
    mysql_query($sql);
    }
    //соберём кеи
    $link = file(dirname( __FILE__ ) . '/links.txt');
    $links = array_unique($link);
    $nl = sizeof($link);
    //заливаем в базу кеи
    for($i = 0; $i < $nl; $i++) {
    $links[$i]=str_replace("\"","", $links[$i]);
    $m=explode(";", $links[$i]);
    $m[1]=trim($m[1]);
    if ($m[1] != "") {
    $lk ="<a href=\"$m[1]\" title=\"$m[0]\">$m[0]</a>";
    //проверяем на уникальность html кода
    $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>html</code> = '".$lk."'";
    $res = mysql_query($query); $number = mysql_num_rows($res);
    if ($number == 0) {
    if ($m[2] == "") {$m[2]=1;}
    $sql="INSERT INTO ".$table_prefix."adnelinks (<code>text</code>, <code>url</code>, <code>html</code>, <code>is</code>, <code>pred</code>) VALUES ('".$m[0]."', '".$m[1]."', '".$lk."', 0, '".$m[2]."')"; mysql_query($sql);
    } } }
    //записываем ID всех опубликованных постов
    $sql = "SELECT * FROM  <code>&quot;.$table_prefix.&quot;posts</code> WHERE  <code>post_status</code> =  'publish' AND <code>post_type</code> =  'post'"; $result = mysql_query($sql);
    while($data = mysql_fetch_array($result)) {
    //проверяем на дубликаты постов
    $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>pid</code> = '".$data[ID]."'";
    $res = mysql_query($query); $number = mysql_num_rows($res);
    if ($number == 0) {
    $sql="INSERT INTO ".$table_prefix."adnelink (<code>pid</code>) VALUES ('".$data[ID]."')"; mysql_query($sql);
    } }
    //сколько у нас свободных линков
    $query = "SELECT sum(<code>pred</code>-<code>is</code>) FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code>"; $resul = mysql_query($query); $ir = mysql_fetch_array($resul); $nl= $ir['sum(<code>pred</code>-<code>is</code>)'];
    if ($nl == "") { $nl=0; }
    $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code>"; $res = mysql_query($query); $nlr = mysql_num_rows($res);
    //сколько у нас свободных постов?
    $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>links</code> = ''"; $res = mysql_query($query); $n = mysql_num_rows($res);
    if ($n > 0) { $k=ceil($nl/$n); } else { $k=0; }
    print "Неиспользованных ссылок: $nl из них разных: $nlr<br>
    Готовых к перелинковке постов: $n<br>
    <br><br>
    <form method=post><input name=g type=hidden value=1>
    Максимальное количество ссылок на пост: <input name=k size=5 type=text> - если ничего не указывать, то плагин разделит ссылки поровну между постами, округлит результат, в результате ссылок на пост =< $k.
    <br>Разделитель ссылок: <input name=r size=5 type=text value=\", \">
    <br><br><input type=submit value=\"Перелинковать\"></form>
    <br><br><hr>
    ";
    }
    
    }
    print "<form method=post><input name=g type=hidden value=5><input type=submit value=\"Собрать данные для перелинковки\"></form>
    <br><br><form method=post><input name=g type=hidden value=2><input type=submit value=\"Удалить ссылки\"></form>
    <br><br><form method=post><input name=g type=hidden value=3>Редактировать блок ссылок в посте ID<input name=r size=5 type=text><input type=submit value=\"Редактировать\"></form>
    <br><br><hr>";
    print "<b>Автоматизация</b>: ";
    $av=get_option('adnelink_av');
    if ($av != 1) {print "<font color=red>выключена</font>";} else {print "<font color=green>включена</font>";}
    print "
    <br><br>Здесь можно настроить автоматическую простановку ссылок в новых постах. Предварительно добавьте ссылки в базу данных из links.txt - кнопка \"Собрать данные для перелинковки\" - выше.<br>
    <form method=post action=options.php>"; wp_nonce_field('update-options');
    print "Сколько ссылок ставим в каждом новом посте: <input type=text name=adnelink_ak size=5 value=\"";
    echo get_option('adnelink_ak');
    print "\"><input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_ak>
    <input type=submit value=Сохранить></form>";
    print "<form method=post action=options.php>"; wp_nonce_field('update-options');
    print "Разделитель ссылок: <input type=text name=adnelink_ar value=\"";
    echo get_option('adnelink_ar');
    print "\"><input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_ar>
    <input type=submit value=Сохранить></form>";
    print "<form method=post action=options.php><input name=g type=hidden value=6>"; wp_nonce_field('update-options');
    if ($av != 1) {print "<input type=hidden name=adnelink_av value=1>";} else {print "<input type=hidden name=adnelink_av value=0>";}
    print "<input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_av>";
    if ($av != 1) {print "<input type=submit value=Включить>";} else {print "<input type=submit value=Выключить>";}
    print "</form>
    <br><br><hr>";
    print "<b>Дополнительные настройки</b><br><br><form method=post action=options.php>"; wp_nonce_field('update-options');
    print "Текст перед ссылками: <input type=text name=adnelink_btext value=\"";
    echo get_option('adnelink_btext');
    print "\"><input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_btext><input type=submit value=Сохранить></form>";
    print "<br><br><br><br><hr>
    Свежие новости о плагине читайте на странице плагина <a target=_blank href=http://adne.info/adnelink/>adne.info/adnelink/</a><br>
    <a href=http://adne.info/adne-info/>Лучшие посты блога adne.info</a> | <a href=http://adne.info/kupit-trafik/>Купить трафик</a> | <a href=http://adne.info/partnyorskie-programmyi/>Партнёрские программы</a>
    <script src=\"http://feeds.feedburner.com/adne?format=sigpro\" type=\"text/javascript\"></script>
    P.S.: Обратите внимание на <a href=http://adne.info/skript-izbirnet/>движок социальных голосований Избирнет</a> - отличная возможность получать трафик и ссылки с социальных сетей и твиттера.
    ";
    }
    //функция вывода ссылок
    function adnelink(){
    global $table_prefix;
    global $wp_query; $postid = $wp_query->post->ID;
    $sql = "SELECT * FROM <code>&quot;.$table_prefix.&quot;adnelink</code> WHERE <code>pid</code> =  ".$postid;
    $result = mysql_query($sql); $array = mysql_fetch_array($result);
    if ($array[links] != "") {$btext=get_option('adnelink_btext'); print "$btext$array[links]";}
    }
    function adnelink_menu(){
    add_options_page('Adnelink - перелинковка под трафик', 'Adnelink', 10, basename(__FILE__), 'get_adnelink_do');
    }
    function adneavlink( $post_ID ){
    $av=get_option('adnelink_av'); if ($av == 1) {
    global $table_prefix;
    $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>pid</code> = '".$post_ID."'"; $res = mysql_query($query); $n = mysql_num_rows($res); if ($n == 0) {
    $k=get_option('adnelink_ak');
    $r=get_option('adnelink_ar');
    $bl="";
    $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code> LIMIT ".$k;
    $rem = mysql_query($query); $number = mysql_num_rows($rem);
    if ($number != 0) {
    while ($rom = mysql_fetch_assoc($rem)) {
    $blu=urlencode($bl);$str = urlencode($rom['url']);$strt = urlencode($rom["text"]);
    if (!((preg_match ("/".$str."/i", $blu)) OR (preg_match ("/".$strt."/i", $blu)))) {
    $bl=$rom["html"].$r.$bl; $id=$rom["id"]; mysql_query("UPDATE <code>&quot;.$table_prefix.&quot;adnelinks</code> SET <code>is</code>=<code>is</code>+1 WHERE <code>id</code>=".$id." LIMIT 1;");
    }}}
    $sql="INSERT INTO ".$table_prefix."adnelink (<code>pid</code>, <code>links</code>) VALUES ('".$post_ID."', '".$bl."')"; mysql_query($sql);
    }
    }
    }
    add_action('admin_menu', 'adnelink_menu');
    add_action('publish_post', 'adneavlink');
    ?>
Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Ну какого его не создали до сих пор?

    Авторы бесплатных плагинов обычно пишут только то, что нужно лично им (выкладывая в открытый доступ на случай, если пригодится кому-то ещё).

    у кого есть нормальный плагин который по ключевикам линкует?

    Эти уже попробовали?
    http://wordpress.org/plugins/automatic-seo-links/
    http://wordpress.org/plugins/seo-automatic-links/
    http://wordpress.org/plugins/seo-auto-linker/
    http://wordpress.org/plugins/seo-internal-links/

    именно о таких уг плиганах и идет речь, мне не надо чтобы они искали ключевое слово в тексте, мне нужен нормальный сео плагин вида вывода как в сапе к примеру, не контекст, контекстные ссылки я проставляю вручную, для плагина перелинковки статей использую yarp но нужен другой котрый линкует по ключевикам из вордстата

    вставляется пхп код вызова, в нужное место, а сам плагин парсит посты и запоминает их айди и проставляет сылки……хранит все это дело в своей таблице, ну и нужна гибкая настройка хотябы чтобы указать из каких меток собирать свободные посты……

    я просто в шоке, за все время существования не создали ни одного фришного достойного плагина……htracer вроде существет но он платный и там вроде бы то что мне нужно существует в виде дополнения……

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Плагин для внутренней перилинковки по списку ключевик» закрыта для новых ответов.