Como remover bloat do WordPress sem partir o site
PT-PT

Como remover bloat do WordPress sem partir o site

Última verificação: 1 de junho de 2026
6min de leitura
Guia
500+ projetos WP

O WordPress é uma ferramenta poderosa, mas a sua filosofia de “um tamanho serve para todos” significa que muitas vezes traz excessos que a maioria dos projetos modernos não necessita. Ao longo dos anos, aperfeiçoei um conjunto específico de snippets para eliminar o supérfluo sem comprometer a experiência principal.

Este guia não é apenas uma lista de itens para apagar; é uma abordagem estratégica ao desempenho. Foi inspirado pela excelente lista de Terence Eden, à qual juntei as minhas próprias soluções testadas em ambiente de produção.

#Porquê fazer debloat ao WordPress?

Porquê preocupar-se com alguns scripts pequenos? Porque eles acumulam-se. Cada linha desnecessária é um conflito potencial, um micro-atraso na renderização ou largura de banda desperdiçada.

O que estamos a visar:

  • Tamanho do DOM – Eliminar estilos inline não utilizados.
  • Overhead de HTTP – Desativar scripts que não deveriam estar lá.
  • Superfície de Segurança – Desativar protocolos legados como o XML-RPC.
  • Core Web Vitals – Impacto direto no LCP e CLS ao remover elementos que bloqueiam a renderização.

[!IMPORTANT] Use de cautela: Nem todo o “bloat” é inútil. Se depende do estilo específico do editor clássico ou se os seus utilizadores usam navegadores muito antigos que requerem scripts de emoji, alguns destes ajustes podem não ser adequados para si. Teste sempre primeiro em ambiente de testes (staging).

#O script completo de debloat

Adicioné o seguinté ao ficheiro functions.php do seu tema. Cada secção está comentada com explicações e links para fontes.

#1. Remover estilos do classic theme

O WordPress adiciona “classic-theme-styles” mesmo em temas personalizados. Remova-os:

//  Remover classic themé obrigatório.
function disable_classic_theme_styles() {
    wp_deregister_style( "classic-theme-styles" );
    wp_dequeue_style(    "classic-theme-styles" );
}
add_action( "wp_enqueue_scripts", "disable_classic_theme_styles" );

#2. Remover suporte a emoji

O WordPress converte emojis de texto em imagens é adiciona scripts de deteção. Se os seus visitantes têm suporte a emoji (o que todos os navegadores modernos têm), isto é desnecessário:

//  Remover WP Emoji.
//  https://www.denisbouquet.com/remove-wordpress-emoji-code/
remove_action( "wp_head",             "print_emoji_detection_script", 7 );
remove_action( "wp_print_styles",     "print_emoji_styles"              );
remove_action( "admin_print_scripts", "print_emoji_detection_script"    );
remove_action( "admin_print_styles",  "print_emoji_styles"              );
//  https://wordpress.org/support/topic/remove-the-new-dns-prefetch-code/
add_filter( "emoji_svg_url", "__return_false" );

//  Parar substituição de emoji com imagens em RSS / Atom Feeds
//  https://danq.me/2023/09/04/wordpress-stop-emoji-images/
remove_filter( "the_content_feed", "wp_staticize_emoji" );
remove_filter( "comment_text_rss", "wp_staticize_emoji" );

#3. Desativar formatação automática de texto

O WordPress “texturiza” o seu conteúdo, convertendo aspas retas em curvas, hífens duplos em travéssões, etc. Isto pode quebrar exemplos de código:

//  Remover formatação automática.
//  https://css-tricks.com/snippets/wordpress/disable-automatic-formatting/
remove_filter( "the_content",  "wptexturize" );
remove_filter( "the_excerpt",  "wptexturize" );
remove_filter( "comment_text", "wptexturize" );
remove_filter( "the_title",    "wptexturize" );

//  Mais formatação.
add_action("init", function() {
    remove_filter( "the_content", "convert_smilies", 20 );
    foreach ( array( "the_content", "the_title", "wp_title", "document_title" ) as $filter ) {
        remove_filter( $filter, "capital_P_dangit", 11 );
    }
    remove_filter( "comment_text", "capital_P_dangit", 31 );
    remove_filter( "the_content",  "do_blocks", 9 );
}, 11);

Nota: O filtro capital_P_dangit e a forma do WordPress auto-corrigir “WordPress” para “WordPress”. É agressivo e frequentemente indesejado.

#4. Remover estilos e scripts do Gutenberg

Se está a usar um tema personalizado e não depende dos estilos frontend do Gutenberg, remova-os:

//  Remover Estilos do Gutenberg.
//  https://wordpress.org/support/topic/how-to-disable-inline-styling-style-idglobal-styles-inline-css/
remove_action( "wp_enqueue_scripts", "wp_enqueue_global_styles" );

