суббота, 13 сентября 2008 г.

Related posts для Blogspot. Автоматизируем внутреннюю перелинковку.

Спонсор поста: Лучшая детская мебель, интернет магазин кухни.

Сегодня хочу рассказать классный «хак» Blogger – Related Posts, который в очередной раз нивелирует разницу между Wordpress и Blogspot. Оригинальный материал находится по адресу. Как видите, у меня все без проблем работает. Честно скажу – давно искал качественный плагин, и вот, наконец-то нашел то, что меня полностью устраивает.

Зачем нужна такая штука, думаю, никому объяснять не нужно, дело даже не в перелинковке, а в том, чтобы читатель получше познакомился с вашим блогом, и застрял надолго -). Поехали!

Шаг 1. Как всегда делаем бекап, как это делается всем известно, кто не знает – смотрите предыдущие посты рубрики.

Шаг 2. Находим, закрывающий тег </head> и вставляем перед ним следующий код:
<style>

#related-posts {
float : left;
width : 540px;
margin-top:20px;
margin-left : 5px;
margin-bottom:20px;
font : 11px Verdana;
margin-bottom:10px;
}
#related-posts .widget {
list-style-type : none;
margin : 5px 0 5px 0;
padding : 0;
}
#related-posts .widget h2, #related-posts h2 {
color : #940f04;
font-size : 20px;
font-weight : normal;
margin : 5px 7px 0;
padding : 0 0 5px;
}
#related-posts a {
color : #054474;
font-size : 11px;
text-decoration : none;
}
#related-posts a:hover {
color : #054474;
text-decoration : none;
}
#related-posts ul {
border : medium none;
margin : 10px;
padding : 0;
}
#related-posts ul li {
display : block;
background : url("http://i263.photobucket.com/albums/
ii150/mohamedrias/newconcept_bullet.png") no-repeat 0 0;
margin : 0;
padding-top : 0;
padding-right : 0;
padding-bottom : 1px;
padding-left : 16px;
margin-bottom : 5px;
line-height : 2em;
border-bottom:1px dotted #cccccc;
}

</style>
<script src='http://technotrixdebajyoti.googlepages.com/
RelatedPostsByRealtrix.co.cc.js' type='text/javascript'/>
Сохраняем шаблон.

Шаг 3. Теперь находим следующий кусок кода <p><data:post.body/></p> (убедитесь что галочка «расширить шаблон» поставлена). И вставляем перед закрывающим тегом </p>, т.е в середину, конструкцию:
<b:if cond='data:blog.pageType == "item"'>
<div id="related-posts">
<font face='Arial' size='3'><b>Related Posts : </b></font><font color='#FFFFFF'><b:loop values='data:post.labels' var='label'>
<data:label.name/>
<b:if cond='data:label.isLast != &quot;true&quot;'>,
</b:if><b:if cond='data:blog.pageType == &quot;item&quot;'>

<script expr:src='&quot;/feeds/posts/default/-/&quot;
+ data:label.name + &quot;?alt=json-in-script&amp;
callback=related_results_labels&amp;max-results=5&quot;' type='text/javascript'/></b:if></b:loop>
</font>
<script type='text/javascript'> removeRelatedDuplicates();
printRelatedLabels(); </script>
</div></b:if>

Сохраняем шаблон, проверяем свои посты и ликуем!

P.S. Еще хочу сегодня дать небольшой совет, по тому как быстро искать и заменять код. Если у вас Mozilla, нажимаете CTRL-F, появится окошко поиска, прямо с моего блога, копируете фрагмент который нужно найти, вставляете в поиск, ищите. Потом опять же копируете с моего блога необходимый кусок и вставляете куда надо -). Таким образом, операцию, проделанную нами выше, можно выполнить за 1 минуту!

Мир удивительных вещей на metkere.com

Важное дополнение к посту!

Подписаться на RSS, чтобы быть в курсе всех экспериментов.

Читайте по теме



