Mais técnicas de otimização para melhorar a velocidade do site

Mais técnicas de otimização para melhorar a velocidade do site

O desempenho da Web é um elemento essencial da experiência do usuário. Aqui, veremos algumas técnicas um pouco mais avançadas para melhorar o desempenho da web front-end.

Depois de aplicar todas essas otimizações no meu site, consegui obter uma pontuação perfeita (100/100) do PageSpeed Insights para análises de desempenho da Web para dispositivos móveis e computadores.

Otimizando a estrutura HTML

Por muito tempo, pensei que minhas referências externas de CSS e JavaScript deveriam estar dentro das <head> tags. Fazer referência a recursos JS e CSS no início de documentos HTML fez sentido para mim porque preciso dessas coisas para que minhas páginas da Web tenham aparência e funcionem corretamente.

Mas ter elementos scripte link no início do documento HTML pode bloquear a renderização da página, o que significa que o navegador não processará e exibirá nenhum elemento HTML subsequente até que os recursos tenham sido baixados e processados. Muitos arquivos JavaScript, especialmente aqueles escritos com programação assíncrona em mente, geralmente não precisam ser referenciados dentro da <head> tag e podem ser carregados mais abaixo no documento HTML para que não impeçam o navegador de renderizar o conteúdo da página. Fazer referência a arquivos CSS no final do documento HTML é um pouco mais complicado.

Isso porque quando você carrega arquivos CSS no final do documento, o usuário pode começar a ver o conteúdo da página sem nenhum estilo porque as regras de estilo da folha de estilo externa ainda não foram carregadas e processadas. Essa situação é chamada de flash de conteúdo sem estilo (FOUC).

Fazendo referência a arquivos JavaScript e CSS na parte inferior

Sempre que possível , devemos referenciar recursos externos na parte inferior do documento.

bodyPouco antes da tag de fechamento .

<html> <head> … </head> <body> …

<!– script and link elements ideally go here –> </body> </html>

Lidando com Flash de conteúdo sem estilo

Para resolver o FOUC, o que fiz foi dar ao bodyelemento um atributo de estilo embutido de 0% de opacidade.

<body style=opacity:0>

Então, na minha folha de estilo externa, redefino o bodyelemento de volta para 100% de opacidade.

body { opacity: 1 !important; }

Quando a folha de estilo externa for carregada e processada, o conteúdo será exibido.

O problema com essa técnica é que, se houver uma falha no servidor que impeça o download do arquivo CSS, o usuário verá apenas uma página em branco devido ao atributo de estilo inline fornecido ao bodyelemento.

Inline CSS e JavaScript

Você também pode incluir regras de estilo CSS dentro de <style>tags e scripts JS dentro de <script> tags diretamente em seus documentos HTML. Isso melhora a velocidade da página porque o navegador não precisa solicitar e baixar recursos externos para renderizar a página da web. No entanto, isso só é bom para pequenas quantidades de CSS e JS. Caso contrário, o documento HTML aumentará no tamanho do arquivo e seu JS e CSS não se beneficiarão do cache do navegador.

Durante anos, fomos desencorajados a incorporar nosso CSS e JS porque dificultava a modularização, dimensionamento e manutenção de nossos projetos. No entanto, agora existem muitas ferramentas de compilação que podem lidar com esses problemas. Agora é  recomendado que você inline CSS e JS que são essenciais para renderizar seu conteúdo acima da dobra para melhorar o desempenho percebido da página. Abaixo está um script que inline as regras de estilo de uma folha de estilo externa.

Isso é baseado em um exemplo encontrado nos documentos do PageSpeed Insights. O problema com esse método de inserir regras de estilo CSS é que suas regras de estilo não serão renderizadas se o usuário tiver o JavaScript desabilitado.

Related Posts

Deixe um comentário

O seu endereço de e-mail não será publicado.