//  Remover widgets de edição do Gutenberg.
//  De https://wordpress.org/plugins/classic-widgets/
add_filter( "gutenberg_use_widgets_block_editor", "__return_false" );
add_filter( "use_widgets_block_editor", "__return_false" );

//  Remover CSS da Block Library do Gutenberg do carregamento no frontend.
//  https://smartwp.com/remove-gutenberg-css/
function remove_wp_block_library_css() {
    wp_dequeue_style( "wp-block-library"       );
    wp_dequeue_style( "wp-block-library-theme" );
    wp_dequeue_style( "wp-components"          );
}
add_action( "wp_enqueue_scripts", "remove_wp_block_library_css", 100 );

#5. Remover meta tags do header

Limpé a sua secção <head> removendo meta tags desnecessárias:

//  Remover shortlink.
//  https://stackoverflow.com/questions/42444063/disable-wordpress-short-links
remove_action( "wp_head", "wp_shortlink_wp_head" );

//  Remover RSD.
//  https://wpengineer.com/1438/wordpress-header/
remove_action( "wp_head", "rsd_link" );

//  Remover links de feed extra.
//  https://developer.wordpress.org/reference/functions/feed_links/
add_filter( "feed_links_show_comments_feed", "__return_false" );
add_filter( "feed_links_show_posts_feed",    "__return_false" );

//  Remover link api.w.org.
//  https://wordpress.stackexchange.com/questions/211467/remove-json-api-links-in-header-html
remove_action( "wp_head", "rest_output_link_wp_head" );
remove_action( "template_redirect", "rest_output_link_header", 11, 0 );

#6. Remover melhorias de imagem

O WordPress adiciona atributos sizes é outras melhorias às imagens. Se gere estas por conta própria, remova-as:

//  Remover tamanho de imagem forçado do WordPress
//  https://core.trac.wordpress.org/ticket/62413#comment:40
add_filter( "wp_img_tag_add_auto_sizes", "__return_false" );

//  Remover melhorias de <img>
//  https://developer.wordpress.org/reference/functions/wp_filter_content_tags/
remove_filter( "the_content",  "wp_filter_content_tags", 12 );

//  Parar reescrita de URLs http:// para o domínio principal.
remove_filter( "the_content", "wp_replace_insecure_home_url", 10 );

//  Remover coisas de attachment
remove_filter( "the_content", "prepend_attachment" );

//  Remover filtro de blocos
remove_filter( "the_content", "apply_block_hooks_to_content_from_post_object", 8 );

#7. Remover verificação de browser é outras funcionalidades de admin

//  Remover verificação de browser do painel de Admin.
if ( !empty( $_SERVER["HTTP_USER_AGENT"] ) ) {
    add_filter( "pre_site_transient_browser_" . md5( $_SERVER["HTTP_USER_AGENT"] ), "__return_null" );
}

//  Remover hovercards nos links de comentários na área de admin.
add_filter( "akismet_enable_mshots", "__return_false" );

#As minhas recomendações adicionais

Para além das técnicas acima, aqui estão as minhas próprias soluções para otimização adicional:

#8. Desativar XML-RPC

Se não usa aplicações externas para publicar no WordPress, desativé o XML-RPC para melhor segurança:

// Desativar XML-RPC completamente
add_filter( 'xmlrpc_enabled', '__return_false' );

// Remover link XML-RPC do head
remove_action( 'wp_head', 'rsd_link' );

#9. Remover jquery migrate

Temas e plugins modernos do WordPress raramente precisam do jQuery Migrate. Se o seu site funciona sem ele, remova-o:

function remove_jquery_migrate( $scripts ) {
    if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
        $script = $scripts->registered['jquery'];
        if ( $script->deps ) {
            $script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
        }
    }
}
add_action( 'wp_default_scripts', 'remove_jquery_migrate' );

#10. Desativar oembed

Se não incorpora conteúdo de outros sites (YouTube, Twitter, etc.), desativé o oEmbed:

// Remover links de descoberta oEmbed
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );

// Remover endpoint da REST API do oEmbed
remove_action( 'rest_api_init', 'wp_oembed_register_route' );

// Desativar auto-descoberta oEmbed
add_filter( 'embed_oembed_discover', '__return_false' );

#11. Adiar carregamento de javascript

Adicione defer a scripts não-críticos para melhor desempenho:

function add_defer_attribute( $tag, $handle ) {
    // Scripts que NÃO devem ser adiados
    $scripts_to_not_defer = array( 'jquery-core' );

    if ( in_array( $handle, $scripts_to_not_defer ) ) {
        return $tag;
    }

    return str_replace( ' src', ' defer src', $tag );
}
add_filter( 'script_loader_tag', 'add_defer_attribute', 10, 2 );

