Os feed RSS são a maneira mais interessante de manter contato direto com os visitantes do seu site. Ao oferecer um feed os seus visitantes podem assinar o seu conteúdo de forma que serão informados toda vez que você publicar algum artigo e assim visitarão o seu site.

Esta semana eu estava iniciando um novo site e ao configurar o feed através do Feedburner recebi algumas mensagens de erro estranhas. Fui testando em cada navegador e cada um tinha uma mensagem diferente, mas com o mesmo sentido, claro. O Safari não apresentou erro, ele conseguiu lidar com o simples problema de ignorar alguns caracteres de nova linha antes do header do XML. O IE 9 fez o que eu esperava mesmo (algo errado) e não mostrou nada. Ao acessar o Feed vinha uma página em branco.

No Firefox o erro mostrado foi este abaixo:

Erro no processamento de XML: declaração xml ou de texto fora do início da entidade
Posição: http://feeds.feedburner.com/enderecodoFeed
Número da linha 5, coluna 1:<?xml version=”1.0″ encoding=”UTF-8″?>

No Chrome o erro do feed foi:

This page contains the following errors:

error on line 5 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.

No Ópera, o erro exibido foi:

Falha na interpretação de XML

Falha na interpretação de XML: erro de sintaxe (Linha: 5, Carácter: 0)

Reinterpretar documento como HTML
Erro:
XML declaration not at beginning of document

 

Porque este erro ocorre no feed? Pelo que vi parece ser o mesmo erro que ocorre quando você envia uma página do PHP para o Apache mas coloca caracteres antes do header do HTTP. Costuma acontecer ao deixar espaços antes das tags abertura ou após as tags de fechamento do PHP (<?php e ?>). Estes espaços em branco são na verdade caracteres de nova linha e são enviados para o Apache como HTML, mas antes do header. Isto causa o erro.

A maneira de resolver consistem em editar todos os arquivos PHP envolvidos na geração do feed que possam conter o problema. Como isto é difícil de ser feito manualmente, há um plugin que resolve. O plugin é o Fix RSS Feed e no meu caso resolveu o problema modificando o arquivo wp-blog-header.php. Pode ser que este plugin faça mais alguma coisa além do citado acima, mas dei uma olhada rápida no código de fonte e ele é bem simples. Instale o RSS Fix Feed e faça a correção do seu feed com problema.

Outra coisa que observei é que em algumas situações o RSS Fix não solucionou o problema. Aí, como eu utilizo o Feedburner para gerenciar os feeds, eu instalei e configurei o plugin FeedBurner FeedSmith e aí o problema foi resolvido. Isto possivelmente ocorre porque o Feedburner entende o feed independente dos espaços que vem antes do XML e o navegador nao!

Em outras situações o que solucionou o problema foi configurar o Feedburner para de http://www.dowordpress.com.br/feed/rss2 ao invés do padrão http://www.dowordpress.com.br/feed/. Somente isto foi o que fez o feed funcionar bem em alguns de meus sites.

A solução ajudou? Deixe um comentário!

 

 

GOSTOU? Então cadastre seu email e receba as últimas novidades

Veja também

3 comentários para “Erro no processamento de XML – Feed WordPress”

  1. Diego

    AMigo o plugin não solucionou meu problema e não sei mais o que fazer :/

  2. admin

    Oi Diego…

    Havia também um código malicioso no meu tema… que causava isto também.
    Mas no geral, é algum plugin ou arquivo do tema com espaços em branco no HTML.

Deixe um comentário

  • (não será divulgado)