Back-End

16 mai, 2011

Como eliminar os problemas do seu Feed RSS

Publicidade

Os Feeds são arquivos XML que carregam consigo as atualizações de um site e necessitam de um leitor de Feed como o Google Reader para serem lidos. O WordPress oferece feeds para os posts e também os comentários dos sites por ele gerenciados. No entanto, é comum encontrar entre os muitos tópicos de discussão, usuários debatendo o não funcionamento do recurso e pior: não encontrando a solução para esse problema!

Definir quantidade deposts no Feed

Por padrão, tanto as páginas do blog, quanto o feed exibem 10 itens. Isso quer dizer que nessas condições seu feed irá exibir os últimos 10 posts publicados, os mais recentes. Para alterar essa quantidade de artigos em exibição, faça o seguinte:

  • Acesse no menu Configurações do seu painel administrativo o item Leitura;
  • Localize a guia Os feeds RSS mostram os últimos
  • Na respectiva caixa de texto informe a quantidade de posts que deseja exibir

Exibir resumos ou textos completos

O WordPress nos permite configurar o conteúdo do feed para exibir apenas os resumos dos posts ou o texto completo deles. Para optar entre um e outro, faça o seguinte:

  • Acesse a página de Leitura do seu dashboard ( Configurações > Leitura )
  • Localize a guia Para cada post em um feed, mostrar   
  • Marque a opção Texto completo ou Resumo para obter os resultados esperados

Feed com endereço inválido

Na criação dos feeds são disponibilizados pelo WordPress 4 formatos diferentes a serem utilizados: RSS, RSS2, ATOM e RDF. Muitos usuários têm problemas ao requisitar o endereço do feed dos seus respectivos sites independentemente do formato a ser utilizado. Esse problema geralmente ocorre em razão de os usuários não se atentarem para a configuração da estrutura de links.

Caso o site em questão NÃO possua configurado o recurso de URL’s amigáveis, o endereço correto para exibir o feed é:

http://www.site-exemplo.com/?feed=rss

Da mesma forma, é possível escolher em utilizar os demais formatos de feed:

http://www.site-exemplo.com/?feed=rss2
http://www.site-exemplo.com/?feed=atom
http://www.site-exemplo.com/?feed=rdf

Por outro lado, se o site SIM possuir os permalinks ativados com URL’s amigáveis, o acesso será feito através do endereço:

http://www.site-exemplo.com/feed/

Enquanto que os diferentes formatos possuirão as seguintes variações:

http://www.site-exemplo.com/feed/rss/
http://www.site-exemplo.com/feed/rss2/
http://www.site-exemplo.com/feed/atom/
http://www.site-exemplo.com/feed/rdf/

Feed dos comentários

O mesmo problema de endereçamento ocorre quando é preciso referenciar o feed de comentários de um blog gerenciado pelo WordPress. Novamente, respeitando a utilização ou não dos links permanentes o acesso será feito por:

http://localhost/wordpress/?feed=comments-rss

ou então:

http://localhost/wordpress/comments/feed/

Cabendo a definição de formatos no final da url:

http://localhost/wordpress/?feed=comments-atom
http://localhost/wordpress/comments/feed/atom/

É importante ressaltar que ao utilizar o recurso dos permalinks, as duas maneiras de endereçamento encontrarão seus feeds. No entanto, ao utilizar o formato ?feed= os links do feed não serão exibidos na forma otimizada. O funcionamento desses também continua, porém sem exibir da forma que você optou em suas configurações de links permanentes.

Feed com erro de leitura

Outro erro bastante recorrente entre os usuários do WordPress é quando o leitor de feed detecta uma formatação inválida em seus arquivos. Os erros variam de navegador e idioma porém os mais comuns são:

  • XML declaration allowed only at the start of the document
  • XML declaration not at beginning of document
  • Erro no processamento de XML: declaração xml ou de texto fora do início da entidade

Agora estamos diante de um problema bem delicado de se tratar. Na verdade, todas as três mensagens de erro citadas no exemplo (e talvez outras que possam surgir) são frutos do mesmo problema: inclusão de caracteres especiais e espaços em branco antes da criação do arquivo de feed.

Detectar o problema de criação do Feed

Para retirar esse empecilho do seu caminho é preciso detectar e solucionar a razão desse mal. Para isso, antes mesmo de realizar qualquer tarefa, faça um backup de seus arquivos e banco de dados para se certificar de que nada será perdido durante o processo de validação do feed e siga os passos a seguir:

  • Desative todos os seus plugins

Feita a desativação, verifique seu feed. Se ele estiver funcionando, já sabemos que um deles é a causa do nosso problema; caso contrário, ative-os novamente e…

  • Troque o tema atual pelo tema padrão Twentyten

Tenha certeza de que o tema padrão não sofreu nenhuma alteração também. Para isso, exporte-o do arquivo de instalação do WordPress que é mais garantido. Pode verificar que agora seu feed já estará funcionando, e acabamos de descobrir que o problema está nos arquivos do seu tema.

  • Desativei todos os plugins e ativei o tema padrão, mas o erro permanece!

Nesse caso, você deve estar exibindo o cache do seu servidor ou browser. Limpe o histórico do seu navegador e dê um refresh no endereço do seu feed. Algumas vezes, os servidores de hospedagem também demoram para atualizar a referência do seu arquivo tornando a validá-lo.

  • Corrigir arquivos causadores dos erros

Agora você já consegue exibir o seu feed, porém sem plugins ou tema desejado. Está na hora de corrigir os arquivos problemáticos. Se os plugins são a causa do problema, é preciso saber qual deles especificamente está provocando isso. Então ative-os um a um e verifique a situação do feed a cada ativação. Quando o feed deixar de ser exibido, você saberá qual o plugin defeituoso.

No caso do tema é mais fácil pois os seus arquivos já estão limitados a pasta do tema mesmo. Sabendo então onde procurar, o trabalho torna-se um pouco desgastante nessa etapa: todos os arquivos da pasta do plugin ou do tema deverão possuir como primeiro e último caracteres, um caracter válido; seja ele a abertura e fechamento do PHP <?php … ?> ou algo a ser impresso em tela. Não deixe espaços em branco!

Verifique ainda se a codificação de cada arquivo está definida para UTF-8 (sem BOM) ou ANSI. Não utilize codificação UTF-8 com BOM. O BOM do UTF-8 é uma assinatura que imprime alguns caracteres no início do arquivo e que alguns navegadores o entendem como erro também.

Solução prática

É um trabalho delicado de se fazer e que necessita de um certo grau de conhecimento para não apagar algo que não deve. Porém, existe uma outra solução que permite a qualquer usuário menos experiente também corrigir essas falhas de código: Fix RSS Feed.

Esse plugin basicamente faz um backup dos arquivos que serão utilizados para criação do seu feed e então retira todos os espaços que eles possuem e os salva novamente. Através do plugin, é possível recuperar os arquivos antigos com os espaços também.

Ative o plugin e em ‘Configurações’ acesse ‘Fix RSS Feed’. Na página do plugin, clique sobre ‘Fix wordpress RSS feed error’. Assim como ao detectar problemas, você deve limpar o cache do navegador e tentar o acesso ao feed para verificar sua funcionabilidade. Clicando sobre ‘Restore Fix’ os arquivos originais serão restaurados.

Abraço e até a próxima!