Como mostrar a quantidade de assinantes de um feed no seu blog
Há diversas maneiras de convencer uma pessoa a assinar o feed do seu blog. Escrever conteúdo de qualidade e com freqüencia é a mais efetiva. Tornar o processo de assinatura o mais simples possível também é extremamente importante. Mas, um artifício que tem sido muito usado — principalmente depois do lançamento do FeedBurner — e que eu tenho achado bastante eficiente, é exibir a quantidade de assinantes do seu feed em algum lugar de destaque no seu blog.
Alguns questionam se isso é realmente interessante, comparando esse “contador de assinantes” com os antigos contadores de visitas que foram extremamente populares no século passado. Eu acho que é legal. Gosto de ver o número de assinantes crescendo. É bom pro ego.
Porém, descobrir quantas pessoas efetivamente assinam o seu feed não é uma tarefa trivial. Se você fosse tentar fazer isso sozinho, teria que mapear todos os agregadores existentes, dissecar suas user-agent strings (pois alguns, como o Bloglines, enviam nessa string o número de pessoas que assinam o feed), verificar o IP de cada acesso, processar isso tudo, etc.
Por isso, hoje, se você tem a necessidade (ou curiosidade) de saber quantas pessoas assinam seu feed, a melhor opção é usar o FeedBurner.
Se você já usa o FeedBurner, há duas maneiras de saber o número de assinantes do seu feed:
- Usar uma imagenzinha padrão provida pelo FeedBurner, que pode ser ativada pela aba Publicize, item FeedCount, no painel de administração do seu feed
- Ou pegar esse dado pela API do FeedBurner, chamada Awareness API — que também pode ser ativada na aba Publicize –, que te dá acesso a diversas informações sobre o seu feed, entre elas o que eles chamam de “Circulation“, que nada mais é que a quantidade de pessoas que acessaram o seu feed nas últimas 24 horas.
A primeira opção é simplíssima e até interessante, porém a imagem, pelo menos por enquanto, está disponível apenas em um formato, e o texto nela contido é em inglês, o que pode não agradar aos seus leitores brasileiros que não falam essa língua.
A segunda — a API — já não é tão simples assim, mas não chega a ser complicada. É ela que eu uso para exibir aqui no blog a quantidade de assinantes do meu feed e é sobre ela que eu realmente quero falar.
Usando a API
A API — para fins de consulta da quantidade de assinantes — consiste simplesmente de uma chamada a uma URL, que retorna um XML com dados sobre o seu feed.
A URL é http://api.feedburner.com/awareness/1.0/GetFeedData e recebe dois parâmetros:
- uri, que é a URL do seu feed, por exemplo
http://feeds.feedburner.com/meufeed - e dates, que pode ser uma data apenas (no formato yyyy-mm-dd) ou um intervalo de datas, separadas por vírgula. Este parâmetro, quando usado na primeira forma (uma data simples) não pode conter a data de hoje, pois os valores são atualizados uma vez por dia (por volta das 5 horas de Brasília, acho), e dados referentes a um dia ainda incompleto não são retornados.
Um exemplo de URL para chamada da API: http://api.feedburner.com/awareness/1.0/GetFeedData?url= »
http://feeds.feedburner.com/meufeed&dates= »
2006-07-24
(Notem que » denota uma quebra de linha usada para poder acomodar a URL aqui no post sem estourar a largura disponível. Obviamente a URL não pode conter quebra de linhas, nem o caractere »).
Ao chamar essa URL, um XML será retornado, contendo o ID do seu feed no FeedBurner, o valor de “circulation” e a quantidade de hits.
Extrair o valor de “circulation” para usar onde você quiser é bem simples. Tudo que você precisa é de um parser XML ou até mesmo uma expressão regular.
Plugins para o wordpress
Mas, será que não tem algo pronto pra facilitar a minha vida? Claro que tem. Se você usa o wordpress, há um plugin que te dá acesso a todas as informações que podem ser acessadas via Awareness API. O plugin se chama FeedBurner Awareness plugin, é bem simples de usar e funciona a contento.
Porém, no período em que testei esse plugin, ele apresentava, aleatoriamente, 0 assinantes, o que não é nada bom. Principalmente quando o objetivo de mostrar a quantidade de assinantes é o de convencer o usuário a assinar também o feed. Então resolvi dar o meu próprio jeito nesse problema criando um plugin muito mais simples que o citado acima, mas que, pelo menos até agora, não apresentou nenhum problema.
Minha solução - BT FeedBurner Subscribers
[update] O mal do Murphy é que ele estava certo. Eu estava usando esse plugin há semanas e tudo estava funcionando normalmente. Agora, só porque resolvi postar aqui, parece que ele resolveu parar de funcionar.
Fiz um update nele, usando as dicas do Bruno e usando métodos alternativos ao Snoopy para pegar o conteúdo do XML, já que este parecia ser o problema da primeira versão. Desculpem o transtorno.
Parece que na versão 0.3, tudo está funcionando normalmente. Se não estiver, me avisem.[/update]
Na verdade, fiz esse plugin há muito pouco tempo. Antes, a danada da preguiça fez com que eu usasse um código dentro do próprio template do blog, que chamava a API a cada visita, o que tornava o blog um pouco mais lento e o deixava exposto a problemas caso o FeedBurner ficasse indisponível.
O plugin, que chamei de BT FeedBurner Subscribers, checa a quantidade de assinantes em um intervalo de tempo definido pelo usuário e guarda esse valor na tabela de opções do wordpress. Simples assim. Ele não faz nada além disso. Não te dá acesso a nenhuma outra informação além da quantidade de assinantes, como faz o FeedBurner Awareness plugin.
Usar o plugin também é bem simples. Baixe o arquivo (zip, 3KB), descompacte-o na pasta de plugins do wordpress (wp-content/plugins), vá até a página de gerenciamento de plugins e ative-o.
Feito isso, vá na página de opções, no item “Assinantes via FeedBurner“, preencha os dados e clique em “Atualizar”.
Depois disso, edite o seu template e coloque <?php btfb_the_subs() ?> onde você quiser que apareça a quantidade de assinantes, e pronto.
Será exibida sempre a quantidade de assinantes do dia anterior, excluindo os fins-de-semana (ou seja, mostrando os dados referentes a sexta-feira), caso o checkbox “Pular fins de semana” esteja marcado.
Se houver interesse, e se eu tiver tempo e saco, vou tentar melhorar aos poucos o plugin. Comentários são bem-vindos.
Pesquisa de preços: Celular Samsung, Notebook Toshiba, Notebook HP, Celular LG, Notebook, Notebook Acer


Ficou muito interessante o plugin, vou arrumar um tempinho para implementar.
Olhando o código, gostaria de dar algumas sugestões:
Colocar todas as variáveis em um array, assim só seria necessário escrever uma linha na tabela de opções (o próprio WP faz o serialize e unserialize do array).
Não carregar o load_plugin_textdomain(), é esnecessário, a não ser que você forneça as strings de localização e o arquivo PO para isto.
A url do plugin base mudou para http://www.insanum.com/software.
Abraço