Reduza o peso do WordPress com a minha checklist pessoal. De scripts de emoji a estilos Gutenberg – saiba como manter o seu site leve sem perder funcionalidades.
PT-PT

Como remover bloat do WordPress sem partir o site

5.00 /5 - (12 votes )
Última verificação: 1 de maio 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 qué 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 útilizados.
  • 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 sé os seus útilizadores 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 suporté a emoji

O WordPress converte emojis de texto em imagens é adiciona scripts de deteção. Sé os seus visitantes têm suporté 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 é 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 dé 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 dé 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 dé 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. Sé 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 dé 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, testé o seu site usando:

  1. Google PageSpeed Insights – Verifiqué 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 dé uma pontuação PageSpeed perfeita.

Exploré os nossos desenvolvimento profissional WordPress para levar o seu projeto mais longe.

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 Diretiva NIS2 (2022/2555) deveria ter sido transposta para o direito nacional até 2024-10-17. O Regulamento DORA (2022/2554) aplica-se diretamente desde 2025-01-17. Para o operador de um site WordPress, isto significa obrigações concretas se o site disser respeito a uma entidade regulada. Explicamos sem pânico, com referências aos textos dos atos.
wordpress

NIS2 e DORA em WordPress: o que um site tem de cumprir em 2026

A Diretiva NIS2 (2022/2555) deveria ter sido transposta para o direito nacional até 2024-10-17. O Regulamento DORA (2022/2554) aplica-se diretamente desde 2025-01-17. Para o operador de um site WordPress, isto significa obrigações concretas se o site disser respeito a uma entidade regulada. Explicamos sem pânico, com referências aos textos dos atos.

WCAG 2.2 tornou-se Recomendação W3C a 2023-10-05. O Ato Europeu de Acessibilidade (Diretiva 2019/882) aplica-se a partir de 2025-06-28. A Barrierefreiheitsstärkungsgesetz alemã transpõe-o para o direito federal na mesma data. Este artigo é o mapa de implementação para um sítio WordPress em 2026.
wordpress

WCAG 2.2, BFSG e o Ato Europeu de Acessibilidade: a stack de conformidade WordPress para 2026

WCAG 2.2 tornou-se Recomendação W3C a 2023-10-05. O Ato Europeu de Acessibilidade (Diretiva 2019/882) aplica-se a partir de 2025-06-28. A Barrierefreiheitsstärkungsgesetz alemã transpõe-o para o direito federal na mesma data. Este artigo é o mapa de implementação para um sítio WordPress em 2026.

O Cloudflare Workers executa JavaScript e WebAssembly em centenas de centros de dados em mais de 100 países. Combinar Workers com uma origem WordPress retira o caminho de leitura do servidor WordPress e transforma o WooCommerce numa loja renderizada na edge. Eis como funciona a arquitetura, onde quebra e o que medir antes de adoptar.
wordpress

Cloudflare Workers e WordPress: servir o WooCommerce na edge

O Cloudflare Workers executa JavaScript e WebAssembly em centenas de centros de dados em mais de 100 países. Combinar Workers com uma origem WordPress retira o caminho de leitura do servidor WordPress e transforma o WooCommerce numa loja renderizada na edge. Eis como funciona a arquitetura, onde quebra e o que medir antes de adoptar.