четверг, 15 октября 2009 г.

Бонусы для RSS-подписчиков в Blogger

Bonus StageНекоторые предприимчивые товарищи, чтобы увеличить число подписчиков блога, используют такой трюк как бонусы для RSS читателей. Смысл здесь в чем: небольшая часть сообщения недоступна для обычного просмотра на страницах блога, а видна лишь подписчикам RSS канала. Об отдаче от такого способа раскрутки блога было написано достаточно и до меня. Поэтому просто отмечу: это действительно работает!


Пользователям автономных блогов в этом отношении повезло больше. Достаточно немного покопаться в скриптах сайта, чтобы настроить такую «фичу». Движок сам будет выбирать, что ему отдавать на страницу, а что только в выдачу RSS. Более того – я больше, чем уверен, что даже этого не приходится делать, – наверняка уже есть какой-нибудь плагин для Wordpress для вывода дифференцированного контента.


Как же быть пользователям блого-сервисов, таких как Blogger? А реализация «бонусной программы» для подписчиков в Blogger настолько проста, что мне даже как-то стыдно ее здесь приводить, что я не додумался до этого раньше.


  1. Перво-наперво нужно добавить в стили шаблона Blogger следующее правило:
    .rss-bonus {
    display:none;
    }
    Сохранить шаблон
  2. А в тексте сообщения добавить новый элемент:
    <div class="rss-bonus">Бонус</div>
    Внутри него и будет текст, доступный только для RSS-подписчиков.


Как это работает


Стили, определенные в шаблоне, будут работать только на страницах блога, а в RSS-потоке будут отсутствовать. Следовательно, бонусная часть в тексте фида не будет скрыта.


Разумеется, этот способ не гарантирует абсолютной невидимости скрытого вложения, но:

  1. Во-первых: это не страшная военная тайна™, которую следует запретить к просмотру;
  2. Во-вторых: задай себе вопрос – а многие ли посетители твоего блога умеют пользоваться FireBug, задавать пользовательские стили для страниц или быстро находить искомую информацию в исходнике документа? Думаю, что нет.


Так вперед, пользуйся! Успехов!


Бонусом к этой статье будет описание, как максимально упростить размещение HTML-кода для RSS-бонуса. ..И, – конечно же! да – будут сиськи!


У тебя еще нет подписки на этот блог? – Подпишись!

Бонус для подписчиков


  1. Для автоматической вставки кода бонусной части в каждый пост:
    перейди на вкладку НастройкиФорматирование;
  2. Добавь следующий код в поле Шаблон сообщения
    <div class="rss-bonus">BONUS</div>
  3. Сохрани настройки


Демотиватор дня:

Демотиватор: Перспектива
Перспектива
Вещи часто могут казаться лучше под другим углом


© 2009 dotrb.blogspot.com


--
В холодное время года, начался отопительный сезон или нет, утепление окон поможет сохранить тепло домашнего очага и сэкономить деньги.


15 Комментариев :

AT комментирует...

Хмммм ... а почему класс называется "rss-bonus"??? Это стандартное название Блогспота или в RSS-потоке?
Уже ночь, наверно, туго соображаю

Croaker комментирует...

Это я его так назвал для удобства запоминания. Класс этот используется только раз в «бонусном» div-е внутри поста.
То есть название класса может быть произвольным.

GrafBlog комментирует...

Вот и плагин для автономныйх блогов на WordPress, который повышает ценность RSS канала блога. Плагин называется wpRSSlock. Очень простой плагин но эффективный, вот его страница http://www.wpbloging.com/plugins/uvelichit-podpischikov-rss-wprsslock.html

Croaker комментирует...

Спасибо за дополнение. Думаю, владельцы блогов на WordPress найдут этот плагин полезным.

AT комментирует...

"Это я его так назвал для удобства запоминания. Класс этот используется только раз в «бонусном» div-е внутри поста."

Думал-думал и пришло предположение: в RSS не подгружаются CSS и поэтому там и показывается весь пост целиком. Надеюсь, предположение верное :)

Croaker комментирует...

Все верно, Тимур. Предположение правильное :), но я принцип работы объяснял прямо в тексте поста:
Стили, определенные в шаблоне, будут работать только на страницах блога, а в RSS-потоке будут отсутствовать.
Ты правильно понял, но не очень четко сформулировал.

Например, если ты задашь бонусную часть с помощью CSS таким образом:
<div style="display:none">Бонус</div>
то наиболее продвинутые ридеры его поймут и бонус не покажут :).

Тут «магия» в том, что правила для класса CSS находятся вне зоны видимости RSS потока. Поэтому в блоге срабатывают, а в ленте – нет.

Анонимный комментирует...

А как сделать наоборот, чтобы при "полном" формате RSS, в канал отдавалось только содержание сообщения до какого-нибудь div class="rss-end" /div.
А-то у меня в сообщениях картинок обычно много, хочется только пару первых в канал отдавать. По умолчанию "краткий" формат RSS не отдает ни одной, а "полный" отдает все.

Croaker комментирует...

celebsdigest,
Теоретически вполне возможно, но не гарантированно будет отображаться в разных браузерах и разных агрегаторах RSS.

В стилях Blogger:
.vizzz {
display:block !important;
}

В сообщении:
<div class="vizzz" style="display:none">
Этот текст должен быть виден только в блоге
</div>

Анонимный комментирует...

Спасибо, попробую

Анонимный комментирует...

Не получается, текст не виден и в блоге.

Croaker комментирует...

Вот поэтому и «не гарантированно». В Firefox срабатывает для блога. Плохая новость в том, что при просмотре в виде RSS «выкусываются» стили.

Можно мутить жабаскриптом, но имхо это только себе в убыток.

Анонимный комментирует...

Да, я пока вообще метода не вижу. Может какой то безумный скрипт вообще где-то на стороннем хостинге положить, который будет все картинки после второй выкусывать, благо формат ссылки известен, но это как то сурово, и не идеально удобно.
Спасибо и на этом.

Croaker комментирует...

Если делать через сторонний хостинг – то вообще проблем нет. Реализовать там функционал наподобие Feedburner-овского, только с одной функцией: выкинуть все внутри тега, например имеющего класс class="rss-nopost".

Я, к слову, удивляюсь почему на «фидбёрнере» RSS-тизер до сих пор так убого реализован.

alexander blog комментирует...

Спасибо) Раньше встречал один способ сделать контент доступным только для подписчиков, но там как-то странно работало - через раз...

Horizon Discovery комментирует...

Выходит, перед каждым бонусным сообщение, нужно прописывать код?
А что, если я хочу создать отдельную бонусную страничку?

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

Жги!