Выводим несколько блоков Sape-ссылок на WordPress-сайте

20 октября 2007 г.

По известным причинам рекомендуется разделять блок ссылок, размещенных на сайте через систему SAPE, на несколько частей. Также желательно не помещать их в самом конце кода страницы.

О том, как разумнее организовать вывод сапе-ссылок, написал очень полезную статью Ильшат SAID Саетов - Оформление ссылок в Сапе. За это ему большая благодарность. Лично мне информация очень пригодилась, надеюсь, и Вам она тоже будет полезна.

Я хотел бы дополнить SAID’а, описав его способ вывода ссылок применительно к популярному движку WordPress.

Основная заминка возникает в случае, когда необходимо разделенные блоки поместить в разных файлах шаблона WordPress-сайта, например, в index.php и sidebar.php.

Предположим, что нам нужно разделить ссылки от Sape на 2 блока. Тогда код для первой части будет следующим:

  1. <?php
  2.   define('_SAPE_USER', 'blablablablablablablablablabla');
  3.   require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
  4.  
  5.   $o['charset'] = 'UTF-8';
  6.   $sape = new SAPE_client($o);
  7.   unset($o);
  8.  
  9.   $sape_links = $sape->return_links(3); //указываем количество ссылок в первом блоке
  10.  
  11.   global $sape_echo;
  12.   $sape_echo = $sape->return_links();
  13.  
  14.   if (strstr($sape_links, 'href')!==FALSE) //проверка наличия ссылок
  15.   { echo '
  16.  <ul id="sape1">
  17.    <li>';
  18.     echo $sape_links; //вывод ссылок (с разделителем)
  19.     echo '
  20.    </li>
  21.  </ul>
  22.  ';
  23.   }
  24.   else // если ссылок нет
  25.   {
  26.   echo $sape_links; //выводим только "список ссылок", то есть ничего
  27.   }
  28. ?>

Код для второй части ссылок:

  1. <?php
  2.   global $sape_echo;
  3.   if (strstr($sape_echo, 'href')!==FALSE) //проверка наличия ссылок
  4.   { echo '
  5.  <ul id="sape2">
  6.    <li>';
  7.     echo $sape_echo; //вывод ссылок (с разделителем)
  8.     echo '
  9.    </li>
  10.  </ul>
  11.  ';
  12.   }
  13.   else // если ссылок нет
  14.   {
  15.   echo $sape_echo; //выводим только "список ссылок", то есть ничего
  16.   }
  17. ?>

Вы должны понимать, что порядок вставки указанных php-кодов в шаблон должен соответствовать порядку вывода информации на страницу. Т.е., например, нельзя 1-й код разместить в sidebar.php, а 2-й в index.php, если сначала выводится инфо из index.php, а потом из sidebar.php.

После вставки всего этого чуда в Ваш WordPress-шаблон, можно пошаманить с CSS, чтобы привести получившиеся списки ссылок к благородному виду.

Желаю успехов.

автор: Dimox | рубрика WordPress | TrackBack

