X

Remover Código Desnecessário do wp_head

O WordPress inclui muitas coisas através do hook wp_head(), presente na maioria dos temas. Eu consideraria a maior parte disso desnecessária. Algumas linhas de código extra no seu cabeçalho provavelmente não vão deixar seu site muito mais lento, mas eu gosto de manter as coisas o mais limpas e eficientes possível.

Neste post rápido, vou explicar como remover o seguinte da saída através do hook wp_head.

  • Link Really Simple Discovery (RSD)
  • Link do Windows Live Writer
  • Aviso de gerador do WordPress
  • Links relacionais de postagem

Continue lendo para a descrição de cada um deles para ver se você precisa deles ou não, e como removê-los.

Really Simple Discovery

Este é o código que exibe o seguinte código no seu cabeçalho:

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />

Este é o mecanismo de descoberta usado por clientes XML-RPC. Se você não tem ideia do que isso significa e/ou não integra serviços como o Flickr com seu site WordPress, provavelmente é seguro removê-lo com o seguinte código no arquivo functions do seu tema.

remove_action('wp_head', 'rsd_link');

Windows Live Writer

É por isso que você vê o seguinte código no seu cabeçalho.

<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />

Se você não usa o Windows Live Writer, então este código é completamente inútil para você e deve ser removido.

remove_action('wp_head', 'wlwmanifest_link');

Gerador do WordPress

Isso é o que exibe o número da sua versão do WordPress no seu cabeçalho.

<meta name="generator" content="WordPress 2.8.4" />

Ninguém realmente precisa saber a versão exata do WordPress que você está usando, então é seguro remover esta linha de código.

remove_action('wp_head', 'wp_generator');

Links Relacionais de Postagem

Links relacionais de postagem são o motivo pelo qual essas coisas são exibidas em várias páginas.

<link rel='index' title='Main Page' href='http://www.themelab.com' />
<link rel='start' title='Article in the distant past' href='http://www.themelab.com/hello-world/' />
<link rel='prev' title='The Post Before This One' href='http://www.themelab.com/post-before/' />
<link rel='next' title='The Post After This One' href='http://www.themelab.com/post-after/' />

Eu ainda não encontrei um motivo real para manter isso. Alguns navegadores podem usar este código para navegar no seu site, embora você provavelmente possa obter o mesmo efeito de um tema bem projetado. Você precisará de três linhas para eliminá-los todos.

remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');

Template functions.php

Para sua conveniência, aqui estão todos combinados para facilitar a cópia e colagem no arquivo functions.php do seu próprio tema.

<?php
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'start_post_rel_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'adjacent_posts_rel_link');
?>

Na verdade, este é todo o arquivo functions.php que estou usando no meu novo tema tweet archive. Se você der uma olhada no código, a tag <head> contém apenas três linhas: a declaração meta charset, a tag title e o link da folha de estilo.

Uma Nota Sobre Temas Lançados

Ao desenvolver temas para lançamento, tome cuidado ao remover alguns destes, especialmente os dois primeiros: suporte a XML-RPC e Windows Live Writer.

A razão deve ser bastante óbvia, pois alguns de seus usuários provavelmente usarão algo como o Windows Live Writer e voltarão a você pedindo suporte quando não conseguirem entender por que não funciona com seu tema.

Os outros itens, o aviso de gerador do WordPress e os links de relação de postagem, provavelmente podem ser removidos com segurança em quase qualquer situação.

Conclusão

Como eu disse na introdução, não é um problema *enorme* se você não remover essas coisas e eu não chamaria isso de um "requisito" em todo novo site WordPress que você desenvolver. Se você é como eu e não gosta de linhas de código inúteis, provavelmente vai querer fazer isso de qualquer maneira, apenas para manter as coisas funcionando da forma mais limpa possível.

Você consegue pensar em outras funções que você usa para remover linhas de código desnecessário do WordPress? Me avise nos comentários.

