Como corrigir o erro ao desativar RSS Feeds no Perfmatters
O que é erro ao desativar RSS Feeds no Perfmatters?
A opção Disable RSS Feeds do Perfmatters, na aba Options da configuração do plugin, desliga as URLs de feed nativas do WordPress: o feed principal em barra feed, o feed de comentarios, os feeds por categoria, por autor e por tag, além das variações em RSS, RSS2, Atom e RDF. O objetivo e reduzir superficie de ataque e pedidos desnecessarios em sites que nunca publicam por RSS, como uma landing page ou uma loja sem blog.
O erro aparece quando o site na verdade ainda depende do feed. Com a opção ligada, o Perfmatters intercepta o request de feed e o redireciona para a página inicial em vez de entregar o XML. Para um leitor de feed, para o Mailchimp em uma campanha RSS to email, para o FeedBurner ou para um agregador de podcast, isso significa que o feed simplesmente parou de funcionar, mesmo que o conteúdo do site continue publicando normalmente.
Como identificar
- Ao abrir a URL do feed, em vez do XML aparece a página inicial do site, porque o request foi redirecionado para a home.
- O leitor de feed ou agregador mostra a mensagem de que o feed esta vazio, invalido ou não pode ser carregado.
- Uma campanha RSS to email do Mailchimp ou um FeedBurner deixa de buscar novos posts e não dispara mais os envios automaticos.
- Um feed de podcast hospedado no WordPress some dos diretorios e o player retorna feed não encontrado.
- Plugins que consomem o feed interno via fetch_feed param de exibir os ultimos posts, ainda que o resto do site funcione.
Como prevenir
- So ative Disable RSS Feeds em sites que comprovadamente não usam o feed, como landing pages e lojas sem blog, e nunca em sites com assinantes de RSS ou campanhas RSS to email.
- Antes de ativar, mapeie todas as integracoes que leem o feed, como Mailchimp, FeedBurner, podcast e agregadores, para não desligar um canal ativo sem perceber.
- Depois de qualquer mudanca nas opções do Perfmatters, teste a URL barra feed e revise as integracoes externas antes de considerar o ajuste concluido.
- Documente no site quem decidiu ativar a opção e por que, para que uma futura troca de equipe não reative o feed achando que foi um erro, nem mantenha desligado quebrando assinantes.
Causa
- A opção Disable RSS Feeds esta marcada na aba Options do Perfmatters e o site ainda usa o feed para Mailchimp, FeedBurner, podcast ou um leitor de RSS, entao o feed que era esperado deixou de existir.
- O site usa uma campanha RSS to email ou automação que le periodicamente a URL de feed barra feed, e com a opção ligada o Perfmatters passa a redirecionar esse request para a home em vez de servir o XML.
- Um plugin de terceiros ou um widget do tema chama fetch_feed apontando para o próprio feed interno do WordPress, que foi desligado pela opção, fazendo o bloco de ultimos posts ficar vazio.
- A opção foi ativada apenas para ganho de performance ou segurança por engano, em um site que de fato pública por blog e cujos assinantes dependem do feed para receber novos posts.
- Existe cache de página servindo a versão antiga do feed por um tempo, criando a impressao de comportamento intermitente: ora o feed antigo aparece, ora cai no redirecionamento da home depois que o cache expira.
Como resolver
- Confirme se o seu site realmente precisa do feed RSS: Antes de mexer, decida se o feed e necessário. Se o site tem blog com assinantes, usa Mailchimp RSS to email, FeedBurner, podcast ou qualquer integração que le o feed, você precisa do RSS ligado. Se e uma landing page ou loja sem blog e ninguem consome o feed, manter desativado e aceitavel.
Liste onde o feed e usado: Mailchimp, FeedBurner, leitor de RSS, podcast, agregador Se houver qualquer consumidor, o feed precisa ficar ligado - Desmarque Disable RSS Feeds na aba Options do Perfmatters: Va ao painel do WordPress, abra as configurações do Perfmatters e na aba Options localize a opção Disable RSS Feeds. Desmarque essa opção para que o WordPress volte a servir as URLs de feed normalmente, e salve as alterações.
Painel WP -> Settings -> Perfmatters Abra a aba Options Localize Disable RSS Feeds e desmarque a opção Clique em Save Changes - Limpe o cache de página e do CDN: Depois de salvar, limpe todo o cache para remover a versão redirecionada do feed que ainda pode estar armazenada. Limpe o cache do plugin de cache e também do CDN, caso use Cloudflare ou similar, para que o próximo request do feed receba o XML real.
Limpe o cache do seu plugin de cache (WP Rocket, LiteSpeed, etc.) Purgue o cache do CDN ou do Cloudflare se houver Aguarde alguns segundos antes de testar novamente - Teste a URL do feed direto no navegador: Acesse a URL do feed principal adicionando barra feed ao final do domínio. O resultado correto e o XML do feed, com os ultimos posts listados em formato RSS. Se ainda cair na home, reveja se a opção foi mesmo desmarcada e se o cache foi limpo.
Abra no navegador: https://seu-domínio.com/feed/ Confirme que aparece o XML do feed e não a página inicial Teste também /comments/feed/ se usar feed de comentarios - Revalide as integracoes que dependiam do feed: Com o feed de volta, force a releitura nas ferramentas externas. No Mailchimp, valide a URL do feed na campanha RSS. No FeedBurner ou no diretório de podcast, peca um novo fetch. Confirme que os ultimos posts voltaram a aparecer no destino.
No Mailchimp, reinsira e valide a URL do feed na campanha RSS to email No FeedBurner ou diretório de podcast, force um novo Resync ou Ping Confirme que os posts recentes voltaram a aparecer no destino
<?php
// Desabilita SELETIVAMENTE so os feeds que voce nao usa,
// mantendo o feed principal (/feed/) ativo para assinantes e Mailchimp.
// Use isto no lugar do Disable RSS Feeds quando precisar de controle fino.
add_action( 'do_feed_rdf', 'full_block_extra_feeds', 1 );
add_action( 'do_feed_atom', 'full_block_extra_feeds', 1 );
add_action( 'do_feed_rss', 'full_block_extra_feeds', 1 );
add_action( 'do_feed_atom_comments', 'full_block_extra_feeds', 1 );
add_action( 'do_feed_rss2_comments', 'full_block_extra_feeds', 1 );
function full_block_extra_feeds() {
wp_die(
esc_html__( 'Este feed nao esta disponivel. Acesse a home do site.', 'full' ),
'',
array( 'response' => 410 )
);
}
// Observacao: NAO registramos do_feed_rss2 aqui, logo /feed/ continua valido.