Комментарии (48): »

  1. вот. давно ждал пока кто-нибудь ясно это напишет. надо сделать в ближайшее время. спасибо

  2. Отлично! пригодится.

    @
  3. Странно делал так же и не получалось…
    Сейчас попробовал и все ОК. =)
    Спасибо!

  4. Я из-за того, что блоками не размещал ссылки от Sape в свое время попал в бан. Сейчас умнее, разбил и смешал все с дизайном сайта, подобным способом…

    @
  5. Всем пожалуйста.

    cross, я тоже постепенно переоформляю блоки. Вот только долго ли еще проживет сапа, неизвестно…

  6. Ужесточить проверку сайтов на “качество”, или проставить рамки тИЦ, PR, бэклинков… и Sape по праву будет самым качественным и долговечным линкообменным ресурсом рунета.

    Если уж на то пошло, ограничить количество проставляемых ссылок со страницы и упростить проверку ссылок на страницах для веб-мастеров - и поднимется качество обмена… Тут уже ничто не убьет ресурс.

    @
  7. Обьясните, пожалуйста, в каких именно случаях за размещение кода Сапе внизу сайта одним блоком Яша банит сайт?

    @
  8. Найс, на моей практике, к счастью, таких случаев не было. Но уже давно известно, что и Яндекс, и Гугл в этом отношении принимают меры. Повод для бана - это сам факт наличия внизу сайта данного блока.

  9. Спасибо за ответ. Надеюсь, и в моей практике такого не случится

    @
  10. Странно, что у кого-то это работает. Вы не учли одну вещь - с таким кодом сайт не проиндексируется роботом sape. Если в коде обнаружено, что ссылок для вывода нет (отсутствует href в строке) то всё равно вывод производить нужно, иначе робот не сможет получить sape-метку при индексации/переиндексации.

    @
  11. Wink, большое спасибо, что сказали об этом! В коде Ильшата было сделано именно так, как вы говорите, но я не сообразил, для чего это нужно и удалил.

    Теперь все сделал, как надо.

  12. Спасибо, то что надо.

    @
  13. В коде Ильшата было сделано именно так, как вы говорите, но я не сообразил, для чего это нужно и удалил.

    Теперь все сделал, как надо.
    А в первом сообщении код обновлён? Там всё ещё нужно что-то менять или нет?

    @
  14. Иван, я не понял про какое “первое сообщение” вы говорите. Сейчас в статье тот код, который должен был быть изначально. Этот вариант рабочий.

  15. 15
    строитель ( 1 год назад ) Ответить

    Поисковики тоже не стоят на месте ;-)

    @
  16. строитель, ты что имел ввиду?

    @
  17. Мне тож интересно этот код пашет. Вернее он выводит все как надо.
    Только не пропадет все если робот приползет на сайт?

    @
  18. acc, нет, не пропадет.

  19. Отличный код.Такой вопрос , как в низу сайта в подвал добавить часть ссыллок.?
    У меня они расползаются с права на лево. никие div не помогают .

    @
  20. 2 Dimox
    А что есть серьезные опасения, что сапа сдуется ?, точнее ее “сдуют” поисковики?

  21. Андрей, конечно. Это лишь вопрос времени. Ничто же не вечно.

  22. Спасибо за пост. Но я так понимаю, что это имеет смысл при 7 и более ссылках.
    Если 3-4 всего, то можно не заморачиватся.

    И ещё подскажи каким плагином к ворпресу выводишь “Другие статьи”

  23. PAIIITET, я бы разделил на 2 блока даже при наличии 3-4 ссылок.

    “Другие статьи” - http://blog.kmint21.com/2007/09/24/effective-internal-link-structure/

  24. Странно. Я вроде бы все сделал верно, но у меня теперь выводится… и после сообщения и в сайдбаре одна и та же ссылка… По идее они не должны же дублироваться? или я что-то не так понял?

    @
  25. Artem, дублироваться не должны. Видимо, ты что-то не так сделал.

  26. Dimox, все правильно.

    Это я, честно говоря, не перезалил файл сайдбара, поэтому и отображалось и там и там. Все проверил - заработало.

    Однако вопрос - стоит ли бить на несколько блоков - если всего три ссылки на страницу?

    @
  27. Ну вот, отлично :)

    Если у тебя есть куда поместить 2/3 блока, то лучше разбей. Дополнительная предосторожность не помешает.

  28. Спасибо за полезные инструкции!

  29. Спасибо за способ и за код.
    А по сколько Dimox советуешь ссылок а WordPress ставить.
    Я делаю так…
    1 - 8 ссылок
    2 - 6 ссылок
    3 - 5 ссылок

  30. Сейчас вообще надо разбавлять ссылки текстом. не надо из лепить даже по 2
    все яндексом баниться. Разносите их по странице как только можно.
    Вот пример кода
    return_links(1);
    $mysape1=$sape->return_links(1);
    $mysape2=$sape->return_links(1);
    $mysape3=$sape->return_links(1);
    $mysape4=$sape->return_links(1);
    $mysape5=$sape->return_links(1);
    $mysape6=$sape->return_links(1);
    $mysape7=$sape->return_links(1);
    $mysape8=$sape->return_links(1);
    $mysape9=$sape->return_links(1);
    $mysapes=$sape->return_links();
    ?>

    его пихаем в PHP файлик
    далее в нужном месте вставляем блок текста к примеру обьявление или файл плмощи.
    Далее в текст вставляет переменные по принципу

    @
  31. SanchezBoy, слишком много ты ссылок ставишь. Чем меньше, тем безопаснее. Я делаю так:

    1 - 2 ссылки
    2 - 2 ссылки
    3 - 1 ссылка

  32. Ого Dimox, но у тебя уже очень мало мне кажется)

  33. респект за статью

  34. У меня слава богу еще не забанили не одного сайта.
    Хотя везде по 15 ссылок стоит.
    Просто я каждую ссылочку загоняю в текст
    в итоге не видно даже что там ссылка.
    Зато ссылки разбавлены очень удобно.

    @
  35. Спасибо за ссылочку димокс. Был у саида на сайте, он просто молодец.

  36. Привет. Спасибо за статью. Вот только хотелось бы в 3 блока вывести. Не подскажите каким образом нужно поменять 2-ой блок? и как будет выглядеть 3-тий?

    @
  37. Monetnet, сначала в первой части кода нужно добавить еще пару строк:

    1. global $sape_echo2;
    2. $sape_echo2 = $sape->return_links();

    А дальше в 3-м месте вставить аналогичный код, как во второй части кода, заменив все $sape_echo на $sape_echo2.

    При этом в return_links() не забывайте указать правильное количество ссылок в соответствии с правилами сапы.

  38. На одном из своих сайтов установил код в 2 блока ( в index.php и sidebar.php. соответственно)
    Продаю по 5 ссылок с страницы. Поставил в первом блоке 2ссылки .

    Так вот, те ссылки, что должны быть в сайдбаре пишут статус error (ссылка не найдена на странице), т.е что-то не так :) А две ссылки в индекс.пхп отлично отображаются..
    Может быть есть догадки в чем проблема? Делал все как описано выше.
    Спасибо.

  39. Значит все-таки где-то есть ошибка в коде. Может быть неправильные переменные указаны в сайдбаре.

  40. Все, разобрался. Оказывается в моей теме сначала выводился

    1. <?php get_sidebar(); ?>

    а потом только содержимое index.php

    Статья очень помогла. Еще раз спасибо!

  41. Отлично. Рад, что разобрались.

  42. Что то не понимаю я, можно как-то скопировать этот чудо код без цифр, которые идут столбиком? (1. 2. 3. 4.) А то заколебался их удалять по одному.
    Заранее спасибо

  43. Dobrodoov, каким браузером пользуетесь? Вообще-то эти цифры не должны копироваться.

  44. наконецто получилось сделать всё так, как хотелось
    спасибо

  45. У меня тоже Яндекс пока начего не забанил, но бережёного…
    Спасибо за статью!

  46. Димокс , спасибо за инфу, но всё же - где желательно ( в коде ) размещать код сапы? между чем и чем ? Боюсь код подпортить
    И второе - это для контекстных ссылок ?

  47. Блогер, желательно, чтобы они были в коде как можно выше, где конкретно - решать вам.

    И второе - это для контекстных ссылок ?

    Нет, весь код - для обычных ссылок.

  48. Может у кого-то есть готовый код для разбивания на 3 блока, а то что-то у меня не получается…

    @

