Como Criar Um RSS Feed No Seu Site

rss feedQuem trabalha com internet, certamente já ouviu falar em RSS, correto? Mas… o que é o RSS Feed?

O RSS Feed é um formato de arquivo usado para publicar conteúdos. É útil, pois podemos sobrescrever as informações contidas nesses arquivos e atualizá-los, conforme sua preferência.

Como Criar O RSS Feed?

Abaixo veremos 2 exemplos de como ler as informações no RSS Feed (1 em formato simples e outro em formato dinâmico).

EXEMPLO 01:


<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>Título do RSS Feed</title>
<description>Descrição do seu RSS Feed.</description>
<link>http://www.seusite.com</link>
<copyright>Copyright (C) 2010 seusite.com</copyright>
<item>
<title>Examplo 01</title>
<description>Descrição do seu arquivo HTML.</description>
<link>http://www.seusite.com/examplo01.html</link>
<pubDate>Mon, 29 Dec 2008 22:10:00 -0600</pubDate>
</item>
<item>
<title>Examplo 02</title>
<description>Descrição do seu arquivo HTML.</description>
<link>http://www.seusite.com/examplo01.html</link>
<pubDate>Thu, 03 Jan 2008 14:27:15 -0600</pubDate>
</item>
</channel>
</rss>

Bem… como você pode ver acima, o script acima é simples, porém, pode ser útil se você não pretende implementar conteúdo dinâmico em seu site.

Veja abaixo um outro exemplo. Exemplo esse que você pode inserir em seu site, caso faça uso de conteúdo dinâmico.

EXEMPLO 02:


<?
#Declaramos o tipo de documento que geraremos
header("Content-Type: application/xml; charset=ISO-8859-1");

#Declaramos a data e hora de expiração deste documento (esta como sendo 26/07/1997 para forçar a leitura deste PHP sem que ele esteja em cache)
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

#Declaramos a data e hora da última modificação deste documento (sempre sendo a data e hora que ele estiver sendo acessado)
header("Last-Modified: ". gmdate("D, d M Y H:i:s") ." GMT");

#Declaramos os controles de cache para não permitir nenhum tipo de cache e para forçar a leitura deste PHP sem que ele esteja em cache
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

#Declaramos a versão do XML utilizada e seu encoding
echo '<' . '?xml version="1.0" encoding="ISO-8859-1" ?' . '>';
?>
<rss version="2.0">
<channel>
<title>Título do seu RSS Feed</title>
<link>Url do seu site</link>
<description>Descrição do seu RSS Feed</description>
<language>pt-br</language>
<webMaster>seuemail@seusite.com</webMaster>
<?
#Conexão ao banco de dados
$conexao = mysql_connect("seu_host", "seu_nome_de_usuario", "sua_senha");
$db = mysql_select_db("seu_banco_de_dados");

#Realizando o SELECT dos dados para gerar o feed RSS a partir deles (é utilizado o limite de 20 registros para o feed não ficar muito extenso)
$sql = "SELECT campos FROM tabela ORDER BY id DESC LIMIT 20";
$resultado = mysql_query($sql)
or die (mysql_error());

while ($linha=mysql_fetch_array($resultado)) {
       $id = $linha["id"];
       $titulo = $linha["titulo"];
       $descricao = $linha["descricao"];

       echo "<item>";
       echo "<title>$titulo</title>";
       echo "<link>http://www.seusite.com/arquivo.php?id=$id</link>";
       echo "<description>$descricao ...</description>";
       echo "</item>";
}
?>
</channel>
</rss>

Como você pode ver no exemplo acima, este exemplo lhe dá a possibilidade de inserir conteúdo dinâmico em seu RSS Feed, baixando as informações diretamente da base de dados.

Como Fazer Com Que O Browser Reconheça O Seu RSS Feed?

Após configurar o conteúdo, a maior preocupação de quem inicia com o RSS Feed é torná-lo acessível a todas as pessoas!

Para que ele seja encontrado, é necessário disponibilizar no HEAD de seu site o trecho abaixo:


<link rel="alternate" type="application/rss+xml" title="Title of the feed (RSS 2.0)" href="rss.php" />

OBS.: Não se esqueça de especificar no HREF a localização correta do script.

Bem… esse é um exemplo simples, mas se você implementar esse conteúdo a seu site, certamente aumentará e muito o seu número de visitas.

Espero que esses exemplos sejam úteis.

Download do código utilizado neste tutorial: Como Criar Um RSS Feed No Seu Site

Be Sociable, Share!

7 Comentários

  1. Jose Pereira

    Li esta pagima com muita atenção, mas no ficheiro php , dá-me alguns erros como este por exemplo

    Erro no processamento de XML: formatado incorretamente
    Posição: http:// xx.xxx.x.xxx/internet/rssidn.php Número da linha 1, coluna 2:

    Precisava de saber o que se passa, pois crio um ficheiro php e coloco o teu código entre , não sei o que esta a correr mal, ou diz que houve falha de carregamento, obrigado fico aguardar alguma resposta

  2. Jose Pereira

    Já agora os meus links são deste tipo http:// xxx.gov.pt/index.php?mod=100&area=140, pois ao colocar no ficheiro rss não funciona, só se estiver qualquer tipo de extensão, porque será ???

  3. Marcio

    posso usar na descrição elementos como tabelas ou imagens?

  4. Charles

    Opa, obrigado pela ajuda! Muito útil, e fuciona perfeitamente! Obrigado!

  5. Felipe Regalgo

    Voce disponibilizou apenas 20 feeds. E quando o client quer buscar mais… Como que faz?

    abs

Participa! Comenta...