Comentários   Deixe uma Resposta

  1. Olá, preciso de ajuda com o WordPress, pois depois de criar a página no WP, vi no código (código fonte) que com cada nome de classe o page builder adicionou o nome dele, o que me confunde. Por exemplo, estou usando ELEMENTOR e criando uma página, vi no código fonte o nome da classe ".elementor-column-wrap"… agora o problema é que quero remover as palavras elementor antes do nome da classe. Quero manter o nome da classe o mais simples possível. nenhum nome de page builder deve estar lá… por favor, me avise.

    1. Você não pode removê-lo ou quebrará o Elementor

  2. Olá,

    Por favor, diga-me onde colocar este código no functions.php?
    Alguns blogs disseram que deve ser colocado no final, outros blogs que pode ser colocado no início?

    Agradeço desde já

    1. A posição não importa. Você pode adicioná-lo no início ou no final.

  3. Como posso remover de wp_head()

  4. Olá,
    Obrigado por este post, mas por favor, adicione também o código para remover o script de emoji.
    Atenciosamente

      1. Muito obrigado pela ajuda. Só quero dizer que meu site atingiu velocidade de 99 no mobile e 98 no desktop no teste de velocidade da página do Google por causa do código mencionado acima no post e do código de remoção de emoji.

        1. Fico feliz que tenha ajudado!

  5. Não sei por que os desenvolvedores de temas colocam isso em seus temas como padrão em primeiro lugar.

    Usei um tema muito básico e o modifiquei para atender ao meu site, mas todo esse lixo ainda estava no meu cabeçalho (junto com outro lixo que o WordPress carrega automaticamente).

    Obrigado por este post, achei muito útil.

  6. Acabei de encontrar este post com base no adjacent_posts_rel_link_wp_head – Isso pode funcionar para você e seu público, então acho que é relevante… não estou tentando fazer spam, mas…
    Coloquei um punhado de funções e coisas de limpeza que espero que funcionem para as instalações de todos para ajudar a limpá-lo e se livrar de algumas das porcarias como as coisas do wp_head que você postou aqui.

    o plugin, para falta de um nome melhor, é Selfish Fresh Start… egoísta porque são as coisas que acho que deveriam ser removidas de toda instalação, lol.

    http://wordpress.org/extend/plugins/selfish-fresh-start/

  7. Sim, ele usou wp_head. Isso é algo com que preciso me preocupar?

  8. Não tenho nenhum desses no meu cabeçalho, exceto pelo gerador do WordPress – no meu tema, isso está em um comentário com "deixe isso para estatísticas, por favor"

    O que é isso?

    1. Seu tema usa o hook wp_head? Parece que essa parte de “deixar isso para estatísticas” está codificada diretamente no arquivo header.php do seu tema.

  9. Ótimo, embora eu deva acrescentar que houve uma pequena mudança no WP 3.0 com adjacent_posts_rel_link. Agora é adjacent_posts_rel_link_wp_head (não tenho certeza por que mudou).

    Descobri isso indo em /wp-includes/default-filters.php e revertendo o que estava listado na seção add_action.

    Alguma ideia de por que isso mudou?

    1. Mudamos o nome porque modificamos (melhoramos) como ele funciona de uma maneira incompatível com versões anteriores. Tudo bem para o core, pois é uma melhoria, mas se um plugin estivesse usando o plugin original da maneira que o core faz, não queremos alterar essa funcionalidade.

      A nova função na verdade apenas chama a função antiga — http://core.trac.wordpress.org/ticket/10867

  10. Olá. Você sabe como posso remover o jquery sendo chamado automaticamente? Obviamente, ele precisa ser chamado no site de administração, mas no lado do cliente, eu uso mootools, então não quero que duas bibliotecas de js sejam chamadas.

    Obrigado
    Tom

  11. Excelente post, Leland! Os links relacionais sempre me incomodaram um pouco, mas eu nunca investiguei como removê-los.

    Acho que também vale a pena mencionar que muito do código adicionado por plugins também pode ser removido: http://wptheming.com/2009/12/optimize-plug-in-script-wordpress/

    1. Ei Devin, obrigado pelo comentário. Esse é um bom ponto sobre o código de plugins. Especialmente quando plugins como Contact Form 7 carregam automaticamente CSS e JS em todas as páginas, quando você geralmente só precisa deles em uma (ou em qualquer página que realmente tenha um formulário de contato).

Adicionar um comentário

Ficamos felizes que você escolheu deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!