Оставьте комментарий

Помощь по добавлению кода и форматированию текста в комментарии:
  1. Как отформатировать текст комментария?

    Для этого необходимо использовать HTML-теги, например, <blockquote>, <a>, <strong>, <em> и другие.

  2. Как вывести в комментарии HTML-тег?

    Для этого необходимо заменить угловые скобки < и > на их ASCII-код - соответственно &lt; и &gt;.

    Например, чтобы вывести в комментарии тег <br />, используйте следующую запись: &lt;br /&gt;

  3. Как вставить пример кода без подсветки синтаксиса?

    Для этого используйте запись вида <code>ваш код</code>. При этом для визуального переноса строк кода необходимо задействовать соответствующий HTML-тег. Угловые скобки в коде НУЖНО заменять (см. пункт 2).

  4. Как вставить пример кода с подсветкой синтаксиса?

    Для этого используйте запись вида <code lang="html">ваш код</code>, где в параметре lang указывается нужный язык. Поддерживаемые языки: html, css, php, javascript и другие. Угловые скобки в коде в данном случае НЕ НУЖНО заменять.

Отправляя комментарий, Вы автоматически принимаете правила комментирования на этом блоге.

Правила комментирования на блоге dimox.name:

  1. Первый комментарий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу Вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный комментарий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.

Подписаться, не комментируя