Подписка на комментарии блога через FeedBurner

blogger subscribe comments
Во многих блогодвижках существует такая строчка "подписаться на уведомления о новых комментариях" и/или форма для ввода email, куда будут приходить в письмах все комментарии на ту ленту, к которой гость подписался.
В Blogger, насколько я помню, оформить подписку на комментарии (имеются в виду только стандартные комментарии Blogspot'а; обладателям Disqus просьба не волноваться) можно только для блоггеровского аккаунта, а гостям с name и url и другими способами авторизации в комментариях эта возможность не доступна:

blogger email subscribe

Так же в дефолтовых шаблонах Blogger есть неизменяемая ссылка на подписку через atom ленту, но будем считать этот способ не самым удачным...

Идея
Самое простое решение, какое пришло в голову, это использовать возможности email рассылки известного всем блогерам сервиса FeedBurner. Эту форму я поместил на страницу с последними комментариями. Она там к месту, но проблему не решает, нужно тоже самое, только вверху кнопки отправки комментариев.

Недостатки данного метода: нельзя подписаться на отдельные ленты к постам, т.е. гость подписывается разом на все комментарии блога. С другой стороны - это плюс для автора блога. Я тут недавно подписался на комменты одного сеошного блога, так мне летят на почту и обновления постов и последние новости. В принципе, нормально, не жалею, так как блог хороший. Так что если делаете такую подписку для комментариев через FeedBurner Mail, то должны теперь отвечать за то, что отвечаете читателям ^^.

Реализация
1) Изначально понадобится сходить в админку FeedBurner и завести, т.е. "прожечь" новый фид (ленту вида http://blogger.omg-linux.ru/feeds/comments/default, где вместо моего домена надо подставить свой), причём сугубо для комментариев блога.


Затем настроить свой фид и, главное - не забыть активировать Email Subscriptions или Подписки по электронной почте:


На этой странице (см. скриншот) FeedBurner даёт два кода для установки в блог.
Верхний - это азбучная истина: форма подписки с полем для адреса мыла.
Нижний код - простая ссылка на фидбёрнеровское окно подписки. В принципе, она тоже подойдёт, только её надо отредактировать, изменив английскую надпись на русскую. Если заинтересует именно этот вариант, то шаг №2 можете пропустить.

2) Усложним задачу и возьмём верхний код (см предыдущий абзац и скриншот). Для отображения возле комментов он не годится, к тому же наследует стили (оформление) или их отсутствие из шаблона, а нам нужен индивидуальный дизайн:


Используя CSS, я привёл эту форму подписки к такому виду ↓


Т.е. банально подвесил к элементам формы: полю и кнопке пару id, и обработал их по своему вкусу.

Код формы в итоге получился такой:
<!-- subscribe form for comments -->
<form action="http://feedburner.google.com/fb/a/mailverify" method="post" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=omg-linux/blogger-comments', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow">
Подписаться на уведомления о новых комментариях:
<ul id="subsc">
<li><input class="mail" name="email" type="text" /></li>
<input name="uri" type="hidden" value="omg-linux/blogger-comments" />  <input name="loc" type="hidden" value="ru_RU" />
<li><input class="but" type="submit" value="Подписаться" /></li>
</ul>
</form>
<!-- end of subscribe form for comments -->
Где:
в uri=omg-linux/blogger-comments - наименование моей ленты
в value="omg-linux/blogger-comments" - наименование моей ленты

"Наименование моей ленты" нужно сменить на своё:

Ту ссылку, которую придумали во время регистрации

А <!-- subscribe form for comments --> - это маячок, по которому будет легче найти код для редактирования или удаления.

И CSS к форме:
#subsc li {display: inline}
#subsc .but  {
    border: 1px solid #555555;
    border-radius: 25px 5px 5px 10px;
    color: #888888;
    height:20px;
    width:100px;
    font-size:10px;
    color: #FFF;
    background: rgb(109, 163, 189);
    border: 1px solid rgb(109, 163, 189);
    cursor:pointer;}
#subsc .but a {
    color:#FFF;
    text-decoration:none;
}
#subsc .mail {
    float:left; 
    height:20px; 
    width:180px;
    border: 1px solid rgb(109, 163, 189);
    border-radius: 5px 8px 25px 5px;
    color: #888888; 
    font-size:10px;}
Где:
#subsc .but - это настройки кнопки
#subsc .but a - настройки ссылки на кнопке
#subsc .mail - настройка поля ввода почтового адреса

Может я немного с размером текста накосячил. У меня Linux и PC-BSD, а там шрифты немного отличаются от шрифтов, используемых в браузерах Windows.

3) Установка в Blogger
После того, как отредактировали форму (см. шаг №2) и придумали надпись, призывающую комментатора оформить подписку, нужно поставить эти два кода или одну ссылку (см. шаг №1) в свой шаблон Blogger/Blogspot.

Самое подходящее место для расположения формы подписки - установить её перед областью ввода или отправки (как у меня) комментария.

Перед редактированием шаблона обязательно сделайте его резервную копию!

Само редактирование шаблона производится с отмеченной галочкой Расширить шаблоны виджета.

Варианты установки:
а) После тегов:
<div class='comments'>
   <b:includable id='comments' var='post'>

Тогда форма подписки на комментарии будет располагаться так:

email subscribe blogger

б) Или можно поставить код перед конструкцией:
<div class='backlinks-container'>
Вариантов на самом деле много, всё зависит от используемого в блоге шаблона:

email subscribe blogger

Код желательно поместить между тегами <noindex>код формы</noindex>. Это рекомендует сделать сам Яндекс: запретить индексирование тех частей сайта, которые не предоставляют поисковой службе полезную информацию.

И последний штрих.
В шаге №2 был дан код CSS, его нужно скопировать в шаблон перед тегом:
]]></b:skin>

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

  1. Пошел другим путем: фид с комментариями запихнул в твиттер - и даже есть переходы оттуда (видно по сервису goo.gl), а на блоге повесил твиттер-виджет в виде последних комментариев.

    ОтветитьУдалить
  2. Идея супер =). Особенно в плане запихивания комментов в twitter. По-любому полезно для блога. Очередной раз спасибо за наводку.

    ОтветитьУдалить
  3. В смайликах к комментариям у меня посмотри - http://shpargalkablog.ru/2010/10/comments-blogger.html#smailiki

    Но там получается иконка с фидом, а не email адресом.

    ОтветитьУдалить
  4. Спасибо.
    Но про иконку с фидом я знаю, а идеальный вариант - галка отправлять комментарии по почте. Имеено средствами Blogger. Есть кое-какие мысли на этот счёт, но пока не заморачивался. Думаю, может у кого-то расписан уже готовый рецепт?
    Disqus ставить не хочу :-).

    ОтветитьУдалить
  5. Этот комментарий был удален автором.

    ОтветитьУдалить
  6. Так по умолчанию же приходят оповещения о комментариях

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