#Medir o impacto

Após implementar estas alterações, teste o seu site usando:

  1. Google PageSpeed Insights – Verifique os Core Web Vitals
  2. GTmetrix – Análise detalhada em cascata
  3. WebPageTest – Múltiplas localizações de teste e velocidades de ligação

Deverá ver:

  • Tamanho de página reduzido (menos bytes de CSS/JS)
  • Menos pedidos HTTP
  • Melhor Time to First Byte (TTFB)
  • Melhor Largest Contentful Paint (LCP)

#Conclusão

A abordagem “baterias incluídas” do WordPress é ótima para iniciantes, mas os programadores que procuram desempenho máximo precisam de cortar a gordura. As técnicas neste guia, inspiradas pelo excelente script de debloat de Terence Eden, vão ajudá-lo a alcançar uma instalação WordPress mais leve e rápida.

Lembre-se: menos é mais. Cada linha de código que remove é um potencial ponto de falha a menos, um byté a menos para descarregar, é um passo mais perto de uma pontuação PageSpeed perfeita.

Veja os nossos serviços de desenvolvimento WordPress.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

Quer implementar isto no seu site?

Se quer transformar o artigo em melhorias concretas, redesign ou num plano de implementação, posso fechar o escopo e executar.

Cluster relacionado

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

FAQ do artigo

Perguntas Frequentes

Respostas práticas para aplicar o tema na execução real.

SEO-ready GEO-ready AEO-ready 3 Q&A
O que devo remover primeiro quando o WordPress está pesado? #
Comece pelos scripts de emoji, estilos globais desnecessários, XML-RPC, meta tags antigas e CSS de blocos que não usa no frontend.
É seguro fazer debloat no ficheiro functions.php? #
É seguro se testar tudo em staging e remover apenas o que sabe que não é necessário no seu tema, plugins e editor.
Debloat melhora mesmo os Core Web Vitals? #
Muitas vezes sim, porque reduz payload, pedidos desnecessários e recursos que bloqueiam a renderização.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados

A quota de mercado do WordPress caiu seis meses seguidos, para 41,9 por cento. Uma análise sénior apoiada em dados: por que isto não é a morte da plataforma, quem está mesmo a crescer e o que muda para empresas e programadores WordPress.
web-development

O WordPress está a morrer? O que os dados de quota de mercado da W3Techs dizem mesmo

A quota de mercado do WordPress caiu seis meses seguidos, para 41,9 por cento. Uma análise sénior apoiada em dados: por que isto não é a morte da plataforma, quem está mesmo a crescer e o que muda para empresas e programadores WordPress.

Jean Galea diz que o WordPress deixou de ser a sua primeira escolha automática. Tem razão quanto ao sintoma. O diagnóstico de declínio está errado. A leitura honesta de uma agência que continua a entregar WordPress: isto é ressegmentação, não morte.
wordpress

O WordPress deixou de ser a escolha por defeito. Isto é ressegmentação, não declínio

Jean Galea diz que o WordPress deixou de ser a sua primeira escolha automática. Tem razão quanto ao sintoma. O diagnóstico de declínio está errado. A leitura honesta de uma agência que continua a entregar WordPress: isto é ressegmentação, não morte.

O fundador da Metorik, Bryce Adams, disse no WP Product Talk que a integração MCP da empresa atraiu 500 utilizadores em poucos dias após um lançamento discreto em preview, mais rápido do que qualquer funcionalidade que lançou em dez anos. Disse também que os clientes que abandonam a Metorik têm um MRR médio 40 por cento inferior ao dos retidos, sugerindo que a IA está a apanhar os casos de uso de commodity, não os casos centrais. A GravityKit acaba de tornar open-source o Block MCP para edição do WordPress ao nível de bloco. O padrão é claro: em 2026, o plugin que envia um servidor MCP é aquele que compõe. O plugin que cola uma chatbox na administração é aquele que é canibalizado.
wordpress

Porque um servidor MCP no seu plugin WordPress é a jogada de IA que sobrevive

O fundador da Metorik, Bryce Adams, disse no WP Product Talk que a integração MCP da empresa atraiu 500 utilizadores em poucos dias após um lançamento discreto em preview, mais rápido do que qualquer funcionalidade que lançou em dez anos. Disse também que os clientes que abandonam a Metorik têm um MRR médio 40 por cento inferior ao dos retidos, sugerindo que a IA está a apanhar os casos de uso de commodity, não os casos centrais. A GravityKit acaba de tornar open-source o Block MCP para edição do WordPress ao nível de bloco. O padrão é claro: em 2026, o plugin que envia um servidor MCP é aquele que compõe. O plugin que cola uma chatbox na administração é aquele que é canibalizado.