Os RSS Feeds de um blog são uma das melhores formas de marketizar conteúdos, mostrar publicidade ou outro tipo de conteúdos que possam levar os seus subscritores a tomarem determinadas acções. Na Escola Dinheiro, por exemplo, são já mais de 10,000 subscritores que todos os dias lêem os RSS Feeds do blog. Já imaginou o potencial que esses RSS Feeds têm?

O RSS é uma das melhores formas de levar os conteúdos do seu blog ao seu público, especialmente quando se utilizam as subscrições por email. Existem vários truques e dicas para tornar os seus RSS Feeds mais atrativos e com outro tipo de opções, aumentar os seus ganhos e ajudar os seus leitores a divulgarem os conteúdos. Neste artigo vamos analisar então 10 truques e dicas para os RSS Feeds do seu Blog.

1. MOSTRAR THUMBNAILS DOS ARTIGOS NO FEED

A grande maioria dos templates wordpress dos dias de hoje, fazem uso de thumbnails (miniaturas) ou imagens em destaque, mas estas imagens não são incluídas nos RSS Feeds por padrão. Para fazer com que elas apareçam nos seus RSS Feeds, adicione o seguinte código ao seu ficheiro functions.php.

// show post thumbnails in feeds
function diw_post_thumbnail_feeds($content) {
	global $post;
	if(has_post_thumbnail($post->ID)) {
		$content = '<div>' . get_the_post_thumbnail($post->ID) . '</div>' . $content;
	}
	return $content;
}
add_filter('the_excerpt_rss', 'diw_post_thumbnail_feeds');
add_filter('the_content_feed', 'diw_post_thumbnail_feeds');

2. ATRASE A PUBLICAÇÃO DOS RSS FEEDS

Quantas vezes você não carregou no botão “Publicar” ao invés do botão “Salvar Rascunho” ou “Pré-Visualizar” no artigo em que estava a trabalhar, e teve de correr a ir editá-lo para que ele voltasse novamente para os rascunhos? Ou então porque você reparou que o artigo tinha um erro grave que precisava de ser resolvido? O que este truque faz é atrasar a publicação do artigo nos seus RSS Feeds. Para o fazer, adicione o seguinte código ao seu ficheiro functions.php e ele irá atrasar os seus RSS Feeds em 5 minutos:

* /**
* * puplish the content in the feed later
* * $where ist default-var in WordPress (wp-includes/query.php)
* * This function an a SQL-syntax
* */
* function publish_later_on_feed($where) {
* global $wpdb;
*
* if ( is_feed() ) {
* // timestamp in WP-format
* $now = gmdate('Y-m-d H:i:s');
*
* // value for wait; + device
* $wait = '5'; // integer
*
* // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
* $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
*
* // add SQL-sytax to default $where
* $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
* }
* return $where;
* }
*
* add_filter('posts_where', 'publish_later_on_feed');

3. INSERIR QUALQUER COISA NOS RSS FEEDS

Você pode usar o seguinte truque para inserir um link para o seu site ou blog, publicidade, ícones para mídias sociais, etc. Basicamente qualquer coisa que você deseje. Adicione o seguinte código ao ficheiro functions.php do seu template:

<?php
function insertAds($content) {
    $content = $content.'<hr /><a href="http://www.escolawp.com">Já visitou a Escola WordPress hoje?</a><hr />';
    return $content;
}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');
?>

Neste exemplo, o HTML customizado e inserido nos Feeds é este “<hr /><a href=”http://www.escolawp.com”>Já visitou a Escola WordPress hoje?</a><hr />”
Altere o código para aquilo que desejar.

4. EXCLUA UMA CATEGORIA DOS SEUS RSS FEEDS

Este truque é muito útil caso você tenha uma categoria no seu blog para notícias ou algo que pretende manter fora dos seus RSS Feeds. Irá necessitar de encontrar o ID da categoria que pretende excluir. Para o fazer, vá no painel de administração do seu blog WordPress e à secção “Posts” > “Categorias” e passe o rato por cima do nome da categoria que pretende excluir, olhe para a barra de estado do seu browser (no fundo do browser), e procure pelo código &tag_ID=10 onde o 10 é o ID da categoria. Depois copie e cole o seguinte código para dentro do ficheiro functions.php do seu template:

function myFilter($query) {
    if ($query->is_feed) {
        $query->set('cat','10'); //Don't forget to change the category ID =^o^=
    }
return $query;
}

add_filter('pre_get_posts','myFilter');

5. CRIE CONTEÚDOS APENAS PARA OS SUBSCRITORES DE RSS FEEDS

Se você gostava de oferecer conteúdo exclusivo para os seus subscritores de RSS Feeds (talvez como um incentivo à aubscrição?) você irá necessitar de criar uma categoria especificamente para os subscritores. Encontre o ID da categoria (ver ponto nº4) e depois copie e cole o seguinte código para o ficheiro functions.php do seu template:

