Carregamento Relâmpago: Otimize seu Site com o Botão do Facebook Assíncrono!

Foto do autor

By luis

Acelere o Carregamento do Seu Site: Implementação Assíncrona do Botão do Facebook

É comum encontrar botões de curtir, compartilhar ou seguir do Facebook integrados em diversos blogs e websites.

O código padrão do Facebook para funcionalidades sociais, como você deve saber, é carregado de forma síncrona, o que significa que ele é processado simultaneamente com outros elementos da sua página.

Essa forma de carregamento pode aumentar o tempo de carregamento geral do seu site e impactar negativamente o seu posicionamento nos resultados de busca (SEO). Além disso, essa lentidão prejudica a experiência do usuário.

Embora o botão de compartilhamento do Facebook seja importante, o código que o carrega não precisa ser processado prioritariamente. Muitos sites e blogs enfrentam tempos de carregamento mais longos justamente por conta da execução síncrona desse código.

Ao empregar o código do Facebook de maneira assíncrona, você consegue acelerar o carregamento da sua página web em um intervalo de 0,5 a 1,5 segundos. Essa melhoria é fundamental para que os botões de curtir, compartilhar ou seguir sejam exibidos de forma mais rápida e eficiente.

O código a seguir, obtido através do Facebook para Desenvolvedores, demonstra como implementar as funcionalidades de curtir e compartilhar:

<div id="fb-root"></div>
<script>(function(d, s, id) {    
var js, fjs = d.getElementsByTagName(s)[0];    
if (d.getElementById(id)) return;    
js = d.createElement(s); js.id = id;    
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=xxxxxxxxxx&version=v2.0";    
fjs.parentNode.insertBefore(js, fjs);  
}(document, 'script', 'facebook-jssdk'));</script>

Para otimizar o carregamento, basta adicionar uma simples linha de código:

js.async=true;

O código otimizado ficará da seguinte forma:

<div id="fb-root"></div>
<script>(function(d, s, id) {    
var js, fjs = d.getElementsByTagName(s)[0];    
if (d.getElementById(id)) return;    
js = d.createElement(s); js.id = id;  
js.async=true;    
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=xxxxxxxxxx&version=v2.0";    
fjs.parentNode.insertBefore(js, fjs);  
}(document, 'script', 'facebook-jssdk'));</script>

Simples, não é?

Atualização: As novas instruções fornecidas pelo Facebook já incluem o carregamento assíncrono por padrão, como pode ser visto abaixo:

<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v7.0" nonce="JekfmCeX"></script>

Utiliza WordPress? Recomendo que veja este artigo que explica como otimizar o desempenho sem usar plugins. Caso necessite de um plugin para redes sociais que não impacte a velocidade do seu site, minha sugestão é o Novashare.

Tenho certeza de que você se importa com o tempo de carregamento do seu site, e espero que essas dicas tenham sido úteis.

Gostou deste artigo? Que tal compartilhá-lo?