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

WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site

5.00 /5 - (12 votes )
Última verificação: 1 de março de 2026
Experiência: 5+ anos de experiência
Índice

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

Adicione o seguinte 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 theme 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 e 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 travessõ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

Limpe 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 e 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 e 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, desative 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.), desative 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 byte a menos para descarregar, e um passo mais perto de uma pontuação PageSpeed perfeita.

O que é WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site?
WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site é um aspeto essencial da gestão de sites WordPress que ajuda a melhorar o desempenho, a segurança e a experiência do utilizador.
Como funciona o WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site?
WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site envolve a configuração de várias definições e a implementação das melhores práticas para otimizar o seu site WordPress.
Porque é que o WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site é importante para o WordPress?
WordPress debloat: 11 ajustes táticos que utilizo para reduzir o peso do site é crucial porque tem um impacto direto nos rankings do seu site nos motores de busca, na velocidade de carregamento e no sucesso geral.

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

Fale connosco

Artigos Relacionados