<?php
function excludeCategory($query)
{
    if($query->is_home | $query->is_archive )
    $query->set('cat','-3');
    return $query;
}
add_filter('pre_get_posts', 'excludeCategory');
?>

Agora, cada vez que adicionar um novo artigo a esta categoria, ele não irá aparecer na homepage do seu blog, nem na página de categoria, nem nas tags ou nos arquivos. Irá aparecer apenas e exclusivamente nos seus RSS Feeds.

6. MOSTRE QUALQUER RSS FEED NO SEU BLOG WORDPRESS

Com este truque, você pode utilizar uma funcionalidade do WordPress para puxar qualquer RSS Feed para o seu site ou blog em WordPress também. Se desejar pode puxar os RSS Feeds do seu fórum, Feeds de notícias, etc. Copie e cole o seguinte código dentro do ficheiro onde pretende mostrar esses RSS Feeds:

<?php include_once(ABSPATH . WPINC . '/rss.php');
wp_rss('http://www.escolawp.com/feed', 3); ?>

7. MOSTRAR A MÉDIA DE ASSINANTES DO SEU BLOG

Se você está usando o Feedburner para queimar os seus RSS Feeds, você irá reparar que o contador de subscritores apenas mostra o número de subscritores que leram suas matérias no dia anterior. No entanto, se você pretender mostrar a média dos últimos 7 dias, existe um truque para isso. Copie e cole o seguinte código para o ficheiro functions.php do seu template:

function get_average_readers($feed_id,$interval = 7){
	$today = date('Y-m-d', strtotime("now"));
	$ago = date('Y-m-d', strtotime("-".$interval." days"));
	$feed_url="https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$feed_id."&dates=".$ago.",".$today;
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_URL, $feed_url);
	$data = curl_exec($ch);
	curl_close($ch);
	$xml = new SimpleXMLElement($data);
	$fb = $xml->feed->entry['circulation'];

	$nb = 0;
	foreach($xml->feed->children() as $circ){
		$nb += $circ['circulation'];
	}

	return round($nb/$interval);
}

E depois cole o seguinte código onde pretende mostrar sua média de assinantes, trocando o escolawp pelo seu ID do Feedburner:

<?php
$nb = get_average_readers('escolawp');
echo "Temos ".$nb." subscritores!";
?>

8. SEPARAR OS RSS FEEDS PARA CUSTOM POST TYPES

Se gostaria de linkar um RSS Feed em separado para um determinado custom post type, utilize o seguinte código:

http://www.escolawp.com/feed/?post_type=livros

Se desejar poderá ainda criar um Feed para um custom post type e uma taxonomia:

http://www.escolawp.com/feed/?post_type=livros&genre=romance

9. DESLIGAR OS RSS FEEDS COMPLETAMENTE

Se está criando um site que não usa RSS Feeds e pretende desligá-los por completo, isso é bastante fácil – bastando copiar e colar o seguinte código para o ficheiro functions.php do seu template:

/**
* disable RSS feed
*/
function wp_disable_feed() {
   wp_die( __('Sorry, no feeds available, return to <a href="'. get_bloginfo('url') .'">homepage</a>') );
}

add_action('do_feed', 'wp_disable_feed', 1);
add_action('do_feed_rdf', 'wp_disable_feed', 1);
add_action('do_feed_rss', 'wp_disable_feed', 1);
add_action('do_feed_rss2', 'wp_disable_feed', 1);
add_action('do_feed_atom', 'wp_disable_feed', 1);

10. CRIE O SEU PRÓPRIO RSS FEED CUSTOMIZADO

Se você necessita de um RSS Feed customizado, por exemplo, um feed indexando apenas algumas categorias + tags, ou se você redireccionada todos os RSS Feeds do WordPress para o Feedburner mas ainda assim pretende conseguir puxar um Feed para uma categoria específica, a solução passa por usar um template de página. Copie, cole e guarde o seguinte código num ficheiro chamadp “custom-feed.php” e carregue-o para a diretoria do seu template. Depois, crie uma nova página no WordPress e escolha o template “custom-feed.php” e guarde-a.

<?php
/*
Template Name: Custom Feed
*/

$numposts = 5;

function yoast_rss_date( $timestamp = null ) {
  $timestamp = ($timestamp==null) ? time() : $timestamp;
  echo date(DATE_RSS, $timestamp);
}

function yoast_rss_text_limit($string, $length, $replacer = '...') {
  $string = strip_tags($string);
  if(strlen($string) > $length)
    return (preg_match('/^(.*)\W.*$/', substr($string, 0, $length+1), $matches) ? $matches[1] : substr($string, 0, $length)) . $replacer;
  return $string;
}

$posts = query_posts('showposts='.$numposts);

$lastpost = $numposts - 1;

