Acelere o Contact Form 7
Open Source · Rufo
Contact Form 7.
Só onde ele precisa estar.
O Rufo remove automaticamente os arquivos CSS e JavaScript não usados do Contact Form 7 de todas as páginas sem formulário. Grátis no WordPress.org.
O problema
5 milhões de sites.
Todas as páginas mais lentas.
Sabia que o plugin Contact Form 7, criado por Takayuki Miyoshi, é usado em mais de 5 milhões de sites WordPress? Há anos ele é a escolha número um para formulários de contato no WordPress. É cheio de recursos e superfácil de usar. Mas, quando o assunto é velocidade, existe um grande problema. O Contact Form 7 adiciona seus arquivos CSS e JavaScript em todas as páginas do seu site, mesmo onde não há formulário de contato. E, embora esses arquivos não sejam enormes, eles ainda deixam seu site mais lento. Isso pesa muito, principalmente quando todo mundo está tentando deixar o site mais rápido.
O que o Rufo faz
Arquivos só onde há formulário.
Automático. Nada para configurar.
Instalação
Funcionando em um minuto.
- Entre no painel administrativo do WordPress.
- Abra Plugins no menu à esquerda.
- Clique em Adicionar novo plugin.
- Procure por “Rufo”.
- Instale e ative. Pronto.
Para desinstalar, desative e exclua. O Rufo não usa banco de dados nem outros recursos do seu site.
O guia
Prefere código? Veja como funciona.
Duas maneiras de impedir que o Contact Form 7 carregue seus arquivos em páginas sem formulário.
Muito bem, já identificamos o problema. Agora vamos às soluções. Aqui estão duas opções para remover esses arquivos das páginas sem formulário de contato:
Opção 1: código PHP personalizado
Você pode escrever um código PHP personalizado e adicioná-lo ao arquivo functions.php do seu tema. Esse código diz ao WordPress para não carregar os arquivos do Contact Form 7 nas páginas que não têm formulário de contato.
Mas atenção! Se você vai alterar um tema que pode ser atualizado depois, o melhor é usar um tema filho (child theme). Assim, suas alterações não somem quando o tema principal for atualizado.
Existem duas formas de fazer isso:
Opção 1, A. Use os dados exatos da página
Se você sabe o ID da página que tem o formulário de contato, pode usar este código. Ele diz ao WordPress para não carregar os arquivos do Contact Form 7 na página com o ID informado.
if ( !is_singular() && get_the_ID() != 65 ) {
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
Caso você tenha formulários de contato em várias páginas, com IDs 65 e 99:
if ( !is_singular() && !in_array(get_the_ID(), [65,99]) ) {
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
Caso prefira usar o slug da página em vez do ID.
if ( !is_singular() ) {
$page_slug = get_post_field( 'post_name', get_queried_object_id() );
$excluded_slugs = ['example-page-slug-1', 'example-page-slug-2'];
// Add your excluded slugs here
if ( !in_array($page_slug, $excluded_slugs) ) {
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
}
Opção 1, B. Procurar o shortcode do formulário de contato no conteúdo da página:
Este código verifica se o conteúdo da página contém o shortcode do Contact Form 7. Se não encontrar o shortcode, ele impede o carregamento dos arquivos CSS e JavaScript nessa página.
function globaliser_page_has_contact_form()
{
global $post;
if ( is_singular() )
{
$content = $post->post_content;
if ( has_shortcode( $content, 'contact-form-7' ) )
{
return true;
}
}
return false;
}
if ( !globaliser_page_has_contact_form() )
{
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
Opção 2: plugin Rufo para WordPress
Não quer mexer com código? Sem problema! Como alternativa, você pode usar o plugin Rufo para WordPress. Essa ferramenta prática detecta automaticamente as páginas sem formulário de contato e remove os arquivos CSS e JavaScript desnecessários. É uma solução mais simples e amigável do que escrever código personalizado.
Ele faz o mesmo que o segundo método acima: remove automaticamente os arquivos CSS e JavaScript das páginas sem formulário de contato.
Por que criamos um plugin para isso em vez de só usar código? Bom, tem gente por aí que sugere editar o plugin Contact Form 7 diretamente, mas isso não é uma boa ideia no mundo WordPress.
Além disso, pesquisamos na internet e vimos que as outras soluções também sugerem adicionar código. Então criamos este plugin para facilitar a vida de todo mundo, principalmente de quem não é da área técnica.
Ah, e se você tem interesse em criar seus próprios plugins WordPress usando uma arquitetura caprichada chamada MVC, temos outro plugin, o ATA, que pode ajudar nisso. Mas essa é uma história para outro dia!
Sua história de sucesso pode ser a próxima.
Ficou com alguma dúvida? Estamos aqui para ajudar você a tomar a decisão certa.