49 комментариев:

  1. Спасибо, Дмитрий! Искал что-то подобное. Хотя со временем подключения плагина (1 минута) - явный недобор :) Но включить (красиво) в блог минут за 30-ть - вполне реально.

    ОтветитьУдалить
  2. Согласен, что "1 минута", это во многом метафора, но я реально управился очень быстро, там же всего два фрагмента кода вставить!

    ОтветитьУдалить
  3. Супер статья, супер совет. Благодаря твоему блогу, откраваю для себя blogger.com и не устаю удивляться его возможностям. Так держать!

    ОтветитьУдалить
  4. Шаг 3. у меня не работает. Постоянно выдает ошибку. В чем дело? Проверено на нескольких блогах.

    ОтветитьУдалить
  5. У меня вроде на 2 блогах все работает без проблем... Может быть где ошибаешься, или с шаблоном проблема. Виктор, я попробую разобраться, вечером отпишу в коммент или на e-mail.

    ОтветитьУдалить
  6. Спасибо большое! Счас попробую поставить :)
    Отдельное спасибо за совет по Mozilla.

    ОтветитьУдалить
  7. Полезно...
    Но вот вопрос: Что если я хочу сделать так, чтобы Related Posts у меня отображались после каждого поста в ОСНОВНОЙ колонке, а не в окошке отдельных постов, где отображаются комментарии?

    ОтветитьУдалить
  8. Понимаю, Егор. Я не программист, но знаю это более чем возможно. Единственная проблема - данный хак выдирает посты в соответствии с ярлыком или ярлыками публикаций. Каждому посту соответсвуют свои ярлыки, в этом небольшая сложность. А вообще, думаю, проблема решается, но только установкой иного расширения. Если где встречу, сразу опубликую.

    ОтветитьУдалить
  9. Спасибо большое Дмитрий, обязательно буду следить за вашими записями

    ОтветитьУдалить
  10. Спасибо, Дмитрий, очень хорошая статья. Себе поставил, правда поменял цвет и, как ты, название.
    Дмитрий, можно маленький совет?: Используй для Блогуна и джей2джей центровку, будет выглядеть лучше(div align="center" код /div)(незабудь <>). Могу подсказать как поменять http://blogun.ru/?r=4938 на, например, http://blogun.ru/home, но с сохранением реферала.

    ОтветитьУдалить
  11. To paskalex: Спасибо за совет и замечание, у меня такое разгильдяйтсво часто бывает. "Ходишь по 20 раз за день мимо", и каждый раз - а потом выравняю, потом забываешь, ну и так по кругу, уже который месяц -). Ну, а зачем менять ссылку на http://blogun.ru/home ей богу не знаю -). Наверное, я просто над этим никогда не задумывался, может быть смысл и есть.

    ОтветитьУдалить
  12. То Дмитрий Наумов: Незачто. А по поводу ссылки - все просто: Человеческая жаба. Например захожу по етой ссылке http://blogun.ru/?r=4938 и ОПа...Мне стать чьимто партнёром(рефералом)? Низачто! Я удадяю в строке браузера эту часть(?r=4938) и далее регистрируюсь. А вот по этой ссылке (http://www.fastblogfinder.com/affiliate-link-cloaker/) ты можешь поменять это (?r=4938) на любое подходящее слово, например, home, ru, короче любое. И только очень внимательный может догадаться, что он стает твоим рефералом или как его там.

    ОтветитьУдалить
  13. Да ещё, Дмитрий, не в службу, а в дружбу зайди на мой блог и глянь как простой пользователь может у меня тоже чтото неотцентровано или елементы местами поменять. Ну типа взгляд со стороны. Удружишь?

    ОтветитьУдалить
  14. Конечно, обязательно зайду -)

    ОтветитьУдалить
  15. Видно были какие-то работы на блоггере, вот и не работал у меня третий шаг, в данный момент все окей. Спасибо за пост и внимание к моему вопросу.

    ОтветитьУдалить
  16. Всегда пожалуйста, рад что оказался полезным -).

    ОтветитьУдалить
  17. Большое спасибо за подробное описание.

    ОтветитьУдалить
  18. А что такое внутренняя перелинковка? Это не "Ещё новости по теме", которые стоят у Вас... пардон, у тебя :) в конце каждого поста? Мне кажется, нет, я точно видела у тебя об этих "ещё новостях", а сейчас не могу найти, хоть убей... :( Или я всё напутала?

    ОтветитьУдалить
  19. Да это и есть "Еще по теме", в этом посте как раз про это. Кроме этого нужно в каждом посте делать хоть одну ссылку на предыдущие публикации.

    ОтветитьУдалить
  20. Да, ещё спрошу: как сделать, чтобы куски кодов, вставляемых в сообщение, отображались в тексте сообщения? Я помню, что должен быть какой-то тег, отменяющий теги :), но забыла, какой...
    Извини, что здесь спрашиваю - просто вижу, как у тебя это красиво получается, а я вчера мучилась, пытаясь втискивать код, поясняя то и сё, и обнаруживая, что при публикации поста коды эти исчезают...
    Боже, как я путанно... :( прости...

    ОтветитьУдалить
  21. >> Кроме этого нужно в каждом посте делать хоть одну ссылку на предыдущие публикации <<

    Без этого не будет работать?

    ОтветитьУдалить
  22. То Allpa: на счет кусков кода думаю написать в вопросах ответах через день-два. Но вообще, никаких кодов не использую, просто у каждого символа есть код, для < - "<", для > - ">". Набор символов использовать без кавычек. Печатаю в ворде как обычно, а потом в один присест все меняю.

    ОтветитьУдалить
  23. Тут написал, так что ничего не понятно, лучше в "Вопросах и ответах". А что касается обычных ссылок на предыдущие публикации - конечно скрипт будет работать и без этого, просто это очень полезно в плане seo.

    ОтветитьУдалить
  24. А как сделать это "Популярное" - ну, как у Вас? Причём, я видела такую фичу ещё на каком-то блоге, и даже, кажется, промелькнуло объяснение (или название гаджета?), как поместить на свой блог... но я не помню, где это... :(

    ОтветитьУдалить
  25. То Allpa: Вы как раз сейчас комментирует к посту где написано как это сделать -).

    ОтветитьУдалить
  26. >> Вы как раз сейчас комментирует к посту где написано как это сделать <<

    Нет-нет, в этом Вашем посте про "Ещё по теме", я же спрашиваю о такой фиче → http://s48.radikal.ru/i121/0901/e7/234a21557479.png

    ОтветитьУдалить
  27. Понятно, такое у меня тоже есть http://maxibiz.blogspot.com/2008/10/blog-post_08.html

    ОтветитьУдалить
  28. Дмитрий, спасибо за интересную статью. Попробовала на своих блогах и сразу же возник вопрос:
    Тело сообщения в моем шаблоне достаточно узкое, и некоторые Related posts очень некрасиво вылезают за его пределы. У вас же, я вижу, название переносится на новую строку. Не подскажете ли чайнику, как сделать такой же text-wrap?

    ОтветитьУдалить
  29. Ох, уже сама увидела, где это правится. Что значит, пора спать :0 Но вместо этого вопроса возникло еще два:
    Как ограничить количество показываемых related post? А то что-то длиннющий список получается. Там есть какое-то max-results=5, но у меня все равно выдает больше десятка статей.
    И:
    Хотела подписаться по мылу, но FeedBurner ругается, мол, подписка по почте не активирована. Это сознательная позиция (ты пишешь, что предпочитаешь rss) или баг?

    ОтветитьУдалить
  30. То Lunatik2811: Указанный параметр max-results=5, как раз и определяет количество постов, я у себя например поменял на 7. Спасибо за сообщение о feedburner, сейчас вспомнил что наверное на самом деле я отключал эту функцию, сейчас пойду исправлю. Но RSS для подписки конечно, удобнее, попробуйте вам понравится!

    ОтветитьУдалить
  31. Дмитрий, спасибо за ответ. Что ж, попробую RSS, уж больно хочется к вам подписаться :)
    А вот что с max-results, непонятно... Ну, буду разбираться.

    ОтветитьУдалить
  32. То Lunatik2811: Пожалуйста, а подписку на e-mail я в ближайшее время починю, и такая возможность снова будет. С max-results я думаю проблема может быть в том, что это результат на каждый "ярлык". Нужно это проверить, у меня обычно каждому посту соответствует один ярлык, поэтому количество совпадает. Если ярлыков больше, не исключено что и результатов больше.

    ОтветитьУдалить
  33. О, это идея. Поэкспериментирую с ярлыками, но, похоже, это оно и есть. Спасибо.

    ОтветитьУдалить
  34. То Lunatik2811: Скорее всего так и есть, ради эксперимента последнему посту присвоил 2 ярлыка, получил 10 ссылок в Related posts. Честно говоря даже не знаю как просто и легко это побороть, потому что с одной стороны не хочется чтобы было очень много ссылок, с другой - даже хорошо когда они из разных категорий. Поэтому получается что для каждого поста необходимо в зависимости от количества его ярлыков, свое оптимальное количество... Нужно подумать.

    ОтветитьУдалить
  35. Спасибо большое!
    Единственное, в каждом посте они ссылаются и на самих себя... вот бы это убрать)

    ОтветитьУдалить
  36. Пост хороший и полезный, но у меня пока не пошел твой "рецепт", думаю проблема в моем шаблоне ( у меня один из предлагаемых Блоггером-"Харбор" ). В хтмл пока делаю только первые шаги, поэтому не горюю по этому поводу! :) Я затеял блог с похожей тематикой, а потому буду внимательно читать и новинки в твоем! Дима, в любом случае гран-мерси тебе за интересный блог!!! P.S А с шаблонами я еще все равно играться буду- возможно тоже перейду на 3 колоночный, как и у тебя. :)

    ОтветитьУдалить
  37. То Web-pilot: В принципе шаблон может послужить причиной, хотя в принципе не должен. Скорее случается ситуация когда в шаблоне иначе названы какие-то переменные, поэтому не всегда просто разобраться что и куда вставлять.

    ОтветитьУдалить
  38. @Leonid Zaplatnikov
    @all
    В принципе, вся функциональная часть написана у них тут
    http://technotrixdebajyoti.googlepages.com/
    RelatedPostsByRealtrix.co.cc.js
    Сохраняем этот файл и смотрим функции. Т.о. можно и ссылку на них убрать, да и вообще избавится от зависимости от них. Ведь нет гарантии, что в один прекрасный день они и скрипт этот снесут или чего хуже, каку какую-нибудь туда напишут.

    Если Дима захочет, я могу у него гостевой пост написать, как все это сделать.

    Тимур

    ОтветитьУдалить
  39. То AT: Конечно, Тимур. С гостевыми постами проблем нет, в любое время.

    ОтветитьУдалить
  40. AT, ага, я сразу сохранила этот .js к себе и ссылку исправила.

    ОтветитьУдалить
  41. У меня не находит кусок кода в 3 шаге, что делать?

    ОтветитьУдалить
  42. То Владимир: этот фрагмент должен быть потому что он в таком виде есть во всех шаблонах с которыми я имел дело. Попробуйте, упростить запрос, когда ищите этот фрагмент в браузере до data:post.body, думаю, должно получиться.

    ОтветитьУдалить
  43. И тут такая же проблема. Уже писал про комментарии. Блог куда то пропадал. Потом появился и вот с настройками комментариев и перелинкрвкрй все сбито. Странно как то. Хотя на втором блоге все нормально работает.

    ОтветитьУдалить
  44. Доброго времени суток. Почему то не найду у себя вот этой части data:post.body/
    Хз что делать(

    ОтветитьУдалить
  45. Должно быть обязательно, Вы "глазами" ищите или с помощью поиска Ctrl-F?

    ОтветитьУдалить
  46. Здравствуйте, Дмитрий! Хочу рассказать про то, КАК я нашёл Ваш блог )))
    Искал я значит в Яндехе фразу "blogspot как сделать три колонки вместо двух" и ровненько пятым по счёту выходит сей блог... Захожу я значит и особо не вдумываясь, начинаю у себя править коды! )))
    Всё сделал как надо, всё сохранил, - захожу, а трёх колонок как не было, так и нет! Восстановил я прежний код, но начались какие-то глюки... Что это может быть?
    Я вообще только начинаю вести свой блог, ему неделя от роду, но КАК бы мне к нему три колоночки всё-же прикрутить, да так, чтобы когда гаджеты и виджеты добавляешь, чтобы видно было именно ТРИ колонки... Не поможете мне?

    ОтветитьУдалить
  47. ТО Ticcurilla: возможно где-то ошиблись, рецепт работает проверено 20 раз, у меня тоже стоит. Если предварительно не делали бекап, а сейчас глюки, попробуйте найти те фрагменты кода которые добавляли.

    ОтветитьУдалить
  48. Не могу не на одном родном шаблоне установить код. Может что то уже изменилось. Автор напишите пожалуйста новый пост на эту тему.

    ОтветитьУдалить
  49. То Юля: более поздние варианты есть http://maxibiz.blogspot.com/2009/02/related-posts_25.html

    ОтветитьУдалить