header("Content-Type: application/rss+xml; charset=UTF-8");
echo '<?xml version="1.0"?>';
?><rss version="2.0">
<channel>
  <title>Atualizações de Email</title>
  <link>http://www.escolawp.com/</link>
  <description>Os últimos artigos do blog EscolaWP.com.</description>
  <language>pt-BR</language>
  <pubDate><?php yoast_rss_date( strtotime($ps[$lastpost]->post_date_gmt) ); ?></pubDate>
  <lastBuildDate><?php yoast_rss_date( strtotime($ps[$lastpost]->post_date_gmt) ); ?></lastBuildDate>
  <managingEditor>geral@escolawp.com</managingEditor>
<?php foreach ($posts as $post) { ?>
  <item>
    <title><?php echo get_the_title($post->ID); ?></title>
    <link><?php echo get_permalink($post->ID); ?></link>
    <description><?php echo '<![CDATA['.yoast_rss_text_limit($post->post_content, 500).'<br/><br/>Continue a ler: <a href="'.get_permalink($post->ID).'">'.get_the_title($post->ID).'</a>'.']]>';  ?></description>
    <pubDate><?php yoast_rss_date( strtotime($post->post_date_gmt) ); ?></pubDate>
    <guid><?php echo get_permalink($post->ID); ?></guid>
  </item>
<?php } ?>
</channel>
</rss>

Até já e bons truques!

Autor: Paulo Faustino

Blog do Autor | Artigos do Autor:

Fundador da Escola Dinheiro. É um empreendedor e blogueiro que dedica a sua vida à produção e partilha de conteúdos de grande qualidade, contando já com alguns dos mais reconhecidos blogs de Portugal e do Brasil.

Templates Wordpress que Recomendamos:

  • U-Design WordPress Theme
  • Tersus - Responsive WordPress Theme
  • Modernize - Flexibility of Wordpress
  • Good Space - Responsive Minimal WP Theme
  • Sterling - Responsive Wordpress Theme
  • Karma - Clean and Modern Wordpress Theme
  • Doover Premium WordPress Theme
  • MayaShop - A Flexible Responsive e-Commerce Theme
  • SmartStart WP - Responsive HTML5 Theme
  • Striking Premium Corporate & Portfolio WP Theme
  • Core Minimalist Photography Portfolio
  • King Size - fullscreen background WordPress theme

Gostou deste artigo? Então torne-se fã do Blog no Facebook!


Theme Forest

Comentários dos Alunos


  1. RBTech.info
    13.01.2011

    Muito boas dicas, porem a dicas número 5 está com o código errado… pois apresenta o mesmo das thumbnails para feeds.

    Att
    Ricardo.

    Responder


    • Paulo Faustino
      14.01.2011

      Olá Ricardo, obrigado pelo comentário! Agradeço seu reparo. Foi de facto uma falha grave na redacção da peça, mas entretanto já retificámos de acordo :) Obrigado pelo reparo!

      Abraços

      Responder


  2. Gustavo D. Castro
    13.01.2011

    Gostaria de saber como faço para por exemplo oferecer um e-book a todos que se cadastrarem no rss feed por email atravez do feedburnner?

    Responder


    • Paulo Faustino
      14.01.2011

      Olá Gustavo, obrigado pelo comentário! Se olhar para a solução Nº3 do nosso artigo, poderá usá-la para colocar dentro de seus feeds um link para o download do seu Ebook, por exemplo. Esse link só fica disponível para quem lê seus feeds, portanto, cumpre o objetivo que você procura :)

      Responder


  3. RBTech.info
    14.01.2011

    Complementando ainda mais a opção 5, poderíamos acrescentar ainda dentro do if a opção $query->is_search para que a referida categoria não seja listada nas pesquisas feitas no site, caso contrário quando algum usuário fizer uma busca no blog a categoria será listada.

    Responder


  4. Alyen
    16.01.2011

    Alguen sabe algun leitor criar um bloco RSS onde mostre as img do RSS ?

    Responder


  5. David
    18.04.2011

    E como alterar o número de posts exibidos em um custom feed? por exemplo para exibir 500… As mudanças nas Configurações > Leitura, não funcionam com os cutom feeds. Alguem ajuda?

    Responder


  6. Anderson Juhasc
    16.06.2011

    Olá Paulo Faustino, tudo bem ?
    Bom, estou precisando pegar o avatar dos autores do meu blog por rss e estou quebrando a cabeça para adicionar no rss… poderia me dar um luz ?

    exemplo de link: blog.com/?feed=rss2&author

    Grato!

    Responder


  7. SIBA
    26.09.2011

    Tentei adicionar a dica #1 ao meu RSS, porém deu erro. Este código deve ser colado no arquivo functions.php do tema né isso?
    Porque será que deu erro?

    Desde já agradeço a atenção.

    Abraçoes!

    Responder

Comente o Artigo!

RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
11485

Subscrever Newsletter
Subscreva a Newsletter:


Elegant Themes

Wix

Theme Forest

Mojo Themes



Assine a Escola Wordpress Assine a Newsletter da Escola Wordpress Escola Wordpress no Twitter Escola Wordpress no Facebook Escola Wordpress no Youtube Escola Wordpress no Google Buzz